/** * Prepare PayPal-specific payment information * * @param \Magento\Framework\DataObject|array|null $transport * @return \Magento\Framework\DataObject */ protected function _prepareSpecificInformation($transport = null) { $transport = parent::_prepareSpecificInformation($transport); $payment = $this->getInfo(); $paypalInfo = $this->_paypalInfoFactory->create(); if ($this->getIsSecureMode()) { $info = $paypalInfo->getPublicPaymentInfo($payment, true); } else { $info = $paypalInfo->getPaymentInfo($payment, true); } return $transport->addData($info); }
/** * Instantiate and return info model * * @return \Magento\Paypal\Model\Info */ public function getInfo() { if (null === $this->_infoInstance) { $this->_infoInstance = $this->_infoFactory->create(); } return $this->_infoInstance; }
/** * Import payment info to payment * * @param Api\Nvp $api * @param \Magento\Sales\Model\Order\Payment $payment * @return void */ protected function _importToPayment($api, $payment) { $payment->setTransactionId($api->getPaypalTransactionId())->setIsTransactionClosed(0)->setAdditionalInformation(Express\Checkout::PAYMENT_INFO_TRANSPORT_REDIRECT, $api->getRedirectRequired() || $api->getRedirectRequested())->setIsTransactionPending($api->getIsPaymentPending())->setTransactionAdditionalInfo(Payflow\Pro::TRANSPORT_PAYFLOW_TXN_ID, $api->getTransactionId()); $payment->setPreparedMessage(__('Payflow PNREF: #%1.', $api->getTransactionId())); $this->_paypalInfoFactory->create()->importToPayment($api, $payment); }