我正在为 Magento 实现自己的支付模块,在我的支付模型中实现了 getCheckoutRedirectUrl() 方法。
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。
有任何想法吗?