1

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

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

Mage::getModel('sales/order')->load('#id')
    ->getPayment()
        ->getTransaction('#id')
            ->setAdditionalInformation('foo', 'bar')
                ->save();

这不会产生任何错误(我能够检索订单/付款/交易)但保存操作似乎无法操作。我也尝试通过付款对象进行保存,但没有运气。

4

3 回答 3

4

自己发现的:P

$payment->getTransaction($id)
    ->setAdditionalInformation(
        Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS,
        $data
    )->save();
于 2012-04-13T15:36:25.803 回答
1

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

public function authorize(Varien_Object $payment, $amount) {
    .....
   $_data = array( 'Tranx' => $_transax, 'Auth' => $_autho ...);
   $payment->setTransactionAdditionalInfo(
                Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS,
                $_data);
   $payment->setTransactionId($_authid)->setIsTransactionClosed(0);
   return $this
   }
于 2015-05-20T18:51:33.240 回答
0
$transactin_detail = Mage::getModel('sales/order')->loadByIncrementId($order_id)->getPayment()->getTransaction($transId)->save();

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

 

于 2015-05-26T09:05:17.590 回答