H5调起支付分-授权服务

最新更新时间:2020.07.06 版本说明

商户通过调用授权服务接口打开微信支付分小程序,引导用户授权服务(Web端)

简介

接口名称: openBusinessView

接口兼容:

此接口引用 JSAPI版本1.5.0,引用地址:https://res.wx.qq.com/open/js/jweixin-1.5.0.js

要求用户微信版本>=7.0.5

接口参数

Object

参数名 变量 类型[长度限制] 必填 描述
跳转类型 businessType string[1,16] 固定配置:wxpayScoreEnable
示例值:wxpayScoreEnable
业务参数 queryString string[1,2048] 使用URL的query string
方式传递参数,格式为key=value&key2=value2,其中value,value2需要进行UrlEncode处理。
示例值:见querystring
示例

apply_permissions_token=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2

query内部参数

参数名 变量 类型[长度限制] 必填 描述
预授权token apply_permissions_token string[1,2048] 用于跳转到微信侧小程序授权数据,跳转到微信侧小程序传入,有效期为1小时;apply_permissions_token可以从《商户预授权API》接口的返回参数中获取。
示例值:1230000109
	
let wechatInfo = navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i);
let wechatVersion = wechatInfo[1];

if (compareVersion(wechatVersion, '7.0.5') >= 0) {
   goToWXScore();
} else {
   // 提示用户升级微信客户端版本
   window.href = 'https://support.weixin.qq.com/cgi-bin/readtemplate?t=page/
   common_page__upgrade&text=text005&btn_text=btn_text_0'
}

/**
 * 跳转微信支付分
 */
function goToWXScore() {
    wx.checkJsApi({
        jsApiList: ['openBusinessView'], // 需要检测的JS接口列表
        success: function (res) {
        // 以键值对的形式返回,可用的api值true,不可用为false
        // 如:{"checkResult":{"openBusinessView":true},"errMsg":"checkJsApi:ok"}
        if (res.checkResult.openBusinessView) {
            wx.invoke(
                'openBusinessView', {
                    businessType: 'wxpayScoreEnable',
                    queryString: 'apply_permissions_token=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2'
                },
                function (res) {
                // 从微信侧小程序返回时会执行这个回调函数
                    if (parseInt(res.err_code) === 0) {s
                    // 返回成功 
                    } else {
                    // 返回失败
                    }
                });
            }
        }
    });
 }

 /**
  * 版本号比较
  * @param {string} v1 
  * @param {string} v2 
  */
function compareVersion(v1, v2) {
    v1 = v1.split('.')
    v2 = v2.split('.')
    const len = Math.max(v1.length, v2.length)
  
    while (v1.length < len) {
      v1.push('0')
    }
    while (v2.length < len) {
      v2.push('0')
    }
  
    for (let i = 0; i < len; i++) {
      const num1 = parseInt(v1[i])
      const num2 = parseInt(v2[i])
  
      if (num1 > num2) {
        return 1
      } else if (num1 < num2) {
        return -1
      }
    }
  
    return 0
 }

int wxSdkVersion = api.getWXAppSupportAPI();
if (wxSdkVersion >= Build.OPEN_BUSINESS_VIEW_SDK_iNT) {
  WXOpenBusinessView.Req req = new WXOpenBusinessView.Req();
  req.businessType = "wxpayScoreEnable";
  req.query = "mch_id=1230000109&service_id=88888888000011&
  out_request_no=1234323JKHDFE1243252&
  timestamp=1530097563&nonce_str=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2&
  sign_type=HMAC-SHA256&sign=029B52F67573D7E3BE74904BF9AEA";
  req.extInfo = "{\"miniProgramType\": 0}";
  Boolean ret = api.sendReq(req);
} else {
  /*需提示用户升级微信版本*/
}
​
/********在WXEntryActivity的onResp里面接收回调,示例全码*******/
@Override
public void onResp(BaseResp r) {
  if (r.getType() == ConstantsAPI.COMMAND_OPEN_BUSINESS_VIEW) {
    WXOpenBusinessView.Resp launchMiniProgramResp = (WXOpenBusinessView.Resp) r;
    string
text = string
.format("nextMsg=%snerrStr=%snbusinessType=%s", resp.extMsg, resp.errStr, resp.businessType); Toast.makeText(this, text, Toast.LENGTH_lONG).show(); } }

版本说明

关闭

V1.0
2019.08.23
1. H5调起支付分-授权服务上线

技术咨询

反馈有奖