79 'PARTNER' =>
'partner',
83 'BUTTONSOURCE' =>
'build_notation_code',
87 'RETURNURL' =>
'return_url',
88 'CANCELURL' =>
'cancel_url',
89 'INVNUM' =>
'inv_num',
91 'CORRELATIONID' =>
'correlation_id',
92 'CUSTIP' =>
'ip_address',
93 'NOTIFYURL' =>
'notify_url',
97 'PAGESTYLE' =>
'page_style',
99 'HDRBORDERCOLOR' =>
'hdrbordercolor',
100 'HDRBACKCOLOR' =>
'hdrbackcolor',
101 'PAYFLOWCOLOR' =>
'payflowcolor',
102 'LOCALECODE' =>
'locale_code',
106 'PPREF' =>
'paypal_transaction_id',
107 'PAYMENTINFO_0_TRANSACTIONID' =>
'paypal_transaction_id',
108 'TRANSACTIONID' =>
'paypal_transaction_id',
109 'REFUNDTRANSACTIONID' =>
'paypal_transaction_id',
111 'PNREF' =>
'transaction_id',
112 'ORIGID' =>
'authorization_id',
113 'CAPTURECOMPLETE' =>
'complete_type',
115 'AVSADDR' =>
'address_verification',
116 'AVSZIP' =>
'postcode_verification',
119 'CURRENCY' =>
'currency_code',
120 'PAYMENTSTATUS' =>
'payment_status',
121 'PENDINGREASON' =>
'pending_reason',
122 'PAYERID' =>
'payer_id',
123 'PAYERSTATUS' =>
'payer_status',
127 'FIRSTNAME' =>
'firstname',
128 'LASTNAME' =>
'lastname',
131 'ACCT' =>
'credit_card_number',
132 'EXPDATE' =>
'credit_card_expiration_date',
133 'CVV2' =>
'credit_card_cvv2',
134 'CARDSTART' =>
'maestro_solo_issue_date',
135 'CARDISSUE' =>
'maestro_solo_issue_number',
136 'CVV2MATCH' =>
'cvv2_check_result',
138 'USERSELECTEDFUNDINGSOURCE' =>
'funding_source',
250 'USERSELECTEDFUNDINGSOURCE',
317 'PARENTTRANSACTIONID',
329 'SHIPTOCOUNTRY' =>
'country_id',
330 'SHIPTOSTATE' =>
'region',
331 'SHIPTOCITY' =>
'city',
332 'SHIPTOSTREET' =>
'street',
333 'SHIPTOSTREET2' =>
'street2',
334 'SHIPTOZIP' =>
'postcode',
335 'SHIPTOPHONENUM' =>
'telephone',
344 'BUSINESS' =>
'company',
345 'NOTETEXT' =>
'customer_notes',
347 'FIRSTNAME' =>
'firstname',
348 'LASTNAME' =>
'lastname',
349 'MIDDLENAME' =>
'middlename',
350 'SALUTATION' =>
'prefix',
351 'SUFFIX' =>
'suffix',
352 'COUNTRYCODE' =>
'country_id',
355 'STREET' =>
'street',
356 'STREET2' =>
'street2',
358 'PHONENUM' =>
'telephone',
381 'amount' =>
'PAYMENTREQUEST_%d_ITEMAMT',
392 'name' =>
'L_NAME%d',
394 'amount' =>
'L_COST%d',
409 'PROTECTIONELIGIBILITY',
419 self::DO_DIRECT_PAYMENT => [
'RESULT',
'PNREF',
'PPREF'],
452 \
Magento\Directory\Model\RegionFactory $regionFactory,
453 \
Magento\Directory\Model\CountryFactory $countryFactory,
454 \
Magento\Paypal\Model\Api\ProcessableExceptionFactory $processableExceptionFactory,
455 \
Magento\Framework\
Exception\LocalizedExceptionFactory $frameworkExceptionFactory,
456 \
Magento\Framework\HTTP\Adapter\CurlFactory $curlFactory,
468 $processableExceptionFactory,
469 $frameworkExceptionFactory,
485 'https://%spayflowpro.paypal.com/transaction',
486 $this->_config->getValue(
'sandboxFlag') ?
'pilot-' :
'' 550 if ($this->
getData(
'paypal_transaction_id')) {
551 return $this->
getData(
'paypal_transaction_id');
553 return $this->getTransactionId();
580 switch ($methodName) {
581 case \Magento\Paypal\Model\Api\Nvp::SET_EXPRESS_CHECKOUT:
583 case \Magento\Paypal\Model\Api\Nvp::GET_EXPRESS_CHECKOUT_DETAILS:
585 case \Magento\Paypal\Model\Api\Nvp::DO_EXPRESS_CHECKOUT_PAYMENT:
599 switch ($methodName) {
600 case \Magento\Paypal\Model\Api\Nvp::DO_EXPRESS_CHECKOUT_PAYMENT:
601 case \Magento\Paypal\Model\Api\Nvp::GET_EXPRESS_CHECKOUT_DETAILS:
602 case \Magento\Paypal\Model\Api\Nvp::SET_EXPRESS_CHECKOUT:
603 case \Magento\Paypal\Model\Api\Nvp::DO_DIRECT_PAYMENT:
604 return $this->_config->getValue(
'payment_action') ==
606 case \Magento\Paypal\Model\Api\Nvp::DO_CAPTURE:
608 case \Magento\Paypal\Model\Api\Nvp::DO_VOID:
610 case \Magento\Paypal\Model\Api\Nvp::REFUND_TRANSACTION:
623 $this->_callWarnings = [];
624 if (
$response[
'RESULT'] == self::RESPONSE_CODE_APPROVED) {
627 $this->_callWarnings[] =
$response[
'RESPMSG'];
643 if (
$response[
'RESULT'] != self::RESPONSE_CODE_APPROVED) {
645 $e = new \Exception(sprintf(
'PayPal gateway errors: %s.',
$message));
646 $this->_logger->critical($e);
647 throw new \Magento\Framework\Exception\LocalizedException(
648 __(
'The PayPal gateway rejected the request. %1',
$message)
663 $result .=
'&' . $k .
'=' . $v;
675 return $this->mathRandom->getUniqueHash();
697 if ($from[
'RESULT'] != self::RESPONSE_CODE_FRAUD) {
700 $this->setIsPaymentPending(
true);
725 return $requestFields;
738 $pos = strpos($key,
'[');
740 if (
$pos ===
false) {
747 $modifiedKey = substr($key, 0,
$pos);
766 if ($this->getIsLineItemsEnabled() && $this->_cart->hasNegativeItemAmount()) {
767 $this->_lineItemTotalExportMap = [
770 'amount' =>
'PAYMENTREQUEST_0_ITEMAMT',
775 $paypalNvp = $this->nvpFactory->create();
776 $this->_doCaptureResponse = $paypalNvp->_doCaptureResponse;
777 $this->_refundTransactionResponse = $paypalNvp->_refundTransactionResponse;
778 $this->_getTransactionDetailsResponse = $paypalNvp->_getTransactionDetailsResponse;
779 $this->_paymentInformationResponse = $paypalNvp->_paymentInformationResponse;
780 $this->_headers[] =
'PAYPAL-NVP: Y';
781 $this->_setSpecificForNegativeLineItems();
790 protected function _setSpecificForNegativeLineItems()
793 $paypalNvp = $this->nvpFactory->create();
794 $this->_setExpressCheckoutResponse = $paypalNvp->_setExpressCheckoutResponse;
795 $index = array_search(
'PPREF', $this->_doExpressCheckoutPaymentResponse);
797 unset($this->_doExpressCheckoutPaymentResponse[
$index]);
799 $this->_doExpressCheckoutPaymentResponse[] =
'PAYMENTINFO_0_TRANSACTIONID';
_handleCallErrors($response)
_mapPaypalMethodName($methodName)
__construct(\Magento\Customer\Helper\Address $customerAddress, \Psr\Log\LoggerInterface $logger, Logger $customLogger, \Magento\Framework\Locale\ResolverInterface $localeResolver, \Magento\Directory\Model\RegionFactory $regionFactory, \Magento\Directory\Model\CountryFactory $countryFactory, \Magento\Paypal\Model\Api\ProcessableExceptionFactory $processableExceptionFactory, \Magento\Framework\Exception\LocalizedExceptionFactory $frameworkExceptionFactory, \Magento\Framework\HTTP\Adapter\CurlFactory $curlFactory, \Magento\Framework\Math\Random $mathRandom, NvpFactory $nvpFactory, array $data=[])
const TRXTYPE_DELAYED_VOID
const RESPONSE_CODE_FRAUD
callGetTransactionDetails()
_exportLineItems(array &$request, $i=0)
getData($key='', $index=null)
$_refundTransactionRequest
$_paymentInformationResponse
$_billingAddressMapRequest
$_lineItemsExportRequestTotalsFormat
$_lineItemExportItemsFormat
$_setExpressCheckoutRequest
_postProcessResponse($response)
$_doExpressCheckoutPaymentResponse
_getPayflowActionName($methodName)
$_debugReplacePrivateDataKeys
const RESPONSE_CODE_APPROVED
$_doDirectPaymentResponse
$_doExpressCheckoutPaymentRequest
_prepareEachCallRequest($methodName)
const PAYMENT_ACTION_AUTH
_isCallSuccessful($response)
_importFraudFiltersResult(array $from, array $collectedWarnings)
$_getTransactionDetailsRequest
const METHOD_WPP_PE_EXPRESS
const DO_EXPRESS_CHECKOUT_PAYMENT
$_getExpressCheckoutDetailsRequest
const TRXTYPE_DELAYED_CAPTURE
$_setExpressCheckoutResponse
_addMethodToRequest($methodName, $request)
_prepareExpressCheckoutCallRequest(&$requestFields)
_getDataOrConfig($key, $default=null)
$_getTransactionDetailsResponse
$_refundTransactionResponse