【问题标题】:Order Success page error订单成功页面错误
【发布时间】:2018-05-02 11:21:44
【问题描述】:

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

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

【问题讨论】:

    标签: onepage-checkout


    【解决方案1】:

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

    这就是它抛出“需要 Id”输入异常的原因。

    避免覆盖 Onepage 控制器操作

    <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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多