首先,我想說的是方法,你用得到的最後次序的參考是不是最有效的或準確的方法。這將是更好地做到這一點:
$order = Mage::getModel('sales/order')
->load(Mage::getSingleton('checkout/session')->getLastOrderId());
由於目前的Magento版本(企業版1.13和社區1.8),以獲得交易ID(和其他方面的支付交易和卡)的最佳途徑是來自存儲在支付對象(Mage_Sales_Model_Order_Payment或sales_flat_order_payment表)的'additional_information'字段內的'authorize_cards'字段。
整個事情會是這個樣子(你可以將此代碼添加到「應用程序/設計/前端/基/默認/模板/結算/ success.phtml」):
<?php
$order = Mage::getModel('sales/order')
->load(Mage::getSingleton('checkout/session')->getLastOrderId());
$cardsStorage = Mage::getModel('paygate/authorizenet_cards')
->setPayment($order->getPayment());
foreach ($cardsStorage->getCards() as $card) {
$lastTransId = $card->getLastTransId();
echo '<p>' . $lastTransId . '</p>';
}
?>
嘗試$命令 - > getPayment() - >的getData();看什麼來 – Guerra
我看到這在從$命令 - 獲得的數據> getPayment() - >的getData(): [ 「last_trans_id」] =>串(1)爲 「0」 這是正確的用於測試帳戶 – petermk