私は自分の支払いモデルでgetCheckoutRedirectUrl()メソッドを実装したMagento用の支払いモジュールを実装しています。チェックアウト時にmagento支払いモジュールで現在の注文IDを取得
class My_Module_Model_Payment extends Mage_Payment_Model_Method_Abstract {}
このメソッドは、単にユーザーのリダイレクト先の決済ゲートウェイのURLを返すことになっているが、私はまた、このURLに現在の注文IDを追加する必要があります。
問題は注文IDを取得できません。私はすでにaccepted here
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
としてソリューションを試してみましたが、私は空の$の注文IDを取得します。これは私の方法ではうまくいかないようです。呼び出しはエラーを生成しないので、オブジェクトを取得します(たとえば、Mage :: getSingleton( 'checkout/session') - > getQuote() - > getSubtotal()は注文金額を返します)、orderIdは空です。
私も試してみました:
$order = Mage::getModel('sales/order');
$order->load(Mage::getSingleton('sales/order')->getLastOrderId());
$orderId = $order->getIncrementId();
再び空に$の注文IDを返します。
すべてのアイデア?
それ私の推測の命令はまだ存在しませんでした、私にこれを明確にしてくれてありがとう、私は命令がすでに以前のdbに保存されていると思った。 しかし、支払いゲートウェイがバックグラウンドで行う個別の独立したリクエスト(クッキーなし)で注文情報(金額など)を取得するための識別子が必要です。おそらく私はセッションIDとセッションを渡すことができたので、見積もり(カート内の注文)にアクセスできますか? – KoviNET
引用符と引用符の項目は、データベースにも保持されます。それは、マゼンタがカートを放棄する方法です。私はあなたが望む情報を得るためにそれらのオブジェクトを使用することに集中するでしょう。 –
私はquoteIdを支払いゲートウェイ(Mage :: getSingleton( 'checkout/session') - > getQuoteId();)に渡して問題を解決し、別のリクエストで見積もりデータを取得することができました:$ quote = Mage: :getModel( "sales/quote") - > load($ quoteId);ありがとう! – KoviNET