公共
不管是微信支付还是支付宝支付,前提条件都是Xcode中TARGETS
中选择info
中的 URL scheme
中配置相关url(注意:支付宝随便填写,只要不跟别人APP名称重复就行,微信必须使用微信开发者平台的appid 如:wx*************)
微信支付
网址:https://open.weixin.qq.com
* 启动IDE(如Xcode),把iOS包中的压缩文件中以下文件拷贝到项目文件夹下,并导入到项目工程中。
WXApi.h
WXApiObject.h
WechatAuthSDK.h
libWeChatSDK.a
支付宝
网址:https://docs.open.alipay.com/54/104509/
- 启动IDE(如Xcode),把iOS包中的压缩文件中以下文件拷贝到项目文件夹下,并导入到项目工程中。
AlipaySDK.bundle
AlipaySDK.framework
- 增加以下依赖:
银联支付
网址:https://open.unionpay.com/ajweb/help/file/techFile?productId=3
- 启动IDE(如Xcode),把iOS包中的压缩文件中(paymentcontrol)以下文件拷贝到项目文件夹下,并导入到项目工程中。
- 使用UPPaymentControl需要将paymentcontrol/inc目录下UPPaymentControl.h文件和paymentcontrol/libs目录下的libPaymentControl.a文件添加到商户应用的工程中
- 添加依赖
CFNetwork.framework
SystemConfiguration.framework
libz
libPaymentControl.a
在工程info.plist设置中添加一个URL Types回调协议(在UPPayDemo工程中使用“UPPayDemo”作为协议),用于在支付完成后返回商户客户端。请注意URL Schemes需要是唯一的(即开发者平台申请的唯一标示)。
添加协议白名单
在Xcode7.0之后的版本中进行开发,需要在工程对应的plist文件中,添加LSApplicationQueriesSchemes Array并加入uppaysdk、uppaywallet、uppayx1、uppayx2、uppayx3五个item,具体设置可参考以下截图:调用插件
在需要调用支付控件接口的代码文件内引用头文件UPPaymentControl.h。
(注意:如果工程的compile source as 选项的值不是Objective–C++,则引用此头文件的文件类型都要改为.mm)
OncePay的调用
- 支付宝支付
//支付宝
NSString *orderMessage = @"";
[[OncePayManager shareManager] OncePayWithOrderParameter:orderMessage callBack:^(NSString *errStr) {
NSLog(@"errStr = %@",errStr);
}];
- 微信支付
//微信
PayReq* req = [[PayReq alloc] init];
req.partnerId = @"11";
req.prepayId= @"22";
req.package = @"Sign=WXPay";
req.nonceStr= @"33";
req.timeStamp= @"44".intValue;
req.sign= @"55";
[[OncePayManager shareManager] OncePayWithOrderParameter:req callBack:^(NSString *errStr) {
NSLog(@"errStr = %@",errStr);
}];
- 银联支付
//银联
[[OncePayManager shareManager] OncePayWithunionpayParameter:@"sss" payvc:self callBack:^(NSString *errStr, NSString *data) {
NSLog(@"errStr = %@=%@",errStr, data);
}];
地址:OncePay