主要包括:微信前段后台掉起支付、支付宝国内,国外掉起支付 银联、苹果支付
下载地址: https://github.com/pengjinguang521/AllPayDemo.git
今天闲来无事对支付功能进行了一次封装,进一步简化了支付的接入和调用,由于本人不怎么喜欢使用代理方法,所以对于其demo中的代理方法二次封装时候全部采用block回调处理。先看下运行结果。
整体运行结果,微信也是ok的
开发之前你需要:
1、需要在 target-> build settings -> other linker flags ->写入-ObjC 如下图:
设置-ObjC2、在target->info.plist ->URL Types 添加url schemes,来实现app的跳转 如下图:
设置app之间跳转的schemes3、在下文提到的拖入工程进入项目时候,记得勾选Copy item if needed 如下图:
勾选Copy item4、处理好iOS 9.0以后的(https://)问题在target->info.plist中添加如下图:
接入中如果遇到什么问题请留言,同样有好的建议也请留言。注:为了保护他人利益,项目中的支付配置信息做了修改。
支付宝接入
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中,如下图所示:
AppDelegate中需要写的代码2、银联和苹果支付的配置信息与实现方法相见UPPayTool.h:
配置信息 掉起方式3、支付宝支付的配置信息与实现方法AlipayTool.h:
配置信息 国内与国际支付4、微信支付的配置信息与实现方法WeiXinPayTool.h:
微信配置信息 实现方法5、整体实现的代码jian vc:
网友评论