【问题标题】:Magento placing order before paypal paymentMagento 在贝宝付款前下订单
【发布时间】:2015-01-19 20:53:54
【问题描述】:

我在 magento 中的 paypal 集成有问题。 如果我选择贝宝标准付款并确认订单,我会正确重定向到贝宝网站进行付款,但如果我按浏览器上的后退按钮,我会被重定向到 /checkout/cart (即为空)并且在我的后端我的订单是已放置并处于待处理状态(未显示在客户订单列表中)... 发生这种情况是因为订单是在付款处理之前下达的...... 在 OnepageController.php saveOrderAction 方法中我可以看到

$this->getOnepage()->getQuote()->save();
    /**
     * when there is redirect to third party, we don't want to save order yet.
     * we will save the order in return action.
     */
    if (isset($redirectUrl)) {
        $result['redirect'] = $redirectUrl;
    }

这是什么意思?这正是我想要的“还不想保存订单......”,不幸的是之前的几行......

$this->getOnepage()->saveOrder();

$redirectUrl = $this->getOnepage()->getCheckout()->getRedirectUrl();

而且已经下单了....

我讨厌编辑核心文件,但我试图评论上面的行,但一个异常显示我在 paypal 模块本身内部使用了订单信息(Standard.php 文件方法 getStandardCheckoutFormFields)。所以我不能轻易修改核心文件.... 我错过了什么?

非常感谢,原谅我的英语不好。

【问题讨论】:

    标签: magento paypal payment


    【解决方案1】:

    您可以为此目的使用 PayPal 快速结帐。它可以按照您想要的方式工作。

    【讨论】:

      【解决方案2】:

      我正在处理与你完全相同的问题。

      现在我正在考虑在我的模块中重写 onePage 模型和 saveOrder 操作。 我想的是删除会话被清除的部分,并在收到付款方式响应后向观察者发出事件。 不知道它是否会起作用,但很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-07
        • 2014-04-09
        • 2015-07-23
        • 2016-06-24
        • 2011-09-15
        • 2012-03-04
        • 2013-03-22
        相关资源
        最近更新 更多