我希望能够允许用户在结帐时选择某个选项,
然后他们将被重定向到他们使用信用信息付款的银行页面,
然后重定向回magento并将订单设置为成功或失败,如果没有
几天来我一直在搞乱magento的代码,
我能够通过 onepage Controller “破解”进行重定向,然后返回,
但我无法从该 Controller 将订单状态更改为“已批准”
我在“保存订单操作”中的 Controller 中基本上所做的是:
- 检查用户选择的付款方式
- 如果是我需要的,请将用户发送到银行页面并附上要支付的金额
- 然后从该页面返回到检查返回状态的 php 页面,如果成功则重定向到 onepage/success/,如果不成功,则重定向到 onepage/failure
这一切都很好,但我怎样才能改变订单状态?
我尝试了此链接中的内容,但这似乎仅适用于旧版本的 Magento
http://blog.chapagain.com.np/magento-how-to-change-order-status-programmatically/
谢谢
最佳答案
请记住,成功页面并不一定会将付款状态更改为已批准。这是因为不同的付款方式可能会在不同的时间批准付款。例如,Paypal 在有机会处理付款之前不会批准付款。
您的 CC 公司是否提供可用于更新状态的回调?如果是这样,我建议使用 Paypal 模块作为如何处理此问题的模板(等待回调,更新订单状态)。如果没有,也许使用 cronjob 和他们的 API 来检查付款状态。
总体而言,不要依赖客户在付款后访问某个页面,因为在很多情况下情况并非如此。
希望有帮助!
谢谢,
乔
关于magento 将结帐付款重定向到第三方网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5728654/