コード例 #1
0
 /**
  * Capture payment
  *
  * @param Mage_Sales_Model_Order_Payment | Mage_Sales_Model_Quote_Payment $payment
  * @param mixed $amount
  * @return Mage_Paypal_Model_Payflowlink
  */
 public function capture(Varien_Object $payment, $amount)
 {
     $removePaypalTransaction = false;
     /** @var $transaction Mage_Paypal_Model_Payment_Transaction */
     $transaction = Mage::getModel('paypal/payment_transaction');
     $txnId = $payment->getAdditionalInformation('authorization_id');
     $transaction->loadByTxnId($txnId);
     if ($transaction->getId()) {
         $removePaypalTransaction = true;
         $this->_authorize($payment, $amount, $transaction, $txnId);
         $this->_addTransaction($payment, $txnId);
         $payment->setReferenceTransactionId($payment->getAdditionalInformation('authorization_id'));
     }
     $payment->setParentTransactionId($txnId);
     $payment->setRequestAmount(round($amount, 2));
     parent::capture($payment, $amount);
     if ($removePaypalTransaction) {
         $transaction->delete();
     }
     return $this;
 }
コード例 #2
0
ファイル: Payflowlink.php プロジェクト: relue/magento2
 /**
  * Capture payment
  *
  * @param Mage_Sales_Model_Order_Payment | Mage_Sales_Model_Quote_Payment $payment
  * @param mixed $amount
  * @return Mage_Paypal_Model_Payflowlink
  */
 public function capture(Varien_Object $payment, $amount)
 {
     $removePaypalTransaction = false;
     /** @var $transaction Mage_Paypal_Model_Payment_Transaction */
     $transaction = Mage::getModel('Mage_Paypal_Model_Payment_Transaction');
     $txnId = $payment->getAdditionalInformation('authorization_id');
     $transaction->loadByTxnId($txnId);
     if ($transaction->getId()) {
         $removePaypalTransaction = true;
         $this->_authorize($payment, $amount, $transaction, $txnId);
         $this->_addTransaction($payment, $txnId);
         // Handle case when order is placed via 'Pay With PayPal' button of Payflowlink iFrame
         if (!$payment->getAdditionalInformation('express_checkout_token')) {
             $payment->setReferenceTransactionId($payment->getAdditionalInformation('authorization_id'));
         }
     }
     $payment->setParentTransactionId($txnId);
     $payment->setRequestAmount(round($amount, 2));
     parent::capture($payment, $amount);
     if ($removePaypalTransaction) {
         $transaction->delete();
     }
     return $this;
 }