官方的这个接口真是一个呵呵了得! 官方的DEMO都运行不起来,各种调试,里三层外三层跟踪对比,终于解决了一系列难题,高兴ing...
以下是一点经验分享:
原生支付URL中的参数错误:
这个主要还是验签不通过引起的,解决方法是检查字母大小写,我想这一步是跳坑的人不是太多吧,我想说的是另一种,就是官方的DEMO签名方式混乱,官网说的默认是MD5,但是SDK DEMO中,却不是这样的,这就造成了不同步,所以统一把加签方式改为一种,我的问题就这样解决了! 不过还没有完,加签是过了,但是服务器返回的消息验签又会失败,所以验签的加密算法也得统一。
httpcode非200:
第一次是因为我配置的地址是个目录,所以有跳转,这就使得微信服务器有回调时检测到301,而非200.修改好。
但是修改好以后还是这个错误,这就郁闷了! 因为回调地址是我随便写的一个ASPX页面,换成官方默认实例的,发现在手机微信上支付时错误提示变成“系统繁忙”了!于是乎检查回调信息,终于解决了另一个问题,那就是:
扫描支付模式二时可以成功支付,而支付模式一时却老报“原生支付URL中的参数错误”
这个问题因为我没有条件本地调试,所以解决的比较曲折,用了笨办法,用日志文件一步步跟踪,最后经过检查发现,原来是官方DEMO中,代码有冗余,造成在处理两次返回结果时因数据不同步而造成的冲突!哎,让我说什么好呢,腾讯公司怎么招的是这样的人?知道了问题,解决起来也不难,加了一个判断,问题就解决了!不管扫描支付模式一,还是支付模式二,都可以正常调起支付界面了,高兴中。。。。
不知道这地放留QQ号会不会不允许,我只能试一下了,大家想知道哪行代码有问题,请加我QQ吧,衣洗期叁狗狗一爱令,管理员手下留情别删除。
明天开始调试其它接口,不知道还有什么坑在等着我~ 遇上了再来这里和大家交流吧!