iOS微信支付:支付之后,代理方法onResp:不会执行(不会回调)

在接口中我们可以看到下面两个方法在iOS9.0之后废弃了,如下两个方法只适用于iOS4.2-iOS9.0

image.png

改用下面的方法
image.png


标题阐述的问题的原因是:
  • 之前 设置微信支付代理写在了废弃的方法中,所以就相当于没有设置代理,所以代理方法onResp:不会被调用,这样支付的结果(成功、失败)我们就没法知道,就不能够进行后续的一些操作了(我们的项目的后续操作是:返回上一界面,刷新订单状态)

  • 步骤1:判断是微信支付,然后调用设置微信支付的代理

    image.png

  • 步骤2:获取支付结果。
//微信支付回调
- (void)onResp:(BaseResp *)resp
{
    if ([resp isKindOfClass:[PayResp class]])
    {
        PayResp *response = (PayResp *)resp;
        switch (response.errCode)
        {
            case WXSuccess:
                //服务器端查询支付通知或查询API返回的结果再提示成功
                NSLog(@"支付成功");
                [[NSNotificationCenter defaultCenter] postNotificationName:BB_NOTIFICATION_OrderOK object:nil userInfo:nil];
                break;
            case WXErrCodeUserCancel:
                //服务器端查询支付通知或查询API返回的结果再提示成功
                //交易取消
                [HemaFunction openIntervalHUDOK:@"已取消支付"];
                break;
            default:
                NSLog(@"支付失败, retcode=%d",resp.errCode);
                [[NSNotificationCenter defaultCenter] postNotificationName:BB_NOTIFICATION_OrderFail object:nil userInfo:nil];
                break;
        }
    }
}

备注:支付宝支付,银联支付, 想要拿到支付之后结果的话 ,也和微信支付一样,都要执行新增的两个方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容