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到工程如图所示

Paste_Image.png

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

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。如图所示:

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文件里。前端的支付结果是要通过服务器反馈来判断的,我这里为了省事直接获取的结果然后用的通知返回给吊起页面的。

Paste_Image.png

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,569评论 25 708
  • 银联支付,支付宝支付,微信支付的三大总结,之前也有写过两篇。 微信支付,支付宝支付,银联支付——三大支付总结: h...
    LucasAdam阅读 4,983评论 2 23
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    请输入账号名阅读 6,318评论 3 22
  • 文/陶子 爱总是很美妙和温情,总是让人心碎神伤却又满怀希望,总是让人流尽眼泪却又久久不愿离去。 如果对方爱你多一点...
    5号陶子阅读 285评论 0 0
  • 30岁,2022年喽,想着奔三的路也算走了一半了,一直小心的过着平稳的生活,有些遗憾。 所以,希望在30岁之前能尝...
    水葫芦菌阅读 174评论 0 0