h5微信拉起小程序支付

一、微信端

 1、定义小程序支付需要的一些参数

var payParam = {
	appId: data.data.appId,  //小程序的唯一标识
	nonceStr: data.data.nonceStr,// 生成签名的随机串
	package: data.data.wxPackage, //统一下单接口返回的 prepay_id 参数值
	signType: data.data.signType, //签名算法,应与后台下单时的值一致
	timeStamp: data.data.timeStamp, // 必填,生成签名的时间戳
	paySign: data.data.paySign, //统一下单接口返回的 prepay_id 参数值
}

2、加密小程序支付需要的一些参数


const parameter = "?payParam="+encodeURIComponent(JSON.stringify(payParam))

3.小程序支付路径


const url = "/pages/mallpay/mallpay"+parameter 

4、拉起小程序方式


wx.miniProgram.navigateTo({
	url: url
});

二、小程序端

1、onLoad函数接收微信传过来的加密payParam参数

 onLoad: function (options) {
    let param = decodeURIComponent(options.payParam);
    let pay = JSON.parse(param);
    this.setData({
      payParam: pay
    })
  },

2、小程序拉起支付代码

const _this = this;
wx.requestPayment({
      'appId': _this.data.payParam.appId,
      "timeStamp": _this.data.payParam.timeStamp,
      "package": _this.data.payParam.package,
      "paySign": _this.data.payParam.paySign,
      "signType": _this.data.payParam.signType,
      "nonceStr": _this.data.payParam.nonceStr,
      //支付成功的回调
      'success': function (res) {
        
      },
      //支付失败的回调
      'fail': function (res) {

      }
})

你可能感兴趣的:(大数据)