3

如何在 Magento 中获取特定订单的所有交易支付项目?

我只能获得最后一个交易 ID:

$transId = $order->getPayment()->getLastTransId();

有没有办法获得所有订单交易?

这是我需要的信息

谢谢

4

3 回答 3

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"
    }
  }
}

多谢你们!

于 2013-08-19T12:48:11.507 回答
0
$order->getPayment()->getMethodInstance()->getPaymentInfo();

会给你所有的付款信息

于 2013-08-19T11:14:09.373 回答
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() );
}
于 2015-05-25T14:59:32.193 回答