/** * {@inheritdoc} */ public function setTransactionId($transactionId) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setTransactionId'); if (!$pluginInfo) { return parent::setTransactionId($transactionId); } else { return $this->___callPlugins('setTransactionId', func_get_args(), $pluginInfo); } }
/** * Test update calls from IPN controller */ public function testUpdateOnlineTransactionApprovedIpn() { $isOnline = false; $message = sprintf('Registered update about approved payment. Transaction ID: "%s"', $this->transactionId); $storeId = 50; $baseGrandTotal = 299.99; $this->payment->setTransactionId($this->transactionId); $this->payment->setData('is_transaction_approved', true); $this->mockInvoice($this->transactionId); $this->mockResultTrueMethods($this->transactionId, $baseGrandTotal, $message); $this->orderMock->expects($this->never())->method('getStoreId')->willReturn($storeId); $this->helperMock->expects($this->never())->method('getMethodInstance')->will($this->returnValue($this->paymentMethodMock)); $this->paymentMethodMock->expects($this->never())->method('setStore')->with($storeId)->willReturn($this->paymentMethodMock); $this->paymentMethodMock->expects($this->never())->method('fetchTransactionInfo')->with($this->payment, $this->transactionId); $this->payment->update($isOnline); $this->assertEquals($baseGrandTotal, $this->payment->getBaseAmountPaidOnline()); }
/** * Import direct payment results to payment * * @param \Magento\Paypal\Model\Api\Nvp $api * @param Payment $payment * @return void */ protected function _importResultToPayment($api, $payment) { $payment->setTransactionId($api->getTransactionId())->setIsTransactionClosed(0); $this->_pro->importPaymentInfo($api, $payment); }
/** * Import refund results to payment * * @param \Magento\Paypal\Model\Api\Nvp $api * @param \Magento\Sales\Model\Order\Payment $payment * @param bool $canRefundMore * @return void */ protected function _importRefundResultToPayment($api, $payment, $canRefundMore) { $payment->setTransactionId($api->getRefundTransactionId())->setIsTransactionClosed(1)->setShouldCloseParentTransaction(!$canRefundMore); $this->importPaymentInfo($api, $payment); }
/** * @param Payment $orderPayment * @param \Braintree\Transaction $transaction * @return void */ protected function setTransactionId(Payment $orderPayment, \Braintree\Transaction $transaction) { $orderPayment->setTransactionId($transaction->id); }
/** * Add payment transaction * * @param \Magento\Sales\Model\Order\Payment $payment * @param string $transactionId * @param string $transactionType * @param array $transactionDetails * @param array $transactionAdditionalInfo * @param bool $message * @return null|\Magento\Sales\Model\Order\Payment\Transaction */ protected function _addTransaction(\Magento\Sales\Model\Order\Payment $payment, $transactionId, $transactionType, array $transactionDetails = array(), array $transactionAdditionalInfo = array(), $message = false) { $payment->setTransactionId($transactionId); $payment->resetTransactionAdditionalInfo(); foreach ($transactionDetails as $key => $value) { $payment->setData($key, $value); } foreach ($transactionAdditionalInfo as $key => $value) { $payment->setTransactionAdditionalInfo($key, $value); } $transaction = $payment->addTransaction($transactionType, null, false, $message); foreach ($transactionDetails as $key => $value) { $payment->unsetData($key); } $payment->unsLastTransId(); /** * It for self using */ $transaction->setMessage($message); return $transaction; }
/** * 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); }
/** * Import payment info to payment * * @param Nvp $api * @param Payment $payment * @return void */ protected function _importToPayment($api, $payment) { $payment->setTransactionId($api->getTransactionId())->setIsTransactionClosed(0)->setAdditionalInformation(ExpressCheckout::PAYMENT_INFO_TRANSPORT_REDIRECT, $api->getRedirectRequired()); if ($api->getBillingAgreementId()) { $payment->setBillingAgreementData(['billing_agreement_id' => $api->getBillingAgreementId(), 'method_code' => \Magento\Paypal\Model\Config::METHOD_BILLING_AGREEMENT]); } $this->_pro->importPaymentInfo($api, $payment); }
/** * Import refund results to payment * * @param \Magento\Paypal\Model\Api\Nvp $api * @param \Magento\Sales\Model\Order\Payment $payment * @param bool $canRefundMore * @return void */ protected function _importRefundResultToPayment($api, $payment, $canRefundMore) { $payment->setTransactionId($api->getPaypalTransactionId())->setIsTransactionClosed(1)->setShouldCloseParentTransaction(!$canRefundMore)->setTransactionAdditionalInfo(self::TRANSPORT_PAYFLOW_TXN_ID, $api->getTransactionId()); $payment->setPreparedMessage(__('Payflow PNREF: #%1.', $api->getTransactionId())); $this->_infoFactory->create()->importToPayment($api, $payment); }