基础支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合单支付
付款码支付
经营能力
微信支付分(免确认模式)
微信支付分(免确认预授权模式)
微信支付分(需确认模式)
微信支付分(公共API)
微信先享卡
支付即服务
行业方案
智慧商圈
营销工具
代金券
商家券
委托营销
消费卡
支付有礼
小程序发券插件
H5发券
图片上传(营销专用)
现金红包
资金应用
付款
分账
风险合规
消费者投诉2.0
其他能力
清关报关
图片上传
视频上传

H5调起支付分-确认订单

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

商户通过调用确认订单接口打开微信支付分小程序,引导用户确认订单(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] 固定配置:wxpayScoreUse
示例值:wxpayScoreUse
业务参数 queryString string[1,2048] 使用URL的query string方式传递参数,格式为key=value&key2=value2,其中value,value2需要进行UrlEncode处理。
示例值:见queryString示例

mch_id=1230000109&package=XXXXXXXX&
timestamp=1530097563&nonce_str=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2
&sign_type=HMAC-SHA256&sign=029B52F67573D7E3BE74904BF9AEA

query内部参数

参数名 变量 类型[长度限制] 必填 描述
商户号 mch_id string[1,32] 微信支付分配的商户号。
示例值:1230000109
扩展字符串 package string[1,128] 可在【创建订单】接口的返回字段package中获取。
示例值:XXXXXXXX
时间戳 timestamp string[1,32] 生成签名时间戳,单位秒。
示例值:1530097563
随机字符串 nonce_str string[1,32] 生成签名随机串。由数字、大小写字母组成,长度不超过32位。
示例值:zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2
签名方式 sign_type string[1,32] 签名类型,仅支持HMAC-SHA256。
示例值:HMAC-SHA256
签名 sign string[1,64] 使用字段mch_id、package、timestamp、nonce_str、sign_type按照签名生成算法计算得出的签名值。
示例值:029B52F67573D7E3BE74904BF9AEA

返回参数

Object res

参数名 变量 类型[长度限制] 必填 描述
返回码 err_code Number/string[1,32] 返回码,由于iOS和Android实现的差异,err_code类型可能为Number或string
,所以在判断支付分是否成功返回商户的H5时,需要对err_code做整型化处理。
示例值:
iOS:0
Android:'0'
返回信息 err_msg string[1,128] 返回信息
示例值:openBusinessView:ok
+业务参数 extraData Object 当err_code为0时,extraData才返回;反之,则不返回。
参数名 变量 类型[长度限制] 必填 描述
单据查询id query_id string[1,64] 单据查询id,对应【查询订单】接口中入参query_id。
示例值:XXXXXXXX
应用ID appid string[1,32] 支付分公众账号ID。
示例值:wxd8f3793ea3b935b8

注意:只有用户点支付分页面内返回按钮时,才会带上返回参数;如果用户左滑返回或者点击页面左上角的返回图标返回,则不会带上返回参数。所以推荐在【查询订单】接口使用out_order_no作为入参。另外商户侧后台在创建支付分订单时需向前端返回out_order_no,同时前端需缓存out_order_no,以便在接口回调中查询订单状态。



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: 'wxpayScoreUse',
                    queryString
: 'mch_id=1230000109&package=xxxxx& timestamp=1530097563&nonce_str=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2&sign_type=HMAC-SHA256& sign=029B52F67573D7E3BE74904BF9AEA' }, function (res) { // 从支付分返回时会执行这个回调函数 if (parseInt(res.err_code) === 0) { // 返回成功 } 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 }


版本说明

关闭
V1.1
2019.12.16
1. 业务参数调整为queryString

V1.0
2019.08.23
1. 开启/停用服务回调通知上线

文档调研

技术咨询

反馈有奖