iOS 支付宝集成流程

iOS 集成支付宝支付

SDK下载

集成支付宝首先是去官网下载SDK https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104509&docType=1 ,这里选择SDK的时候有一个小小的注意点,当APP内集成了阿里百川的SDK时候(比如阿里云推送、OSS服务等),请下载第二种,不然会报UTDID文件冲突错误

屏幕快照 2017-03-02 上午10.38.38.png

环境配置

官方文档关于环境配置已经写得很清楚,我就不赘述了,大家请自行前往查看 https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.2bhZNR&treeId=204&articleId=105295&docType=1,配置URLScheme时尽量特殊,防止与其他APP重复,当然这种概率太小!

API调用说明

  • 发起支付: orderString由后端统一生成,appScheme就是环境配置中设置的URLScheme
[[AlipaySDK defaultService] payOrder:orderString
                             fromScheme:appScheme
                               callback:^(NSDictionary *resultDic) {
                                   NSLog(@"reslut = %@",resultDic);
                               }];
  • 处理支付结果:在AppDelegate的以下三个方法中调用,这里调用方法单独封装出来
 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
   if ([url.host isEqualToString:@"safepay"]) {
       // 从支付宝打开app
       [[DBMobilePay shareInstance] processOrderWithPaymentResultUrl:url];
   }
   return YES;
}
// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<NSString*, id> *)options {
    if ([url.host isEqualToString:@"safepay"]) {
        // 支付完成回调
        [[DBMobilePay shareInstance] processOrderWithPaymentResultUrl:url];
    }
    return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    
    NSString * absoluteUrlStr = [url absoluteString];
    if ([url.host isEqualToString:@"safepay"]) {
        // 从支付宝打开app
        [[DBMobilePay shareInstance] processOrderWithPaymentResultUrl:url];
        
    }
    return YES;
}

// 支付跳转支付宝钱包进行支付,处理支付结果
   [[AlipaySDK defaultService] processOrderWithPaymentResult:url
                                             standbyCallback:^(NSDictionary *resultDic) {
//                                                  NSLog(@"AlipayResult = %@",resultDic);
// 在这里处理支付结果
                                                 
     }];
 // 授权跳转支付宝钱包进行支付,处理支付结果
    [[AlipaySDK defaultService] processAuth_V2Result:url
                                     standbyCallback:^(NSDictionary *resultDic) {
                                         
                                         NSLog(@"result = %@",resultDic);
                                         
                                         // 解析 auth code
                                         NSString *result = resultDic[@"result"];
                                         NSString *authCode = nil;
                                         
                                         if (result.length > 0) {
                                             
                                             NSArray *resultArr = [result componentsSeparatedByString:@"&"];
                                             
                                             for (NSString *subResult in resultArr) {
                                                 
                                                 if (subResult.length > 10 && [subResult hasPrefix:@"auth_code="]) {
                                                     
                                                     authCode = [subResult substringFromIndex:10];
                                                     
                                                     break;
                                                 }
                                             }
                                         }
                                         NSLog(@"授权结果 authCode = %@", authCode?:@"");
                                     }];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • ps:先来支付宝的。首先集成支付宝的SDK,这个真心是运气加上技术相结合才行~有时候一样的工程,就是给你报错~你能...
    临渊还在阅读 1,335评论 0 2
  • 最近实现了支付宝sdk导入的视线功能,那么现在就讲一下实现的整个流程。(其实并没有想象中那么难) 一:第一步 需要...
    辛小二阅读 1,259评论 0 1
  • 在我们应用开发中我们经常在自己的项目中使用到支付,下面我们来谈谈iOS这块的支付;iOS支付主要分为两类,第三方支...
    Hither阅读 8,106评论 9 42
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    请输入账号名阅读 6,082评论 3 22
  • 实现支付宝支付的准备工作: 1.向支付宝签约,成为支付宝的商户 签约完成后,支付宝会提供一些必要的数据给我们 商户...
    Anson杨春安阅读 8,111评论 0 6