当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage_Sales_Model_Order_Payment::getAuthorizationTransaction方法代码示例

本文整理汇总了PHP中Mage_Sales_Model_Order_Payment::getAuthorizationTransaction方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Order_Payment::getAuthorizationTransaction方法的具体用法?PHP Mage_Sales_Model_Order_Payment::getAuthorizationTransaction怎么用?PHP Mage_Sales_Model_Order_Payment::getAuthorizationTransaction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mage_Sales_Model_Order_Payment的用法示例。


在下文中一共展示了Mage_Sales_Model_Order_Payment::getAuthorizationTransaction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getAuthorizationTransaction

 /**
  * This function is overriden because Magento will consider a transaction for voiding only if it is an authorization
  * Braintree allows voiding captures too
  *
  * Lookup an authorization transaction using parent transaction id, if set
  * @return Mage_Sales_Model_Order_Payment_Transaction|false
  */
 public function getAuthorizationTransaction()
 {
     if ($this->getMethodInstance()->getCode() == Braintree_Payments_Model_Creditcard::PAYMENT_METHOD_CODE) {
         $invoice = Mage::registry('current_invoice');
         $collection = false;
         if ($invoice && $invoice->getId()) {
             $transactionId = Mage::helper('braintree_payments')->clearTransactionId($invoice->getTransactionId());
             $collection = Mage::getModel('sales/order_payment_transaction')->getCollection()->addFieldToFilter('txn_id', array('eq' => $transactionId));
             if ($collection->getSize() < 1) {
                 $collection = false;
             }
         } else {
             if (($order = Mage::registry('current_order')) && $order->getId() && $order->hasInvoices()) {
                 if ((bool) Mage::registry(self::REGISTRY_KEY_CANCEL)) {
                     $collection = Mage::getModel('sales/order_payment_transaction')->getCollection()->addFieldToFilter('payment_id', array('eq' => $this->getId()))->addFieldToFilter('txn_type', array('eq' => Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE));
                     if ($collection->getSize() >= 1) {
                         return false;
                     }
                 } else {
                     return false;
                 }
             }
         }
         if (!$collection) {
             $collection = Mage::getModel('sales/order_payment_transaction')->getCollection()->setOrderFilter($this->getOrder())->addPaymentIdFilter($this->getId())->setOrder('created_at', Varien_Data_Collection::SORT_ORDER_DESC)->setOrder('transaction_id', Varien_Data_Collection::SORT_ORDER_DESC);
         }
         foreach ($collection as $txn) {
             $txn->setOrderPaymentObject($this);
             $this->_transactionsLookup[$txn->getTxnId()] = $txn;
             $txn->setParentId($txn->getId());
             return $txn;
         }
     } else {
         return parent::getAuthorizationTransaction();
     }
 }
开发者ID:portchris,项目名称:NaturalRemedyCompany,代码行数:43,代码来源:Payment.php


注:本文中的Mage_Sales_Model_Order_Payment::getAuthorizationTransaction方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。