如何在Magento中获取特定订单的所有交易付款项目?
我只能获得最后一个交易ID:
$transId = $order->getPayment()->getLastTransId();
有没有办法获得所有订单交易?
感谢
答案 0 :(得分:8)
最后我解决了这个问题!
我已经用这种方式解决了!
$transaction = Mage::getModel('sales/order_payment_transaction')->getCollection()
->addAttributeToFilter('order_id', array('eq' => $payment->getOrder()->getEntityId()))
->addAttributeToFilter('txn_type', array('eq' => 'capture'));
这是结果:
array(2) {
["totalRecords"] => int(1)
["items"] => array(1) {
[0] => array(10) {
["transaction_id"] => string(2) "62"
["parent_id"] => NULL
["order_id"] => string(2) "89"
["payment_id"] => string(2) "89"
["txn_id"] => string(16) "3060630120986423"
["parent_txn_id"] => NULL
["txn_type"] => string(7) "capture"
["is_closed"] => string(1) "1"
["additional_information"] => array(0) {
}
["created_at"] => string(19) "2013-08-19 09:36:07"
}
}
}
谢谢大家!
答案 1 :(得分:0)
$order->getPayment()->getMethodInstance()->getPaymentInfo();
将为您提供所有付款信息
答案 2 :(得分:0)
基于屏幕截图中的网格代码。适合我:
$transactions = Mage::getResourceModel('sales/order_payment_transaction_collection');
$transactions->addOrderIdFilter($order->getId());
$transactions->addOrderInformation(array('increment_id'));
$transactions->addPaymentInformation(array('method'));
foreach ( $transactions as $t) {
var_dump( $t->debug() );
}