微信支付

之前写了一篇关于支付宝支付的一些问题,现在我总结一下微信支付的一些问题,官方dome就不用我说了吧,啥都写一堆了,看着这个费劲啊,我也是服了,现在我用的是Xcode 8.0 最新的SDK 1.7.4的

微信支付_第1张图片

  • 这个SDK 还是我自己拼组的,官方就三个文件
  • 不过官方的不是一点用没有,导入一些库文件 还可以参照dome
  • 仔细看看那个.txt 文件
  • 配置 ````
    Url Schemes
- 注册的那个````appid```` 要跟后台的一致 否则会报appID 错误  当时后台给我的就错了  结果安卓完全调不起来微信  我这边还调起来了 就报这个错误
- 还有一个问题很重要我记得是````
签名不一致

这个问题问开始挺纠结的,安卓的可以成功支付,我这报这个错误,查看代码也没问题,我就仔细看了看官方的参数配置

官方中要求iOS的时间戳是10 位的,而后台返回的时间戳是13位的时间戳,这个必须要后台去改,你自己把后台传过来的时间戳改了没用,
开始安卓能支付,是因为安卓用的 语言跟后台的语言一样 都是java,改成10位后,安卓那边也不影响

如果把后台给你的时间戳改成10位的话,微信那边会生成一个10位时间戳 的签名,而后台那边是13位的时间戳生成的签名,不管你怎么改都没用

  • 你只要注册了微信 就必须要用真机测试,用模拟器一运行就崩
    下面我 附上自己的一些代码


    微信支付_第2张图片

    微信支付_第3张图片
只要调起了微信,不管是 成功 还是失败  取消 都掉用这个方法 ,我这通知是跳转别的页面的
微信支付_第4张图片

微信支付_第5张图片
这是判断有没有 安装微信
微信支付_第6张图片
取消通知这里也要写 ,否则的话  push 的那个控制器会被push 多次,如果还有一些其他的支付方式(比如银联,农行)注册通知必须写在支付按
钮里,否则push的那个控制器 也会被push多次

总的来看代码其实没多少,但是就是坑多啊!!!

你可能感兴趣的:(微信支付)