本文整理汇总了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();
}
}