您的位置:首页 > 移动开发

iOS9.0 关于app接入支付宝,跳转到支付宝app(不是网页)支付成功后,不回调到解决办法

2016-05-26 17:08 549 查看
调起支付使用的是

[[AlipaySDK defaultService] payOrder: fromScheme: callback:^(NSDictionary *resultDic) {NSLog(@"%@",result);} withFail:^(NSString *result) {NSLog(@"支付失败%@",result);}]


解决办法:

在AppDelegate.m里面 添加 这个方法 

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options{

即可解决:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options{
//如果极简开发包不可用,会跳转支付宝钱包进行支付,需要将支付宝钱包的支付结果回传给开发包
if ([url.host isEqualToString:@"safepay"]) {
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
//【由于在跳转支付宝客户端支付的过程中,商户app在后台很可能被系统kill了,所以pay接口的callback就会失效,请商户对standbyCallback返回的回调结果进行处理,就是在这个方法里面处理跟callback一样的逻辑】
NSLog(@"safepay  result = %@",resultDic);
}];

}
if ([url.host isEqualToString:@"platformapi"]){//支付宝钱包快登授权返回authCode
[[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {
//【由于在跳转支付宝客户端支付的过程中,商户app在后台很可能被系统kill了,所以pay接口的callback就会失效,请商户对standbyCallback返回的回调结果进行处理,就是在这个方法里面处理跟callback一样的逻辑】
NSLog(@"platformapi  result = %@",resultDic);
}

return YES;
}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: