1.定义好pay.wxml,确定绑定小程序的app-id,接下来我们就来聊聊关于微信小程序免密支付解绑?以下内容大家不妨参考一二希望能帮到您!

微信小程序免密支付解绑(微信小程序免密代扣)

微信小程序免密支付解绑

1.定义好pay.wxml,确定绑定小程序的app-id

<view class='btn_box'> <navigator target='miniProgram' extra-data='{{extraData}}' path='pages/index/index' app-id='wxbd687630cd02ce1d' hover-class="none"> <view class='btn_btn nor_linear_bg'>开通免密支付</view> </navigator> </view>

2.设置好pay.js参数处理

var util = require('../../utils/util.js'); const app = getApp(); Page({ onShow: function (options) { console.log(options,'pay.js start'); }, data:{ extraData:'', localCity:'' }, onLoad: function() { this.setData({ extraData:util.getextraData(), localCity:wx.getStorageSync(util.key.cityName) || app.globalData.baseInfo.cityName }) } })

绑定免密签证参数设置:

function getextraData() { const app = getApp(); var extraDataValue = { appid: app.globalData.baseInfo.appId, mch_id: app.globalData.baseInfo.mchId, sub_mch_id: app.globalData.baseInfo.subMchId, notify_url: app.globalData.baseInfo.notifyUrl, contract_code: config.contractCode, contract_display_account: app.globalData.baseInfo.contractDisplayAccount, plan_id: app.globalData.baseInfo.planId, request_serial: config.requestSerial, timestamp: config.timestamp, sub_appid: app.globalData.baseInfo.subAppId }; var extraDataSortValue = getSort(extraDataValue); var signValue = getSign(extraDataSortValue, app.globalData.baseInfo.appSecret); extraDataValue['sign'] = signValue; log(TAG, "signSign=[" signValue "]length=" String(signValue).length); return extraDataValue; }

3.app.js中 处理绑定后返回值

onShow: function (options) { let that = this; var bindStatus = wx.getStorageSync(util.key.bindStatus) || 0; if (options.scene == 1038) { var errorCode = options.referrerInfo && options.referrerInfo.extraData && options.referrerInfo.extraData.return_code ? options.referrerInfo.extraData.return_code:''; if (errorCode == 'SUCCESS') { var appid = options.referrerInfo.appId; var contractId = options.referrerInfo.extraData.contract_id; console.log("签约成功"); that.globalData.baseInfo.appid = appid; that.globalData.baseInfo.contractId = contractId; that.globalData.baseInfo.contractIds = contractId; that.globalData.baseInfo.bindStatus = 1; wx.setStorageSync(util.key.bindStatus, 1); //add by wupeng for jump scan //认证绑定后通过navigateBack跳转到首页scan可以直接退出 var pagelist = getCurrentPages(); var len = pagelist.length; var init = 0; var index = 0; for (var i = 0; i < len; i ) { if (pagelist[i].route.indexOf("scan/scan") >= 0) {//看路由里面是否有首页 init = 1; index = i; } } if (init == 1) { wx.navigateBack({ delta: len - index - 1 }); } else { wx.reLaunch({ url: "../scan/scan"//这个是默认的单页 }); } //end add by wupeng } else { var msg = options.referrerInfo.extraData.return_msg; wx.showModal({ title: errorCode, content: msg, }); console.log(TAG ':签约失败'); } } // } },

注意主小程序与微信免密小程序跳转存在参数认证问题。

多次绑定和解绑定可能会被微信平台判断拉黑导致再次免密失败。

,