支付寶錢包支付接口開發包2.0標准版(iOS 2.2.1) ,回調不出來,demo給出的方法是:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
if ([url.host isEqualToString:@"safepay"]) {
[[AlipaySDK defaultService] processAuth_V2Result:url
standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
NSString *resultStr = resultDic[@"result"];
}];
}
return YES;
}
而事實上的回調是這樣的:
if ([url.host isEqualToString:@"safepay"]) {
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
NSString *resultStr = resultDic[@"memo"];
NSLog(@"memo = %@",resultStr);
}];
}
雖然集成過程中很簡單,但是這個回調卻讓人想屎:
支付表是這樣說的:
/**
* 處理授權信息Url
*
* @param resultUrl 錢包返回的授權結果url
* @param completionBlock 跳授權結果回調,保證跳轉錢包授權過程中,即使調用方app被系統```kill```時,能通過這個回調取到支付結果。
*/
- (void)processAuth_V2Result:(NSURL *)resultUrl
standbyCallback:(CompletionBlock)completionBlock;
另附幾個狀態碼:
9000 訂單支付成功 8000 正在處理中 4000 訂單支付失敗 6001 用戶中途取消 6002 網絡連接出錯
