/**
  * {@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);
     }
 }
Exemple #2
0
 /**
  * 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());
 }
Exemple #3
0
 /**
  * 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);
 }
Exemple #4
0
 /**
  * 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);
 }
Exemple #6
0
 /**
  * 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);
 }
Exemple #8
0
 /**
  * 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);
 }
Exemple #9
0
 /**
  * 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);
 }