ローンを支払いシステムとして承認するゲートウェイ用の magento モジュールを作成しています。
顧客が拒否される可能性が比較的高いため、失敗した場合に顧客を簡単に返品できるように、getCheckoutRedirectURL() を使用してこれを実装することにしました (チェックアウト フローの「注文を行う」前にローン ステップを配置します)。支払い選択ページへ。
次に、コントローラーの redirectAction でゲートウェイ API 呼び出しを行います。
その結果、ライトボックスで開く URL を取得して、顧客にローン プロセスを案内し、ローン ゲートウェイからいくつかの ID を取得します。
これらの追加の ID を見積もりの一部として保存し、後で見積もりを注文に変換するときに注文にコピーしたいと思います (ローン ゲートウェイからのコールバックに基づいて、Google チェックアウトと同様の変換を行いました)。
ただし、見積もりのデータを保持する方法がわかりません。
明らかな方法:
$quote->setCustId($custId);
$quote->save();
動作しません。追加のデータはデータベースに保存されないため、ポストバック ハンドラーで見積もりを注文に変換することはできません。
同じことが起こります
$quote->setData('custId', $custId);
$quote->save();
(そして、これは魔法のセッター/ゲッターを使用しないという意味で、最初のより明示的な形式であると思います)
setAdditionalData への参照を見たことがあります (たとえば、こちら) が、支払いオブジェクトでのみ利用できるように見えますが、これはまだ見積もっていないと思います (間違っている可能性はありますが?)
実際にデータベース フィールドを追加せずに、注文の一部のフィールドをデータベースに保存する方法はありますか?