基于OpenCart 开发支付宝,财付通,微信支付参数错误问题


Posted in PHP onOctober 01, 2015

最近在给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 开发支付宝,财付通,微信支付的时候,一定要细心,谢谢朋友们关注三水点靠木网站,在此脚本支架小编祝大家国庆节快乐。

原文地址:http://www.yuansir-web.com/2015/09/14/opencart-%E5%BC%80%E5%8F%91%E6%94%AF%E4%BB%98%E5%AE%9D%EF%BC%8C%E8%B4%A2%E4%BB%98%E9%80%9A%EF%BC%8C%E5%BE%AE%E4%BF%A1%E6%94%AF%E4%BB%98%E6%8E%A5%E5%85%A5%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91/

PHP 相关文章推荐
编写PHP的安全策略
Oct 09 PHP
discuz authcode 经典php加密解密函数解析
Jul 12 PHP
php下用cookie统计用户访问网页次数的代码
May 09 PHP
Php header()函数语法及使用代码
Nov 04 PHP
thinkphp的静态缓存用法分析
Nov 29 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
PHP 闭包详解及实例代码
Sep 28 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
Laravel事件监听器用法实例分析
Mar 12 PHP
PHP针对redis常用操作实例详解
Aug 17 PHP
thinkphp框架类库扩展操作示例
Nov 26 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
php中preg_match的isU代表什么意思
Oct 01 #PHP
php 利用array_slice函数获取随机数组或前几条数据
Sep 30 #PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 #PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 #PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 #PHP
解决php表单重复提交实现方法
Sep 29 #PHP
php正则匹配文章中的远程图片地址并下载图片至本地
Sep 29 #PHP
You might like
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
php常用hash加密函数
2014/11/22 PHP
linux下php上传文件注意事项
2016/06/11 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
js 匿名调用实现代码
2009/06/19 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
浅谈js闭包理解
2019/04/01 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
聊聊python中的异常嵌套
2020/09/01 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
市场营销职业生涯规划书范文
2014/01/12 职场文书
仓库管理计划书
2014/05/04 职场文书
大学生创业计划书
2014/08/14 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS