微信支付趟过的坑
来源:互联网 发布:怎么才能拥有淘宝水军 编辑:程序博客网 时间:2024/04/30 04:33
这段时间在做微信支付开发,在公司的公众号审批下来后,我这边的测试用例也已经开发完毕,于是拿着具体的数据来调试了,大段大段的代码就不贴了,demo里有,这里就说说调试过程中遇到的坑。
第一坑:redirect_url参数错误。因为我选择的的“JS API”支付,这种支付需要网页授权,先获取code,再拿code去获取openid和prepay_id。这个网页授权需要登录微信公众平台,点击左侧菜单“开发者中心”,在右侧“权限列表”中找到“网页账号”,点击最右侧的修改,把测试的网址写进去,注意不要加http。填好后,这个坑就趟过去了。
第二坑:invalide code。趟过第一坑后,会返回code,再拿此code去获取openid,但是每次到这步时微信那边都返回这个{"errcode":40029,"errmsg":"invalid code"},此坑卡了我整整半个下午。在周天的时候,我又仔细看了开发文档,没得要领,最后又仔细检查了下程序中每次回调的参数。这一检查,就发现要领了,先把回调地址写的最简单,啥参数都不带,成功;接着,一个一个参数带上去,直到带上token这个参数时,返回了invalid code。哈,我猜应该是此参数和微信那边有冲突吧,于是把此参数改成了其他的,此坑立马就过了,接下来支付就一下子调试成功。
第三坑:系统繁忙,正在升级,请稍后再试。周末调试成功后,便把测试代码整合到项目中,开始支付。但是到了支付界面时,便出现了此问题,怎么找到都发现不了问题,点击周末的测试链接又是好的。下午时又仔细看了下上下游的的传递的参数,发现了问题所在。每次上游传递过来的支付金额total_fee都是“1.00”这种类型,因为微信支付的基本单位是分,于是把手动把1.00该为1,成功了。看来是微信支付那边total_fee不能接收小数点,于是我和上游的同事协调了下,传递过来的金额没有小数点,此坑也就过了。
【更新 2015-01-26】
今天测试发现在iphone4上,支付不成功,于是进入测试机调试,发现问题出在第一坑中,把body参数去掉,就ok了,看来在微信支付时,最好少带参数。
【更新 2015-01-30】
下午,QA说微信支付又不成功了,提示“统一支付接口中,缺少必填参数openid!trade_type为JSAPI时,openid为必填参数!”。我进入测试机中调试,发现服务器中curl请求微信平台返回的都是NULL,提示不管用,接着又打印curl的报错信息,输出为77,去curl错误码查询了下,提示是SSL证书的问题,于是我在服务器重新安装了证书,并重启了php-fpm,之后便能支付了。
- sudo yum install ca-certificates
- service php-fpm restart
【更新 2015-02-27】
今天支付接入了商城相关逻辑,写完后,我又测试了以前的会员卡支付的,发现在支付阶段提示失败,于是加上测试语句,提示“getBrandWCPayRequest:fail_no permission to execute”(注:iphone5s手机),后来找到了部小米的,进入支付提示“system:access_denied”,进入文档一查,原来是授权目录错误,改回来后就好了,应该是QA在年前改的,折腾。
【更新 2015-03-30】
上午看到QA在禅道又提了个关于微信支付的bug,说是报“package中的参数partner或者prepay_id为空”的错误。于是我轻车熟路的进入到调试模式,经过几次测试,发现微信支付一旦超过十万便会出现上述提示,若是打上断点调试语句的话,会发现微信返回{"errcode":"FAIL","errmsg":"invalid total_fee"}。知道微信支付额度上限,那么只需在后台设置最大不超过十万即可。
- 微信支付趟过的坑
- 微信支付趟过的坑
- 微信支付趟过的坑
- 微信支付遇到过的坑
- 微信支付(微信支付的坑基本上都踩过一遍了)
- 微信jsApiPay支付踩过的坑
- Android接入微信支付踩过的坑
- 微信JSAPI支付躺过的坑
- Android微信支付集成和踩过的坑
- 细说版主在.net微信支付接口中趟过的坑
- Android实现微信支付和踩过的深坑
- 开发微信支付所碰过的壁
- 微信SDK踩过的那些坑。。登录分享支付
- 关于微信H5公众号支付我们踩过的坑(get_brand_wcpay_request:fail)
- 微信支付的坑
- 微信支付的坑
- 微信支付的坑
- 微信支付的坑
- SSH公钥认证
- 6.27 洗刷刷 oj 运算符重载 矩阵之和
- head&&tail
- HDFS学习笔记(1)初探HDFS
- 建立名称服务器
- 微信支付趟过的坑
- Java数据结构 Collections的一些方法介绍
- Android 中自定义分享样式弹窗
- ruby-Hash
- 统计机器学习笔记——感知机(1)
- cocos2dx-3.3 网络编程(CURL+PHP) NO.1 写好PHP代码
- 6.27 洗刷刷 oj 一个复数与一个double数 运算符重载
- 项目笔记:5.利用nginx七层分发器实现基于内容的分发
- 平方根中的异常