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 に答える