iOS集成微信支付开发

2020-01-18 16:45:41于海丽

本文实例为大家分享了iOS集成微信支付开发代码,供大家参考,具体内容如下

首先需要理清楚流程:

1、用户使用APP客户端,选择商品下单。
2、商户客户端(就是你做的APP)将用户的商品数据传给商户服务器,请求生成支付订单。
3、商户后台调用统一下单API向微信的服务器发送请求,微信服务器生成预付单,并生成一个prepay_id返回给商户后台。
4、商户后台将这个prepay_id返回给商户客户端。
5、用户点击确认支付,这时候商户客户端调用SDK打开微信客户端,进行微信支付。
6、微信客户端向微信服务器发起支付请求并返回支付结果(他们之间交互用的就是prepay_id这个参数,微信的服务器要验证微信客户端传过去的参数是否跟第三步中生成的那个id一致)。
7、用户输入支付密码后,微信客户端提交支付授权,跟微信服务器交互,完成支付
8、微信服务器给微信客户端发送支付结果提示,并异步给商户服务器发送支付结果通知。
9、商户客户端通过支付结果回调接口查询支付结果,并向后台检查支付结果是否正确,后台返回支付结果。
10、商户客户端显示支付结果,完成订单,发货。

虽然看起来有点多,但是理解起来并不复杂,跟我们平时手机上买东西是一样的。我们客户端需要做的就是

调起微信客户端发起支付
显示支付结果

集成过程

首先是要下载SDK

iOS集成微信支付,iOS微信支付,iOS微信开发

微信SDK下载

建议头文件和示例都下载出来看看。(吐槽下,官方的示例难看死了,看的眼晕!注释都没几个。。。鄙视之)

导入微信支付SDK库

导入上面那个iOS头文件和库下载下载出来的SDK包的就行啦,我这里的是SDK1.6.2. 然后需要链接上依赖库,在Target —> BuildPhases —> Link Binary With Libraries— 点击+号 -> 搜索你需要的系统库。

SystemConfiguration.framework
libz.tbd
libsqlite3.0.tbd
CoreTelephony.framework
QuartzCore.framework

设置URL Scheme

在注册微信平台APP的时候,会给一个唯一识别标识符(APPID),在APP端开发步骤里面说得很清楚了,需要填在URL Schemes这个地方,

iOS集成微信支付,iOS微信支付,iOS微信开发

URL scheme

在Appdelegate中注册APPID
如下:


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Override point for customization after application launch.
  /**
   * 向微信终端注册ID,这里的APPID一般建议写成宏,容易维护。@“测试demo”不需用管。这里的id是假的,需要改这里还有target里面的URL Type
   */
  [WXApi registerApp:@"wxd930ea5d5a258f4f" withDescription:@"测试demo"];

  return YES;
}