iOS支付封装

主要包括:微信前段后台掉起支付、支付宝国内,国外掉起支付  银联、苹果支付

下载地址:  https://github.com/pengjinguang521/AllPayDemo.git

今天闲来无事对支付功能进行了一次封装,进一步简化了支付的接入和调用,由于本人不怎么喜欢使用代理方法,所以对于其demo中的代理方法二次封装时候全部采用block回调处理。先看下运行结果。

iOS支付封装_第1张图片
整体运行结果,微信也是ok的


开发之前你需要:

1、需要在 target-> build settings -> other linker flags ->写入-ObjC 如下图:

iOS支付封装_第2张图片
设置-ObjC

2、在target->info.plist ->URL Types 添加url schemes,来实现app的跳转 如下图:

iOS支付封装_第3张图片
设置app之间跳转的schemes

3、在下文提到的拖入工程进入项目时候,记得勾选Copy item if needed 如下图:

iOS支付封装_第4张图片
勾选Copy item

4、处理好iOS 9.0以后的(https://)问题在target->info.plist中添加如下图:

iOS支付封装_第5张图片

接入中如果遇到什么问题请留言,同样有好的建议也请留言。注:为了保护他人利益,项目中的支付配置信息做了修改。

支付宝接入

1、将项目中的“支付宝支付”拖入你的工程中。

2、添加依赖库:Foundation.framework UIKit.framework  CoreGraphics.framework CoreText.framework  QuartzCore.framework  CoreTelephony.framework

3、在你的Xcode里的header search paths 里添加支付宝SDK(openssl的路径);格式如下  $(PROJECT_DIR)/文件夹名        (这里说一下,直接点击openssl,然后showinfinder,然后command + i  查看路径,把得到路径的工程名字以后的部分加在文件夹名这OK       eg:$(PROJECT_DIR)/AllPayDemo/支付宝支付/AliPay

微信接入

1、将项目中的“微信支付”拖入你的工程中。

2、添加依赖库:SystemConfiguration.framework, libz.dylib, libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework

银联接入

1、将项目中的“银联支付”拖入你的工程中。

2、添加依赖库:CFNetwork.framework、SystemConfiguration.framework 、lib、libPaymentControl.a

3、添加协议白名单需要在工程对应target->info.plist文件中,添加LSApplicationQueriesSchemes  Array并加入uppaysdk、uppaywallet、uppayx1、uppayx2、uppayx3五个item。

银联苹果支付接入

1、将项目中的“苹果支付”拖入你的工程中。

2、添加依赖库:CFNetwork.framework、libUPAPayPlugin.a、PassKit.framework、 SystemConfiguration.framework

在接入完成后command+ build没有问题,那么恭喜你,接入成功了。下面讲怎么掉起这些功能。

1、如果是微信和银联支付的话,在AppDelegate中倒入头文件:import "WeiXinPayTool.h" #import "UPPayTool.h" 实现请参看demo中,如下图所示:

iOS支付封装_第6张图片
AppDelegate中需要写的代码

2、银联和苹果支付的配置信息与实现方法相见UPPayTool.h:

iOS支付封装_第7张图片
配置信息
iOS支付封装_第8张图片
掉起方式

3、支付宝支付的配置信息与实现方法AlipayTool.h:

iOS支付封装_第9张图片
配置信息


iOS支付封装_第10张图片
国内与国际支付

4、微信支付的配置信息与实现方法WeiXinPayTool.h:

iOS支付封装_第11张图片
微信配置信息


iOS支付封装_第12张图片
实现方法

5、整体实现的代码jian vc:

iOS支付封装_第13张图片

你可能感兴趣的:(iOS支付封装)