Magento在paypal付款之前下订单

时间:2014-11-21 16:28:00

标签: magento paypal payment

我在magento中使用paypal集成时出现问题。 如果我选择paypal标准支付并确认订单,我正确地重定向到paypal网站付款,但如果我按下浏览器上的后退按钮我被重定向到/ checkout / cart(这是空的)在我的后端我的订单是放置并处于PENDING状态(它未显示在客户订单列表中)...... 这是因为订单是在付款处理之前下达的...... 在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)。所以我不能轻易修改核心文件.... 我错过了什么?

非常感谢,请原谅我糟糕的英语。

2 个答案:

答案 0 :(得分:0)

您可以将PayPal快速结账用于此目的。它按照你想要的方式工作。

答案 1 :(得分:0)

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

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