1、首先在支付宝开发者平台上创建应用,并按照开发者平台上的步骤把SDK接入,配置环境(这些步骤支付宝开发者平台写的很清楚,下面我主要写一些开放平台没有,或者需要注意的地方)
2、导入头文件#import <AlipaySDK/AlipaySDK.h>
(如果报错,则是缺少某些类库或者静态库和头文件路径没有设置好,请仔细查看并按照开放平台的步骤检查,或者看一下这个:https://blog.csdn.net/liumude123/article/details/51405130)
3、iOS 8.0以下重写下面方法
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
if ([url.host isEqualToString:@"safepay"]) {
//跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
//resultDic支付结果
}];
}
return YES;
}
4、iOS 9.0以上实现下面的方法(也就是说,如果app要兼容iOS 8.0以上,则步骤3和步骤4的方法都要实现)
//iOS9.0以上使用
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options {
if ([url.host isEqualToString:@"safepay"]) {
//跳转支付宝钱包进行支付,处理支付结果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
//resultDic支付结果
//resultDic[@"alipay_trade_app_pay_response"][@"code"]==10000成功
}];
}
return YES;
}
5、发起支付
[[AlipaySDK defaultService] payOrder:@"此处是后台处理后的订单信息字符串" fromScheme:@"此处是上面开放平台步骤中的URL scheme的值" callback:^(NSDictionary *resultDic) {
NSLog(@"reslut = %@",resultDic);
}];
注意:为了支付完成后能成功返回app,需要在info.plist文件中设置URL scheme,并且这个值是唯一的(最好填写bundel id 或者开放平台上的app ID),详细步骤在支付宝开放平台的接入文档有