支払いモデルに getCheckoutRedirectUrl() メソッドを実装した Magento 用の独自の支払いモジュールを実装しています。
class My_Module_Model_Payment extends Mage_Payment_Model_Method_Abstract {}
このメソッドは、ユーザーがリダイレクトされる支払いゲートウェイの URL を返すだけのはずですが、現在の orderId もこの URL に追加する必要があります。
問題は、orderId を取得できないことです。ここですでに受け入れられているように解決策を試しました
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
しかし、空の $orderId を取得します。したがって、これは私の方法では機能しないようです。呼び出しはエラーを生成しないので、オブジェクトを取得します (たとえば、Mage::getSingleton('checkout/session')->getQuote()->getSubtotal() は注文金額を返します) が、orderId は空です。
私も試しました:
$order = Mage::getModel('sales/order');
$order->load(Mage::getSingleton('sales/order')->getLastOrderId());
$orderId = $order->getIncrementId();
これも空の $orderId を返します。
何か案は?