iOS开发(OC)——支付宝支付

iOS开发交流群:301058503

1、首先在支付宝开发者平台上创建应用,并按照开发者平台上的步骤把SDK接入,配置环境(这些步骤支付宝开发者平台写的很清楚,下面我主要写一些开放平台没有,或者需要注意的地方)
2、导入头文件#import (如果报错,则是缺少某些类库或者静态库和头文件路径没有设置好,请仔细查看并按照开放平台的步骤检查,或者看一下这个: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),详细步骤在支付宝开放平台的接入文档有

你可能感兴趣的:(OC)