支付宝回调
2017-11-08 本文已影响5人
赤焰军少帅林殊
注意事项: 1.NSString *appScheme = @"dadaxiupay"; plist设置的跳转白名单是你自己APP独立设置的白名单
没设置对待会回不到APP
2.支付宝回调不在appdegete里面 而是在打开支付宝那个block回调里面
if ([url.host isEqualToString:@"safepay"]){
// 支付跳转支付宝钱包进行支付,处理支付结果
NSLog(@"%@",url);
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"支付返回结果result = %@",resultDic);//该回调是用于非钱包跳转
}];
return YES;
}//这个是安装支付宝钱包的回调结果,假如你是没有跳转的是支付宝软件支付,log是不会打印的,回调在下面
//支付回调和支付一开始调用是同一个 block
3.正确做法
[[AlipaySDK defaultService] payOrder:json[@"content"][@"request"] fromScheme:appScheme callback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
[self.navigationController popViewControllerAnimated:YES];
NSString *resultStatus = [resultDic objectForKey:@"resultStatus"];
NSString *memo;
if ([resultStatus intValue] == 9000) {
memo = @"支付成功!";
OrderPayStateController* ovc=[[OrderPayStateController alloc]initWithname:buyname withaddressage:buyaddressage withphone:buyphone withPrice:self.allgoodprices];
ovc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:ovc animated:YES];
}else {
switch ([resultStatus intValue]) {
case 4000:{
memo = @"订单支付失败!";
[self paydetail:memo];
}
break;
case 6001:{
memo = @"用户中途取消!";
[self paydetail:memo];
}
break;
case 6002:{
memo = @"网络连接出错!";
[self paydetail:memo];
}
break;
case 8000:{
memo = @"正在处理中...";
[self paydetail:memo];
}
break;
default:
break;
}
}
//
}];