小程序 微信支付成功后,会发送个模板消息。该模板消息会在小程序平台选用模板。
paymentResult.JS 文件
该文件 是支付后进来,成功或者失败都会在这,在上面一篇内容 有介绍,以code值01代表成功,走成功结果页,code值为0 失败结果页。
还有一些 支付信息存在缓存中 paymentParam ,里面支付金额,产品名称等信息。在调起原生支付文件,我们 模板接口需要 prepay_id值,他是用
formId 承载的。 (微信小程序使用模板消息需要使用支付prepay_id或表单提交formId,) 内容 在 https://www.cnblogs.com/lguow/p/10448501.html
let prepay_id = obj.packageStr.split('=')[1]; console.log('packageStr:',obj.packageStr) console.log('prepay_id值:-----', prepay_id)
onLoad: function (options) { if (options && options.code){ this.setData({ code:options.code, msg: options.msg || '' }) if(options.code == '1'){ let userCode = wx.getStorageSync('userCode') || ''; let paymentParam = wx.getStorageSync('paymentParam'); let linkParam = paymentParam.linkParam; let params = { url: api.addPayInfo, contentType:'application/json;charset=UTF-8', showLoading: false, data:{ userCode: userCode, payNo: linkParam.payApplyNo || '', prodCode: linkParam.productCode || '', prodName: linkParam.productName || '', money: linkParam.orderAmount || '', prodType: linkParam.miniSource == 'A2' ? 1 : linkParam.miniSource == 'carAndnoCar' ? 3 : 2 // 1车险, 2非车险 3车+非车 } } ajax(params).then(res => { }) let prepay_id = options.prepay_id; console.log('prepay_id值:-----', prepay_id) this.boardNew(prepay_id); } } },
模板消息 方法 通过上述 boardNew 使用。
//模板消息 boardNew: function (prepay_id){ let openid = wx.getStorageSync('openid') || ''; let paymentParam = wx.getStorageSync('paymentParam'); let linkParam = paymentParam.linkParam; let params = { url: api.getWxTemplate, contentType: 'application/json;charset=UTF-8', showLoading: false, data: { touser: openid, templateId: 'HkoIX1r6fSmVf_ip_0676QyZr4SU4_sShAIeoaxd8VA', //模板消息ID page: 'pages/index/index', formId: prepay_id, data: { keyword1: { value: '¥ '+ linkParam.orderAmount }, keyword2: { value: '进入小程序可以查看更多活动和服务呦~!' } }, "emphasisKeyword": "keyword1.DATA" } } console.log(params) ajax(params).then(res => { if (res.errCode == 0){ console.log(res.errmsg) } }) },