微信支付——微信公众号支付(前端支付逻辑)

微信支付文档https://pay.weixin.qq.com/docs/merchant/apis/jsapi-payment/direct-jsons/jsapi-prepay.html

wx.config({
      debug: false, // 开启调试模式,
      appId: data.data.appId, // 必填,企业号的唯一标识
      timestamp: data.data.timestamp, // 必填,生成签名的时间戳
      nonceStr: data.data.nonceStr, // 必填,生成签名的随机串
      signature: data.data.signature, // 必填,签名
      jsApiList: ['getBrandWCPayRequest'], // 必填,需要使用的JS接口列表
     });
     wx.ready(() => {
           console.log('成功')
            // 如果是进入页面就需要调用支付
            // 支付唤醒需要放在这里
            // WeixinJSBridge.invoke('getBrandWCPayRequest', {
            //         appId: res.data.appId, //公众号ID,由商户传入
            //         timeStamp: res.data.timeStamp, //时间戳,自1970年以来的秒数     
            //         nonceStr: res.data.nonceStr, //随机串     
            //         package: res.data.packageValue,
            //         signType: res.data.signType, //微信签名方式
            //         paySign: res.data.paySign
            //     },
            //     function(res) {
            //         if (res.err_msg ==
            //             "get_brand_wcpay_request:ok") {
            //             // 判断支付成功跳转到支付后续的业务的页面
            //             uni.showToast({
            //                 title: '支付成功',
            //                 icon:'none'
            //             })
            //             setTimeout(() => {
            //                 uni.navigateBack()
            //             }, 1000)
            //         }
            //     });
            // 如果是手动触发唤醒支付,可以在外部定义方法调用

image.png

wx.config的参数是后端返回的
需要注意package的格式应该为package:"prepay_id=wx201410272009395522657a690389285100"
如果提示
image.png

请参考https://developers.weixin.qq.com/community/develop/doc/000ece280b8238aeb84014c6d61800
一一对照检查是否存在问题
image.png

唤醒支付的api所需参数也是由后端返回(因为我用的是微信支付的商户)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容