iOS微信支付:支付之后,代理方法onResp:不會(huì)執(zhí)行(不會(huì)回調(diào))

在接口中我們可以看到下面兩個(gè)方法在iOS9.0之后廢棄了,如下兩個(gè)方法只適用于iOS4.2-iOS9.0

image.png

改用下面的方法
image.png


標(biāo)題闡述的問(wèn)題的原因是:
  • 之前 設(shè)置微信支付代理寫在了廢棄的方法中,所以就相當(dāng)于沒(méi)有設(shè)置代理,所以代理方法onResp:不會(huì)被調(diào)用,這樣支付的結(jié)果(成功、失敗)我們就沒(méi)法知道,就不能夠進(jìn)行后續(xù)的一些操作了(我們的項(xiàng)目的后續(xù)操作是:返回上一界面,刷新訂單狀態(tài))

  • 步驟1:判斷是微信支付,然后調(diào)用設(shè)置微信支付的代理

    image.png

  • 步驟2:獲取支付結(jié)果。
//微信支付回調(diào)
- (void)onResp:(BaseResp *)resp
{
    if ([resp isKindOfClass:[PayResp class]])
    {
        PayResp *response = (PayResp *)resp;
        switch (response.errCode)
        {
            case WXSuccess:
                //服務(wù)器端查詢支付通知或查詢API返回的結(jié)果再提示成功
                NSLog(@"支付成功");
                [[NSNotificationCenter defaultCenter] postNotificationName:BB_NOTIFICATION_OrderOK object:nil userInfo:nil];
                break;
            case WXErrCodeUserCancel:
                //服務(wù)器端查詢支付通知或查詢API返回的結(jié)果再提示成功
                //交易取消
                [HemaFunction openIntervalHUDOK:@"已取消支付"];
                break;
            default:
                NSLog(@"支付失敗, retcode=%d",resp.errCode);
                [[NSNotificationCenter defaultCenter] postNotificationName:BB_NOTIFICATION_OrderFail object:nil userInfo:nil];
                break;
        }
    }
}

備注:支付寶支付,銀聯(lián)支付, 想要拿到支付之后結(jié)果的話 ,也和微信支付一樣,都要執(zhí)行新增的兩個(gè)方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容