iOS 微信支付 开发流程
这个文章写的 比较不错 借此转发。
SDK下载:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1
APP端开发步骤说明:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5
SDK接入
服务器签名版本
官方已经是建议使用服务器签名来接入微信支付,实际上从安全上考虑,确实是每个客户端不应该知道RAS密钥,也不需要每个客户端都写一遍签名的算法。
服务端接入流程文档:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_3
商户系统和微信支付系统主要交互说明:
步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】
步骤5:商户后台接收支付通知。api参见【支付结果通知API】
步骤6:商户后台查询支付结果。,api参见【查询订单API】
1.导入SDK文件
2.导入相关的系统库及文件。不导入会报错。
- SystemConfiguration.framework
- libz.tbd
- libsqlite3.0.tbd
- CoreTelephony.framework
- libc++.tbd
3.配置info.plist
a.schemes ,注意,item0 这里要修改成商户自己的APPID
或者这样修改:
b.白名单
c.安全配置支持Http
当然这部分的配置,也可以通过修改XML来实现。
4.修改bitcode。
修改:
5.在AppDelegate 注册微信
导入#import “WXApiManager.h”
6.接下来,就是发起请求支付了,实现上核心代码只有几行。
这部分代码在demo的WXApiRequestHandler–》jumpToBizPay 里。
7.不管支付成功还是失败,结果会返回到WXApiManager–》onResp 方法下
我们直接处理回调结果即可。
客户端进行签名
1.导入文件。官方已经不提供这个SDK的下载了,我已经打包到源代码了,2015年3月11号最新修改的版本
2.里面有两个文件是非arc的,我们需要设置一下 -fno-objc-arc
3.导入系统库及info.list配置,请参数上面服务端签名。
4.AppDelegate配置
1)导入头文件
2)实现微信代理
3)注册微信,及微信支付回调
5.写方法直接在支付时调用
最后,修改payRequsestHandler.h文件里的APP_ID 和MCH_ID即可使用。