Php 我该如何填写;交易详情“;Magento Admin交易屏幕内的键/值表?

Php 我该如何填写;交易详情“;Magento Admin交易屏幕内的键/值表?,php,magento,checkout,Php,Magento,Checkout,我已经创建了一个定制的支付网关,但现在我需要处理支付后通知(就像IPN一样),以便为给定的交易附加额外的信息 我尝试了很多不同的组合,包括: Mage::getModel('sales/order')->load('#id') ->getPayment() ->getTransaction('#id') ->setAdditionalInformation('foo', 'bar') ->

我已经创建了一个定制的支付网关,但现在我需要处理支付后通知(就像IPN一样),以便为给定的交易附加额外的信息

我尝试了很多不同的组合,包括:

Mage::getModel('sales/order')->load('#id')
    ->getPayment()
        ->getTransaction('#id')
            ->setAdditionalInformation('foo', 'bar')
                ->save();
不会产生任何错误(我能够检索订单/付款/交易) 但拯救行动似乎不切实际。我还试图通过付款对象进行储蓄,但运气不佳。

我自己发现:p

$payment->getTransaction($id)
    ->setAdditionalInformation(
        Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS,
        $data
    )->save();
我自己发现的:p

$payment->getTransaction($id)
    ->setAdditionalInformation(
        Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS,
        $data
    )->save();

如果您试图包含paymnet“授权”阶段的信息,这里有一个有用的片段(请将变量更改为您自己的数据!):


如果您试图包含paymnet“授权”阶段的信息,这里有一个有用的片段(请将变量更改为您自己的数据!):

$transactin\u detail=Mage::getModel('sales/order')->loadByIncrementId($order\u id)->getPayment()->getTransaction($transId)->save();
回声';
打印(交易详情);
$transactin\u detail=Mage::getModel('sales/order')->loadByIncrementId($order\u id)->getPayment()->getTransaction($transId)->save();
回声';
打印(交易详情);

我想这取决于您使用的版本,但至少在EE 1.12.x上,这似乎是正确的方法,下面的答案不起作用。事实上,由于adminhtml块中使用了
Mage\u Sales\u Model\u Order\u Payment\u Transaction::RAW\u DETAILS
,我无法在admin中显示此信息,因此必须使用一个版本来覆盖,该版本调用getter,但没有任何参数。我想这取决于您使用的版本,但至少在EE1.12.x上,这似乎是正确的方法,下面的答案不起作用。事实上,由于在adminhtml块中使用了
Mage\u Sales\u Model\u Order\u Payment\u Transaction::RAW\u DETAILS
,我无法在admin中显示此信息,因此必须使用一个版本进行覆盖,该版本调用getter,但不带任何参数。
$transactin_detail = Mage::getModel('sales/order')->loadByIncrementId($order_id)->getPayment()->getTransaction($transId)->save();

echo '<pre>';
print_r($transactin_detail);