微信小程序 免密代扣

1.定义好pay.wxml

<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 20180921


        } else {
          var msg = options.referrerInfo.extraData.return_msg;
          wx.showModal({
            title: errorCode,
            content: msg,
          });
          console.log(TAG + ':签约失败');
        }
      }
    // }
  },

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗亚方舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值