微信支付部分问题总结(Config: invalid signature, chooseWXPay:fail)

 

微信支付问题总结

由于贴在网页的图片无故消失了,我上传了一份doc文档

http://download.csdn.net/detail/free555/9179515


1.   Config: invalid signature

http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign提供的工具校验得到是signature和我自己在后台计算出来的是一致的

 

在网络上找到的一些相关讨论

http://segmentfault.com/q/1010000002520634

http://segmentfault.com/q/1010000002502269/a-1020000002549180


官方的说明: 



基本可以确定是签名使用的URL不一致导致的,因此只有在前台和后台把签名要用到的数值dump出来对比看看

前台js code

                               alert("nonceStr:" + nonce );

                                alert("timeStamp = " + timestamp);

                               alert("pay_appid = " + appId);

                               alert("location=" + location.href.split('#')[0]);

                               alert("URL=" + data.url)

                               alert("sha1 sign=" + signature);

 

后台 code

          string1 = "jsapi_ticket=" + jsapi_ticket +

                  "&noncestr=" + nonce_str +

                  "&timestamp=" + timestamp +

                  "&url=" + url;

        System.out.println("tobe sign str = " +string1);

对比URL

后台

url=http://XXX/XXX/pay/weixin_pay.html?code=031a8aab748b0dfdfb9a528426acfa51&state=1@a9e82d33-619d-402d-9c32-e36d3813fa6f88

前台

url=http:// XXX/XXX /pay/weixin_pay.html?code=031a8aab748b0dfdfb9a528426acfa51&state=1%40a9e82d33-619d-402d-9c32-e36d3813fa6f88

解法:将后台的URL中的@转义为%40


2.   chooseWXPay:fail

 

 

http://mp.weixin.qq.com/wiki/home/index.html中对API的描述

 

在debug问题1的时候,看到这个描述后,于是在后台做MD5签名的时候使用的字符串去掉了key

MD5 signsrc:appId=xxxx&nonceStr=xxxxxx&package=prepay_id=xxxx&signType=MD5&timeStamp=1444789363

但是一直提示chooseWXPay:fail

网络上的一些讨论


但是我加上appId后一样会有这样的提示,于是我找了一天Iphone测试,发现Iphone上回提示签名错误,于是我突然想到在debug问题1的时候我不MD5签名字串做了修改,于是将其作了修改,终于成功了。

MD5 sign src: appId=xxxx&nonceStr=xxxxxx&package=prepay_id=xxxx&signType=MD5&timeStamp=1444789363&key=xxx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值