【发布时间】: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)。所以我不能轻易修改核心文件.... 我错过了什么?
非常感谢,原谅我的英语不好。
【问题讨论】: