美文网首页
小程序直播商城支付报错问题

小程序直播商城支付报错问题

作者: 小飞5 | 来源:发表于2021-12-09 17:19 被阅读0次

最近公司即将开通视频号直播售卖小程序的商品,结果在测试的时候发现以前用于小程序支付的wx.requestPayment方法直接走fail,

wx.requestPayment({

          appId: pay_info.appId,

          timeStamp: pay_info.timeStamp,

          nonceStr: pay_info.nonceStr,

          package: pay_info.package,

          signType: pay_info.signType,

          paySign: pay_info.paySign,

          success: function (res) {

            ...

          },

          fail: function (res) {

            console.log(res)

            wx.showToast({

              title: '已取消支付',

              icon: 'none',

              duration: 1200

            })

         ..

          }

        });

这是原来的代码,后来发现从视频号进入小程序属于特殊场景需要使用requestOrderPayment

wx.requestOrderPayment({

          timeStamp: pay_info.timeStamp,

          nonceStr: pay_info.nonceStr,

          package: pay_info.package,

          signType: pay_info.signType,

          paySign: pay_info.paySign,

          orderInfo,

          success: function (res) {

            ...

          },

          fail: function (res) {

            if (res.errMsg === 'requestOrderPayment:fail cancel') {

              wx.showToast({

                title: '已取消支付',

                icon: 'none',

                duration: 1200

              })

            } else {

              wx.showToast({

                title: '系统出错',

                icon: 'error'

              })

            }

          },

        })

其中orderInfo是特殊场景才需要传的,说道这里,需要用到另一个方法来获取scene

var scene = wx.getLaunchOptionsSync().scene

  wx.setStorageSync('scene', scene)

在app.js中onLunch方法中加入上面两句即可获取,

if (scene === 1175 || scene === 1176 || scene === 1177) {

          orderInfo=pay_info.orderInfo

        }

根据scene判断是否需要orderInfo

相关文章

网友评论

      本文标题:小程序直播商城支付报错问题

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