美文网首页
iOS 微信支付不走回调onResp

iOS 微信支付不走回调onResp

作者: 老刘了 | 来源:发表于2023-07-10 16:30 被阅读0次

    当其他配置没问题的时候,一定要检查UniversalLinks

    [WXApi registerApp:WXAPPID universalLink:WXUniversalLinks];
    

    UniversalLinks检查,仅测试环境使用,要求微信sdk>1.8.7

    //在register之前打开log, 后续可以根据log排查问题
    [WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) {
        NSLog(@"WeChatSDK: %@", log);
    }];
    
    //务必在调用自检函数前注册
    [WXApi registerApp:APP_ID universalLink:UNIVERSAL_LINK];
    
    //调用自检函数
    [WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) {
        NSLog(@"%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);
    }];
    

    WXApiManager.h

    #import <WXApi.h>
    
    @protocol WXApiManagerDelegate <NSObject>
    
    @end
    
    @interface WXApiManager : NSObject<WXApiDelegate>
    
    @property (nonatomic, assign) id<WXApiManagerDelegate> delegate;
    
    + (instancetype)sharedManager;
    
    @end
    

    WXApiManager.m

    #import "WXApiManager.h"
    
    @implementation WXApiManager
    
    #pragma mark - LifeCycle
    + (instancetype)sharedManager {
        static dispatch_once_t onceToken;
        static WXApiManager *instance;
        dispatch_once(&onceToken, ^{
            instance = [[WXApiManager alloc] init];
        });
        return instance;
    }
    
    #pragma mark - WXApiDelegate
    - (void)onResp:(BaseResp *)resp {
        if([resp isKindOfClass:[PayResp class]]){
            switch (resp.errCode) {
                case WXSuccess:
                    NSLog(@"支付成功-PaySuccess,retcode = %d", resp.errCode);
                    break;
                    
                default:
                    NSLog(@"错误,retcode = %d, retstr = %@", resp.errCode,resp.errStr);
                    break;
            }
        }else {
            
        }
    }
    
    - (void)onReq:(BaseReq *)req {
        
    }
    @end
    
    

    设置代理方法

    AppDelegate

    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
        
        // 微信的支付回调
        if ([url.scheme isEqualToString:WXAPPID]){
            return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
        }
            return YES;
    }
    
    - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler {
        return [WXApi handleOpenUniversalLink:userActivity delegate:[WXApiManager sharedManager]];
    }
    

    相关文章

      网友评论

          本文标题:iOS 微信支付不走回调onResp

          本文链接:https://www.haomeiwen.com/subject/zegeudtx.html