微信支付,分为很多种,什么H5支付,app支付,公众号支付。具体的如何使用jssdk,流程是如何我就不啰嗦啦。
我遇到的问题就是在公众号支付的时候。如题。
出现的效果:
在IOS手机上面,进入网页点击支付:出现点点点。。。然后弹出一个支付密码的输入框。
但是在Android上面,点击支付:出现点点点。。。然后就没有然后了。
我的第一反应是不是唤起支付调用jssdk的时候传参有问题,就是这里
然后断点调试,特别注意了下timestamp字段的大小写,后台验签时候返回的timeStamp是大写的S,但是我们调用jssdk是需要小写,发现没有问题。(如果有问题ios上也不会唤起成功)
我想想是不是时间戳错了,毕竟上次有提到 http://www.cnblogs.com/jjucap/p/6433520.html
对比手机输出的结果,发现时间戳也没有问题,额。。。
难道是授权目录配置出现问题了?
不对呀,如果支付授权目录出现问题不是应该会出现:XXXXXurl页面未注册,再说如果目录有问题,IOS也不会调用成功。
接着我网上找到了(腾讯客服-开发常见错误)http://kf.qq.com/faq/140225MveaUz150413VNj6nm.html
一阵欣喜,马上去给这个参数强行加了一个 “”,结果还是不行。。
无意中看到了这篇博客: http://blog.csdn.net/chenzfyy/article/details/54645817
其中的一句:
忘了说,我出现这个问题的项目也是单页面应用。单页面的实现原理点这里 http://www.mamicode.com/info-detail-1685806.html
之前公司的框架没更新之前使用的是上面链接里面的第二种,现在使用的是第三种。。。
接着说:
判断路径规则不同,因为我现在只在授权支付目录配置了一个路径,这个路径是项目的首页,也就是上文说的Landing Page;抱着试试看的心理,增加了一条Current Page,也就是唤起支付的那个子页面。
结果怎么着,好了!那是贼棒棒。
总结:
最安全的地方就是最危险的地方,前面我还说要是配置支付授权路径的错误应该会提示url未注册,事实证明还是蛮年轻的。这里只是在公众号支付的情况,至于 其他的支付情况,还没试验是否这个路径规则是否一样。