ping++
支付不需要你去各个平台去申请,支付宝支付好像现在第一版是不能接入支付的,初版上线才可以。ping++
支付接入的大部分平台的支付功能,接入文档也足够简单。
1、pod 'Pingpp', '~> 2.2.13'
2、默认会包含支付宝、微信、银联,你也可以自己选择渠道。
3、如果要加入其他的渠道支付 ,可以如下这样配置
pod 'Pingpp/Alipay', '~> 2.2.13'
pod 'Pingpp/UnionPay', '~> 2.2.13'
pod 'Pingpp/One', '~> 2.2.13'
4、配置URL Schemes,后面会用到。便于区分即可
5、appdelegate里引入#import <Pingpp.h>
,
6、两个跳转方法的配置:
// iOS 8 及以下请用这个
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if ([Pingpp handleOpenURL:url withCompletion:nil]) {
return YES;
}
return YES;
}
// iOS 9 以上请用这个
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options {
if ([Pingpp handleOpenURL:url withCompletion:nil]) {
return YES;
}
return YES;}
7、调用支付:
[Pingpp createPayment:charge
viewController:viewController
appURLScheme:kUrlScheme
withCompletion:^(NSString *result, PingppError *error) {
if ([result isEqualToString:@"success"]) {
// 支付成功
} else {
// 支付失败或取消
NSLog(@"Error: code=%lu msg=%@", error.code, [error getMsg]);
}
}];
这里面就会用到前面用到的appURLScheme,payment是后台返回的订单字典。
我们需要给后台传的两个必须的字段是
NSDictionary* dict = @{ @"channel" : self.channel, @"amount" : amountStr };
确切的说这个是后台调用ping++支付时必须传的两个字段。
拿到后台返回的payment就可以调用上面的方法了。