コード例 #1
0
 /**
  * Fetch transaction details info
  *
  * @param Mage_Payment_Model_Info $payment
  * @param string $transactionId
  * @return array
  */
 public function fetchTransactionInfo(Mage_Payment_Model_Info $payment, $transactionId)
 {
     /** @var Mage_Sales_Model_Order_Payment_Transaction $transaction */
     $transaction = Mage::getModel('sales/order_payment_transaction')->load($transactionId, 'txn_id');
     $checkout_transaction = $transaction->getOrder()->getPayment()->lookupTransaction(null, Mage_Sales_Model_Order_Payment_Transaction::TYPE_ORDER);
     $reconcile = $this->reconcile($checkout_transaction->getTxnId());
     // Get the current details
     $transaction_details = $payment->getAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
     // Try to extract transaction details from the Gateway response
     if ($reconcile->unique_id == $transactionId) {
         $transaction_details = $reconcile;
     } else {
         if ($reconcile->payment_transaction instanceof stdClass) {
             if ($reconcile->payment_transaction->unique_id == $transactionId) {
                 $transaction_details = $reconcile->payment_transaction;
             }
         }
         if ($reconcile->payment_transaction instanceof ArrayObject) {
             foreach ($reconcile->payment_transaction as $payment_transaction) {
                 if ($payment_transaction->unique_id == $transactionId) {
                     $transaction_details = $payment_transaction;
                 }
             }
         }
     }
     // Remove the current details
     $payment->unsAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
     // Set the default/updated transaction details
     $payment->setAdditionalInformation(array(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS => $this->getHelper()->getArrayFromGatewayResponse($transaction_details)), null);
     $payment->save();
     return $payment->getAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
 }
コード例 #2
0
ファイル: Alias.php プロジェクト: roshu1980/add-computers
 /**
  * saves the alias and if given the cvc to the payment information
  *
  * @param Mage_Payment_Model_Info $payment - the payment which should be updated
  * @param array                   $aliasData - the data we will update
  * @param boolean                 $userIsRegistering - is registering method in checkout
  * @param boolean                 $paymentSave - is it necessary to save the payment afterwards
  */
 public function setAliasToPayment(Mage_Payment_Model_Info $payment, array $aliasData, $userIsRegistering = false, $paymentSave = false)
 {
     if (array_key_exists('alias', $aliasData) && 0 < strlen(trim($aliasData['alias']))) {
         $payment->setAdditionalInformation('alias', trim($aliasData['alias']));
         $payment->setAdditionalInformation('userIsRegistering', $userIsRegistering);
         if (array_key_exists('CVC', $aliasData)) {
             $payment->setAdditionalInformation('cvc', $aliasData['CVC']);
             $this->setCardHolderToAlias($payment->getQuote(), $aliasData);
         }
         $payment->setDataChanges(true);
         if ($paymentSave === true) {
             $payment->save();
         }
     } else {
         Mage::helper('ops/data')->log('did not save alias due to empty alias');
         Mage::helper('ops/data')->log($aliasData);
     }
 }
コード例 #3
0
 /**
  * Fetch transaction details info
  *
  * @param Mage_Payment_Model_Info $payment
  * @param string $transactionId
  *
  * @return array
  */
 public function fetchTransactionInfo(Mage_Payment_Model_Info $payment, $transactionId)
 {
     $reconcile = $this->reconcile($transactionId);
     // Remove the current details
     $payment->unsAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
     // Set the default/updated transaction details
     $payment->setAdditionalInformation(array(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS => $this->getHelper()->getArrayFromGatewayResponse($reconcile)), null);
     $payment->save();
     return $payment->getAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
 }