进入支付页面后 右上角返回应用 没有得到任何回调。
- 在当前页面定义全局变量
hasCallBack
记录是否走了回调方法
/** 记录是否有回调 */
@property (nonatomic, assign) BOOL hasCallBack;
- (void)alipayRequest
{
[[PayToolManager defaultManager] startAliPayWithContent:@"content" paySuccess:^{
NSLog(@"支付宝支付成功");
weakSelf.hasCallBack = YES;
} payFaild:^(NSString *desc) {
NSLog(@"支付失败%@",desc);
weakSelf.hasCallBack = YES;
}];
}
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ApplicationWillEnterForegroundNotification:) name:UIApplicationWillEnterForegroundNotification object:nil];
//处理 点击返回app 监听消息
- (void)ApplicationWillEnterForegroundNotification:(id)not {
self.hasCallBack = NO; //默认是没回调的
//延时执行 因为该消息比支付的SDK回调先执行
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//支付的SDK没有回调
if (!self.hasCallBack) {
//查询订单信息
[self requestOrderInfo];
}
});
}