對iOS端支付寶和微信支付程式碼進行整合

CocoaJason發表於2018-04-17

#介紹

簡單封裝微信與支付寶支付程式碼,幫助大家快速完成iOS端支付的接入 本工程僅對第三方SDK程式碼進行整合,並未新增其他程式碼,請放心使用。 如果您對本程式碼有建議或者意見,也請您留言。

#專案地址

HZPayHelp

#使用介紹

1.支付SDK的配置

支付寶支付

   NSString *ALiPayScheme = @"";
    [[HZPayShareInstance sharedInstance] setUpAlipaySchemeStr:ALiPayScheme];
複製程式碼

微信支付

    NSString *wxId = @"";
    [[HZPayShareInstance sharedInstance] registerApp:wxId];
複製程式碼

2.開啟支付APP進行支付 本工程是對返回的結果進行列舉,您需要自己對您自己的業務進行處理 您也可根據自身需求進行修改

支付寶支付

   /**
 開啟支付寶支付

 @param orderString 從伺服器獲取到的訂單資訊
 */
-(void)openAliPay:(NSString *)orderString
{
    HZPayShareInstance * payManager = [HZPayShareInstance sharedInstance];
    [payManager openAliPay:orderString AliPayResult:^(BOOL result, NSString *errStr, NSString *resultStr) {
        if (result)
        {
            /*
             成功
             */
        }
        else
        {
            /*
             其他原因
             errStr 為錯誤的訊息
             */
        }
    }];
}
複製程式碼

微信支付

   /**
 開啟微信支付

 @param wechatDic 從伺服器獲取到的字典資訊
 */
-(void)openWechat:(NSDictionary *)wechatDic
{
    HZPayShareInstance * payManager = [HZPayShareInstance sharedInstance];
    [payManager openWxPay:wechatDic WxPayResult:^(int errCode, NSString *errStr) {
        switch (errCode) {
            case WXSuccess:
            {
                /*
                 成功
                 */
            }
                break;
                
            case WXErrCodeUserCancel:
            {
                /*
                 取消
                 */
            }break;
                
            case WXErrCodeSentFail:
            {
                /*
                 失敗
                 */
            }break;
                
            default:
                break;
        }
    }];
}
複製程式碼

3.處理支付結果

APPdelegate中,對支付APP返回的URL進行解析

#pragma mark - 處理微信 qq 支付寶返回的請求
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    [[HZPayShareInstance sharedInstance]PayForResults:url];
    return YES;
}

-(BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString *,id> *)options
{
    [[HZPayShareInstance sharedInstance]PayForResults:url];
    return YES;
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    [[HZPayShareInstance sharedInstance]PayForResults:url];
    return YES;
}
複製程式碼

相關文章