发布于 2016-01-18 05:27:52 | 171 次阅读 | 评论: 0 | 来源: 网友投递
OpenCart开源电子商务系统
OpenCart是国外著名的开源电子商务系统,由英国人Daniel一人独立开发,其社区非常活跃,由各国网友翻译出来的语言包已经达到18种,其中包括中文,俄文,法文,西班牙文,德文,日文等等。
使用OpenCart 开发支付宝,财付通,微信支付如果稍不用心,很容易导致很多问题,而这些错误很有可能是参数传递错误,下面小编给大家整理了一篇文章很不错,在此分享给大家,感兴趣的朋友一起看看吧
最近在给OpenCart集成支付宝,财付通和微信扫码支付,其实这些插件都是有的卖的,但是还蛮贵的,还是自己开发集成吧,省钱。但是集成过程中发现了一些坑,有opencart的坑,也有支付sdk的坑,浪费了不少时间,这里整理几条,给需要的人跨坑。
1.微信native 模式二中的notify_url 地址必须是公网地址
2.支付宝的notify_url不能是query string的形式,比如 xxx/notify.php?route=a/b,只能为xxx/notify.php
3.OpenCart 中支付宝和财付通中的同步回调处理中最好unset($_GET[‘route'])再做支付回调验证,否则因为这个多余的参数参与校检导致回调验证不成功
4.微信回调notify的时候是发送数据流,所以GET和POST是获取不到支付后异步通知过来的数据的,用官方的SDK的时候你可以这样改一下:
$GLOBALS["HTTP_RAW_POST_DATA"] = file_get_contents("php://input", "r"); $notify = new PayNotifyCallBack(); $notify->Handle(false);
5.PC浏览器的支付宝用ios设备访问的时候会弹出支付宝客户端来支付,这样是接收不到异步和同步通知的,所以需要判断一下访问设备是移动端还是客户端,如果是移动端的话得用支付宝的wap方式来支付
6.财付通支付QQ浏览器支付一直参数错误,还没找到为什么。
提醒大家在使用OpenCart 开发支付宝,财付通,微信支付的时候,一定要细心,谢谢朋友们关注phperz网站,在此脚本支架小编祝大家国庆节快乐。