首次集成支付寶SDK的時候想必大家會對SDK中的兩個回調有一些搞不清,有些人也不會細看文檔,就會問到底區別是什麼。下面來爲大家解析一下。
[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
NSLog(@"reslut1 = %@",resultDic);
if ([[resultDic objectForKey:@"resultStatus"] integerValue] == 9000) {
successCallBack(1);
}else {
failureCallBack(0);
}
}];
第一個回調,在支付的時候調用,當時就可以收到回調。這個回調是網頁版支付吧支付的回調。註解裏已經寫了
/**
* 支付接口
*
* @param orderStr 訂單信息
* @param schemeStr 調用支付的app註冊在info.plist中的scheme
* @param compltionBlock 支付結果回調Block,用於wap支付結果回調(非跳轉錢包支付)
*/
第二個回調,也就是最常用的,和微信支付同位置的回調。在appdelegate中。
if ([url.host isEqualToString:@"safepay"]) {
// 支付跳轉支付寶錢包進行支付,處理支付結果
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
// NSLog(@"result3 = %@",resultDic);
if ([[resultDic objectForKey:@"resultStatus"] integerValue] == 9000) {
[ProgressHUD showSuccessWithStatus:NSLocalizedString(@"PayForSuccess", @"Localization")];
}else {
[ProgressHUD showErrorWithStatus:NSLocalizedString(@"PayForFailure", @"Localization")];
}
}];
這個回調是,調轉到支付寶app支付回來以後的回調
/**
* 處理錢包或者獨立快捷app支付跳回商戶app攜帶的支付結果Url
*
* @param resultUrl 支付結果url
* @param completionBlock 支付結果回調
*/