订单成功页面错误

时间:2018-05-02 11:21:45

标签: onepage-checkout

我已经能够开发一个模块,在单击PlaceOrder按钮后将客户重定向到支付网关(外部URL)。在支付网关上完成交易后,我重定向到Magento上的控制器,这使我可以获得交易状态并安全地使用自定义表。保存后,我重定向到checkout_onepage_success.xml并包含我的模板=" Vendor_Module :: checkout / success.phtml"但我一直收到错误 -

1 exception(s): Exception #0 (Magento\Framework\Exception\InputException): Id required

1 个答案:

答案 0 :(得分:0)

如果要覆盖Onepage成功控制器并实现自定义逻辑,在这种情况下,您将不会在成功操作控制器中调度的'checkout_onepage_controller_success_action'事件中获得LastOrderId。

这就是为什么它会抛出'Id required'输入异常。

避免覆盖单页控制器操作

<preference for="Magento\Checkout\Controller\Onepage\Success" type="Arman\Checkout\Controller\Onepage\Success" />

不要在成功控制器中集成您特定的代码,而是尝试使用观察者checkout_onepage_controller_success_action,它将在成功动作控制器中调度并在观察者中实现您的逻辑。

public function execute(\Magento\Framework\Event\Observer $observer)
    {
        try {        
             $orderIds = $observer->getEvent()->getOrderIds();
                 //enter code here
        } catch (Exception $e) {

        }
    }

希望,它会解决你的问题,因为我得到了同样的错误,并且用这种方法为我解决了

Screen shot for the error