iOS银联支付集成与使用

APP中银联支付的使用量相比较来说是比较少的,官方给出的文档比较简陋但是集成起来还是比较简单的。以下是我参考官方文档和实际项目中总结一些集成步骤和问题

去银联支付开放平台下载开发包https://open.unionpay.com/ajweb/index,开发包不怎么好找 = =

1.最新版本的开发包现在只有两个文件这里我事先新进一个文件夹讲开发包里面的libPaymentControl.a文件和UPPaymentControl.h文件放在一个文件夹中,并添加到工程当中,如下图所示:


Paste_Image.png

2.添加库文件CFNetwork.framework、SystemConfiguration.framework 、libz.tbd、libPaymentControl.a到工程如图所示

iOS银联支付集成与使用_第1张图片
Paste_Image.png

3.添加完库文件需要设置应用回调地址。在URL Types里面添加 如图:

iOS银联支付集成与使用_第2张图片
Paste_Image.png

在红线处添加你工程的名称即可

4.适配http网络设置。需要在工程对应的plist文件中添加NSAppTransportSecurity Dictionary 并同时设置里面NSAllowsArbitraryLoads 属性值为 YES。

Paste_Image.png

但是苹果在2017.01.01起就强制要求所有的网络请求的接口必须是HTTPS了,所以这里让还是后台设置好最为妥当。

5.添加协议白名单。在Xcode7.0之后的版本中进行开发,需要在工程对应的plist文件中,添加LSApplicationQueriesSchemes Array并加入uppaysdk、uppaywallet、uppayx1、uppayx2、uppayx3五个item。如图所示:

iOS银联支付集成与使用_第3张图片
Paste_Image.png

6.调用支付。这里银联支付的开发文档提示我们:如果工程的compile source as 选项的值不是Objective–C++,则引用此头文件的文件类型都要改为.mm。查看下自己的选项是不是,直接在工程中修改要吊起的 .m文件的文件名问 .mm 即可。
6.1 在要吊起支付的文件中引入头文件 #import "UPPaymentControl.h" 。
6.2 从后台获取吊起支付需要的参数 tn 执行方法:
if (_tnStr != nil && _tnStr.length>0) {
[[UPPaymentControl defaultControl]startPay:_tnStr fromScheme:@"YouProjectName" mode:@"00" viewController:self];
}
这里的mode有两种值 当为00时代表生产模式,当为01时代表测试模式。
6.3 支付结果回调。在Appdelegate.m文件里。前端的支付结果是要通过服务器反馈来判断的,我这里为了省事直接获取的结果然后用的通知返回给吊起页面的。

iOS银联支付集成与使用_第4张图片
Paste_Image.png

银联支付的大概集成使用也就这些了,对于前端来说还是比较简单的。

对于集成中遇到的问题以后会陆续更新,大家也可以相互交流。。

你可能感兴趣的:(iOS银联支付集成与使用)