微信支付坑

这段时间在做微信支付开发,在公司的公众号审批下来后,我这边的测试用例也已经开发完毕,于是拿着具体的数据来调试了,大段大段的代码就不贴了,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不能接收小数点,于是我和上游的同事协调了下,传递过来的金额没有小数点,此坑也就过了。

在iphone4上,支付不成功,于是进入测试机调试,发现问题出在第一坑中,把body参数去掉,就ok了,看来在微信支付时,最好少带参数。

下午,QA说微信支付又不成功了,提示“统一支付接口中,缺少必填参数openid!trade_type为JSAPI时,openid为必填参数!”。我进入测试机中调试,发现服务器中curl请求微信平台返回的都是NULL,提示不管用,接着又打印curl的报错信息,输出为77,去curl错误码查询了下,提示是SSL证书的问题,于是我在服务器重新安装了证书,并重启了php-fpm,之后便能支付了。

[php] view plain copy

print?

  1. sudo yum install ca-certificates
  2. service php-fpm restart

今天支付接入了商城相关逻辑,写完后,我又测试了以前的会员卡支付的,发现在支付阶段提示失败,于是加上测试语句,提示“getBrandWCPayRequest:fail_no permission to execute”(注:iphone5s手机),后来找到了部小米的,进入支付提示“system:access_denied”,进入文档一查,原来是授权目录错误,改回来后就好了,应该是QA在年前改的,折腾。

关于微信支付的bug,说是报“package中的参数partner或者prepay_id为空”的错误。于是我轻车熟路的进入到调试模式,经过几次测试,发现微信支付一旦超过十万便会出现上述提示,若是打上断点调试语句的话,会发现微信返回{"errcode":"FAIL","errmsg":"invalid total_fee"}。知道微信支付额度上限,那么只需在后台设置最大不超过十万即可。

时间: 2024-08-06 08:56:10

微信支付坑的相关文章

关于IOS调用微信支付jsapi不起作用的解决方法

微信支付时,安卓机调用 jsapi可以支付,IOS就不行,点击立即支付,直接返回原立即支付页面,跟刷新页面差不多,解决方案很简单:两句话而已. 不得不说,微信支付坑太多了,我擦..... <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <asp:Button ID="btnSubmit" runat="server" Text

iOS微信支付4G网络下无法调用的坑

<iOS微信支付4G网络下无法调用的坑> 博文链接:http://www.jianshu.com/p/749cd156d598

微信支付官方SDK V3 .NET版的坑

我觉得玩微信支付最大的难点和瓶颈并不是微信支付本身,而是能够拿到微信支付的权限.首先微信支付所面向的开发对象不是个人,所以个人开发者不会有这样的权限,另外一方面公司的微信号又不会随便给个人进行开发,这样就陷入了一个比较尴尬的循环! 在好不容易搞到权限后,发现官方的sdk里面竟然有.NET版本,这让小猪欣喜如狂,赶紧下下来研究一番.这也就有了本文. 在设置好开发环境,测试白名单,,回调…确定微信后台设置已经没有问题之后. 接下来看.NET版本中的坑 默认Default.aspx中的链接竟然都是链接

iOS通俗易懂的微信支付接入和爬坑指南,十分钟轻松搞完

现在基本所有的App都会接入支付宝支付以及微信支付,也有很多第三方提供给你 SDK帮你接入,但是这种涉及到支付的东西还是自己服务器搞来的好一些,其实搞懂了 逻辑非常的简单,下面直接给大家说说下基本流程和接入需要注意的东西. 前期准备(这个东西一般来讲我们不需要来操心,但是还是稍微介绍下) 1.到微信开放平台注册账号点击打开链接 2.进入管理中心------移动应用------创建移动应用----根据页面完善应用资料 3.审核过后,通过应用详情页面,查看应用详情,查看AppID和AppSecret

《聊一聊关于微信、支付宝、银联支付故事 --- 支付坑的故事》

支付坑的故事 -最主要的是微信 ,以下都是自己的思考得来的,难免有不足之处.如有错误,欢迎给位批评指正!也可在下面留下你的QQ 咱们一起讨论问题! 总结:楼主感觉微信支付是最坑人的-没有之一! 1:微信支付步骤如下:微信支付原理:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_3 统一下单接口:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=9_1   可以查看那些是必

微信支付.NET版开发总结,好多坑

前2天,做一个手机网页的微信支付的项目,费了好些周折,记录一下. [坑1]官方邮件中下载的demo只有PHP版本,其他版本没有给链接.可能让人误以为只有PHP版本,事实上,各种版本都有. 拿到了腾讯发给客户的,微信支付商户资料,邮件中提示:证书的详细使用方案,请查看微信支付开发接口文档.根据邮件微信支付开发接口文档的链接,定向到一个新的邮件附件,里面的内容: 3. 使用公众号发起支付请求 使用JS API在微信的网页中发起支付请求,详细方法见文档中有关JS API的章节. 微信支付接口文档及de

2017年第一篇博客--关于集成友盟和微信支付等遇到的坑

前几天刚完工的一个定制单,需要用到分享,第三方登录,微信支付功能.因为一直都是用友盟去集成分享和第三方登录,所以项目初期就使用cocopads导入了友盟库. 上个月开始做支付功能,支付宝支付没有什么问题,按照官方文档顺利实现.到微信支付时候,下载了微信包,导入项目,顺利完成支付功能.然后开始做第三方登录,QQ登录和微信登录我打算直接使用友盟,QQ登录顺利完成,但微信登录就没那么顺利了.第一个坑,微信登录不走友盟回调,无限重新拉起授权.起初我以为是bundleid和appkey不对的问题,仔细校验

微信支付趟过的坑

微信支付趟过的坑 标签: 微信支付 2015-01-21 15:49 25791人阅读 评论(30) 收藏 举报  分类: 微信公众号开发 版权声明:本文为博主原创文章,未经博主允许不得转载. 这段时间在做微信支付开发,在公司的公众号审批下来后,我这边的测试用例也已经开发完毕,于是拿着具体的数据来调试了,大段大段的代码就不贴了,demo里有,这里就说说调试过程中遇到的坑. 第一坑:redirect_url参数错误.因为我选择的的“JS API”支付,这种支付需要网页授权,先获取code,再拿co

微信支付的坑 返回值 -1

最近在用android接入微信支付.. 之前的包没问题,发现这段时间突然不行了... 于是调试之. 1.开始用的支付配置参数估计有错误,然后支付失败, 获取token值 ,和 prepayId 都是正常的,等在回调支付的文件时候返回错误码-1,其他的参数 都为null 2.使用正确的 微信 appId ,key 和支付的 key 参数,然后进行打包,运行-- 依然结果 一样,前两项都OK,第三步支付界面启动不了,回调返回错误码-1. 疑惑中 --  疑惑中-- 在考虑 1)是否微信sdk 更新了