首次集成支付宝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 支付结果回调
*/