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