亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS支付寶、微信、銀聯支付集成封裝調用(上)

2019-10-21 18:41:17
字體:
來源:轉載
供稿:網友

一.集成支付寶支付

支付寶集成官方教程 https://docs.open.alipay.com/204/105295/

支付寶集成官方demo https://docs.open.alipay.com/54/104509/

1.導入SDK并添加依賴庫

啟動IDE(如Xcode),把iOS包中的壓縮文件中以下文件拷貝到項目文件夾下,并導入到項目工程中。

  • AlipaySDK.bundle
  • AlipaySDK.framework

在Build Phases選項卡的Link Binary With Libraries中,增加以下依賴

IOS,支付,封裝

2.在Appdelegate里面添加代碼

引入頭文件

#import <AlipaySDK/AlipaySDK.h>

添加支付回調方法

- (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) {   NSLog(@"result = %@",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?:@"");  }]; }//此處是微信支付 if ([url.scheme isEqualToString:@"wxf6e443649d826e8e"]) {  return [WXApi handleOpenURL:url delegate:(id<WXApiDelegate>)self]; } return YES;}// NOTE: 9.0以后使用新API接口- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options{ if ([url.host isEqualToString:@"safepay"]) {  // 支付跳轉支付寶錢包進行支付,處理支付結果  [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {   NSLog(@"result = %@",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?:@"");  }]; }//此處是微信支付 if ([url.scheme isEqualToString:@"wxf6e443649d826e8e"]) {  return [WXApi handleOpenURL:url delegate:(id<WXApiDelegate>)self]; } return YES;}

3.添加URL Scheme配置

在Targets -> Info 下最后一個找到URL Scheme,
點擊“Info”選項卡,在“URL Types”選項中,點擊“+”。

IOS,支付,封裝

4.在支付的地方添加吊起支付寶方法

引入頭文件

#import <AlipaySDK/AlipaySDK.h>

支付地方添加調起支付寶代碼

[[AlipaySDK defaultService] payOrder:@"此處是從后臺拿到的訂單簽名信息" fromScheme:@"這里邊填寫第三步配置的URL Scheme" callback:^(NSDictionary *resultDic) {   NSLog(@"=====%@",resultDic);   if ([resultDic[@"resultStatus"]intValue] == 9000) {    NSLog(@"成功");   } else {    NSLog(@"失敗");   }  }];

二.集成微信支付

微信支付集成官方文檔 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5

微信集成官方demo https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

1:導入SDK并添加依賴庫

IOS,支付,封裝

記得添加這兩個配置 (畫重點)注意看官方Demo里邊的README,拿起小本子記下來

IOS,支付,封裝

2:在APPDelegate里邊添加代碼

引入頭文件

#import <WXApi.h>并添加回調代理@interface AppDelegate ()<WXApiDelegate>

注冊微信

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { [WXApi registerApp:@"填寫申請的appid"];returnYES; }

添加支付回調方法,上邊支付寶集成代碼里邊一樣的代碼

 

- (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) {   NSLog(@"result = %@",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?:@"");  }]; }//此處是微信支付 if ([url.scheme isEqualToString:@"wxf6e443649d826e8e"]) {  return [WXApi handleOpenURL:url delegate:(id<WXApiDelegate>)self]; } return YES;}// NOTE: 9.0以后使用新API接口- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options{ if ([url.host isEqualToString:@"safepay"]) {  // 支付跳轉支付寶錢包進行支付,處理支付結果  [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {   NSLog(@"result = %@",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?:@"");  }]; }//此處是微信支付 if ([url.scheme isEqualToString:@"wxf6e443649d826e8e"]) {  return [WXApi handleOpenURL:url delegate:(id<WXApiDelegate>)self]; } return YES;}

添加微信支付回調代理方法

//微信回調,有支付結果的時候會回調這個方法- (void)onResp:(BaseResp *)resp{ // 支付結果回調 if([resp isKindOfClass:[PayResp class]]){  switch (resp.errCode) {   case WXSuccess:{    //支付返回結果,實際支付結果需要去自己的服務器端查詢    NSNotification *notification = [NSNotification notificationWithName:@"ORDER_PAY_NOTIFICATION" object:@"success"];    [[NSNotificationCenter defaultCenter] postNotification:notification];        break;   }   default:{    NSNotification *notification = [NSNotification notificationWithName:@"ORDER_PAY_NOTIFICATION"object:@"fail"];    [[NSNotificationCenter defaultCenter] postNotification:notification];    break;   }  } }}

3.添加URL Scheme配置

在Targets -> Info 下最后一個找到URL Scheme,
點擊“Info”選項卡,在“URL Types”選項中,點擊“+” 填寫申請的那個APPId。

同上

4.在支付地方添加調起微信方法

引入頭文件

#import <WXApi.h>

支付地方添加調起微信代碼

 if ([WXApi isWXAppInstalled]) {NSLog(@"已經安裝了微信...");//這里調用后臺接口獲取訂單的詳細信息,然后調用微信支付方法}else{}#pragma mark 微信支付方法- (void)WXPayWithAppid:(NSString *)appid partnerid:(NSString *)partnerid prepayid:(NSString *)prepayid package:(NSString *)package noncestr:(NSString *)noncestr timestamp:(NSString *)timestamp sign:(NSString *)sign{//需要創建這個支付對象PayReq *req = [[PayReq alloc] init];//由用戶微信號和AppID組成的唯一標識,用于校驗微信用戶req.openID = appid;// 商家id,在注冊的時候給的req.partnerId = partnerid;// 預支付訂單這個是后臺跟微信服務器交互后,微信服務器傳給你們服務器的,你們服務器再傳給你req.prepayId = prepayid;// 根據財付通文檔填寫的數據和簽名req.package = package;// 隨機編碼,為了防止重復的,在后臺生成req.nonceStr = noncestr;// 這個是時間戳,也是在后臺生成的,為了驗證支付的NSString * stamp = timestamp;req.timeStamp = stamp.intValue;// 這個簽名也是后臺做的req.sign = sign;if ([WXApi sendReq:req]) { //發送請求到微信,等待微信返回onRespNSLog(@"吊起微信成功...");}else{NSLog(@"吊起微信失敗...");}}

三.銀聯支付集成

銀聯手機控件支付 https://link.jianshu.com/?t=https://open.unionpay.com/ajweb/index

銀聯官網 https://www.aliyun.com/jiaocheng/349377.html

將需要的庫文件拖入到自己的項目中,SDK文件所在目錄upmp_iphone/paymentcontrol,包含 UPPaymentControl.h、libPaymentControl.a兩個文件(老版本是三個,這點不一樣)。

IOS,支付,封裝

方法需要的幾個參數文檔上都寫的有,tn是交易流水號,你們服務器端傳給你的,咱們客戶端只有憑借這個參數才能調用支付控件 進行支付的。

到此:第三方支付集成大致集成,請期待下一篇文章對于三種集成調用封裝代碼

下面是我們分享的iOS支付寶、微信、銀聯支付集成封裝調用(下)、

http://www.49028c.com/kaifa/ios/309299.html


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品一区二区| 亚洲国产精品悠悠久久琪琪| 亚洲成人网在线观看| 欧美日韩高清区| 久久久久久国产精品| 久久久久久久久久久亚洲| 精品久久香蕉国产线看观看gif| 国产丝袜一区二区| 欧美日在线观看| 久久久噜噜噜久久| 久久久精品视频成人| 久久99精品视频一区97| 全亚洲最色的网站在线观看| 欧美成人午夜激情视频| 欧美性色xo影院| 国产精品精品视频| 国产丝袜精品第一页| 成人激情在线观看| 久久综合国产精品台湾中文娱乐网| 成人免费xxxxx在线观看| 亚洲理论电影网| 91国产精品91| 欧美日韩免费在线| 日本亚洲欧美三级| 欧美成人精品一区二区三区| 成人精品一区二区三区电影免费| 国产免费久久av| 最新中文字幕亚洲| 国产999精品久久久影片官网| 久久久999精品| 久久久久女教师免费一区| 国产性猛交xxxx免费看久久| 欧美视频一区二区三区…| 亚洲精品99999| 欧美日韩日本国产| 国产美女高潮久久白浆| 91香蕉国产在线观看| 精品无码久久久久久国产| 97国产一区二区精品久久呦| 久久久人成影片一区二区三区| 久热在线中文字幕色999舞| 久久天天躁夜夜躁狠狠躁2022| 国产精品美女视频网站| 欧美精品18videos性欧美| 欧美xxxx做受欧美| 国产999在线观看| 91视频九色网站| 色樱桃影院亚洲精品影院| 91免费高清视频| 欧美一区二区三区艳史| 久久久999精品视频| 色噜噜狠狠狠综合曰曰曰88av| 91欧美激情另类亚洲| 久久国产精品偷| 国产精品久久婷婷六月丁香| 亚洲一区中文字幕| www.午夜精品| 午夜精品久久久久久99热| 国产精品大片wwwwww| 欧美日韩精品中文字幕| 国产精品永久免费观看| 亚洲网址你懂得| 7777kkkk成人观看| 精品一区二区亚洲| 中文字幕亚洲一区在线观看| 日韩动漫免费观看电视剧高清| 国产精品视频网站| 成人免费激情视频| 久久久999精品免费| 国产视频丨精品|在线观看| 欧美亚洲另类在线| 亚洲国产成人一区| 欧美国产在线电影| 欧美一级bbbbb性bbbb喷潮片| 日韩福利视频在线观看| 日韩福利伦理影院免费| 97精品国产97久久久久久| 日韩免费电影在线观看| 两个人的视频www国产精品| 午夜精品一区二区三区在线播放| 亚洲三级黄色在线观看| www.亚洲男人天堂| 主播福利视频一区| 国产精品网红直播| 国产精品69精品一区二区三区| 欧美激情精品久久久久久黑人| 日韩精品视频观看| 日韩视频欧美视频| 午夜精品蜜臀一区二区三区免费| 欧美性猛交xxxx偷拍洗澡| 亚洲一区二区日本| 亚洲女人天堂成人av在线| 欧美性xxxx极品hd满灌| 最近2019免费中文字幕视频三| 欧美俄罗斯性视频| 日韩在线国产精品| 欧美日韩激情网| 国产区亚洲区欧美区| 国产美女精品视频免费观看| 欧美国产第一页| 欧美专区国产专区| 亚洲精品国产拍免费91在线| 国产mv免费观看入口亚洲| 欧美老女人性生活| 奇米一区二区三区四区久久| 亚洲一区二区久久久久久久| 国产国产精品人在线视| 亚洲人成毛片在线播放| 亚洲电影免费观看高清| 69影院欧美专区视频| 日韩二区三区在线| 国产精品99免视看9| 日韩精品视频三区| 91理论片午午论夜理片久久| 国产精品久久色| 国产精品欧美日韩久久| 国产日韩欧美日韩大片| 狠狠躁天天躁日日躁欧美| 国产精品精品视频一区二区三区| 欧美在线不卡区| 国产欧美精品久久久| www欧美日韩| 在线观看日韩av| 精品国产一区二区三区四区在线观看| 最新亚洲国产精品| 日韩天堂在线视频| 欧美三级欧美成人高清www| 成人97在线观看视频| 亚洲国产日韩精品在线| 亚洲欧洲日产国产网站| 国产日产亚洲精品| www.xxxx精品| 国产精品视频久久久久| 啊v视频在线一区二区三区| 日韩一区二区久久久| 欧美黑人xxx| 欧美亚洲一级片| 欧美激情亚洲另类| 久久精品99久久久久久久久| 伊人青青综合网站| 欧美激情亚洲一区| 2019中文字幕在线免费观看| 精品久久久免费| 久久久之久亚州精品露出| 亚洲美女精品成人在线视频| 中文字幕免费精品一区高清| 日本电影亚洲天堂| 久久久久国产一区二区三区| 91在线观看免费| 最近日韩中文字幕中文| 深夜福利国产精品| 亚洲国产一区二区三区四区| 92版电视剧仙鹤神针在线观看| 国产精品高潮在线| 97免费中文视频在线观看| y97精品国产97久久久久久| 欧美www视频在线观看| 亚洲成人动漫在线播放| 欧美成人一区在线| 精品亚洲一区二区三区在线观看| 最新69国产成人精品视频免费| 美女精品久久久| 九九热精品视频在线播放| 91精品中文在线|