美文网首页
微信支付

微信支付

作者: 小凡凡520 | 来源:发表于2019-10-11 17:13 被阅读0次
一、集成
pod 'WechatOpenSDK'
二、使用
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
    // 微信注册
    WXApi.registerApp("xxxxx")
    return true
}


func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    return WXApi.handleOpen(url, delegate: self)
}

extension AppDelegate:WXApiDelegate {
    
    func onResp(_ resp: BaseResp!) {
        if let response = resp as? PayResp {
            switch response.errCode {
            case WXSuccess.rawValue:
                print("支付成功")
            case WXErrCodeUserCancel.rawValue:
                print("用户点击取消并返回")
            case WXErrCodeCommon.rawValue:
                print("普通错误类型")
            case WXErrCodeSentFail.rawValue:
                print("发送失败")
            case WXErrCodeAuthDeny.rawValue:
                print("授权失败")
            case WXErrCodeUnsupport.rawValue:
                print("微信不支持")
            default:
                print("default")
            }
        }
    }
}




// 触发支付
func pay() {
    // 实际项目中这些参数都是通过网络请求后台得到的,详情见以下注释,测试的时候可以让后台将价格改为1分钱
    let req = PayReq()
    // 微信开放平台审核通过的AppID
    req.openID = "appid"
    // 微信支付分配的商户ID
    req.partnerId = "partnerid"
    // 预支付交易会话ID
    req.prepayId = "prepayid"
    // 随机字符串
    req.nonceStr = "noncestr"
    // 固定值
    req.package = "package"
    // 签名,除了sign,剩下6个组合的再次签名字符串
    req.sign = "sign"
    if WXApi.isWXAppInstalled() {
        let ret = WXApi.send(req)
        if !ret {
            print("SDK错误")
        }
    } else {
        print("未安装微信应用")
    }
}
640.jpeg

相关文章

网友评论

      本文标题:微信支付

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