商户通过调用确认订单接口打开微信支付分小程序,引导用户确认订单(App端)
1. 接口说明
2. 接口兼容
iOS兼容性表现:若微信版本 >= 7.0.3,开发者可以通过此openSDK接口跳转到微信支付分小程序;若微信版本 < 7.0.3,开发者通过此openSDK接口可以跳转到微信,但不能跳转到微信支付分小程序,此时微信会提示用户可能由于应用的请求非法或者微信版本过低。
Android兼容性表现:若微信版本>=7.0.3,开发者可以通过此openSDK接口跳转到微信支付分小程序;若微信版本< 7.0.3,开发者通过此openSDK接口不能跳转到微信,此时开发者应提示用户更新微信版本。
3. 接口参数
Android对应对象:WXOpenBusinessView.Req
iOS对应对象:WXOpenBusinessViewReq
Object WXOpenBusinessView.Req & Object WXOpenBusinessViewReq
|
跳转类型 | businessType | string[1,16] | 是 | 固定配置:wxpayScoreUse。 |
业务参数 | query | string[1,2048] | 是 | 使用URL的query string方式传递参数,格式为key=value&key2=value2,其中value,value2需要进行UrlEncode处理。详细说明见下文 |
 | 业务参数 | | |
商户号 | mch_id | string[1,32] | 是 | 可在微信支付分配的商户号。 示例值:1230000109 | 扩展字符串 | package | string[1,128] | 是 | 可在【创建支付分订单】接口的返回字段package中获取。 | 时间戳 | 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 |
|
|
其他配置 | extInfo | string[1,128] | 否 | 自定义ext信息,json格式,如需指定小程序版本,可填 {"miniProgramType": type},默认正式版。 type取值: 0:正式版 |
4. qurey示例

1mch_id=1230000109&package=XXXXXXXX&
2timestamp=1530097563&
3nonce_str=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2&sign_type=HMAC-SHA256&
4sign=029B52F67573D7E3BE74904BF9AEA
5. 返回参数
Android返回字段:WXOpenBusinessView.Resp
iOS返回字段:WXOpenBusinessViewResp
Object WXOpenBusinessView.Resp & Object WXOpenBusinessViewResp
|
跳转类型 | businessType | string[1,16] | 是 | 打开的业务类型。 |
返回信息 | extMsg | string | 是 | 支付分返回的业务数据,json格式。详细说明见下文 |
 | 返回信息 | | |
单据查询ID | query_id | string[1,64] | 是 | 单据查询ID,对应【查询支付分订单】接口中入参query_id。 | 应用ID | appid | string[1,32] | 是 | 支付分公众账号ID。 示例值:wxd8f3793ea3b935b8 |
|
|
6. extMsg示例

1 {"query_id":"XXXXXX","appid":"wxd8f3793ea3b935b8"}
7. 示例代码

1int wxSdkVersion = api.getWXAppSupportAPI();
2if (wxSdkVersion >= Build.OPEN_BUSINESS_VIEW_SDK_iNT) {
3 WXOpenBusinessView.Req req = new WXOpenBusinessView.Req();
4 req.businessType = "wxpayScoreUse";
5 req.query = "mch_id=1230000109&package=XXXXXXXX&
6 timestamp=1530097563&
7 nonce_str=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2&sign_type=
8 HMAC-SHA256&sign=029B52F67573D7E3BE74904BF9AEA";
9 req.extInfo = "{\"miniProgramType\": 0}";
10 Boolean ret = api.sendReq(req);
11} else {
12
13}
14
15
16 @Override
17public void onResp(BaseResp r) {
18 if (r.getType() == ConstantsAPI.COMMAND_OPEN_BUSINESS_VIEW) {
19 WXOpenBusinessView.Resp launchMiniProgramResp = (WXOpenBusinessView.Resp) r;
20 string
21 text = string
22 .format("nextMsg=%snerrStr=%snbusinessType=%s",
23 resp.extMsg, resp.errStr, resp.businessType);
24 Toast.makeText(this, text, Toast.LENGTH_lONG).show();
25 }
26}

1 WXOpenBusinessViewReq *req = [WXOpenBusinessViewReq object];
2 req.businessType = @"wxpayScoreUse";
3 req.query = @"mch_id=1230000109&package=XXXXXXXX&
4 timestamp=1530097563&
5 nonce_str=zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2&sign_type=
6 HMAC-SHA256&sign=029B52F67573D7E3BE74904BF9AEA";
7 req.extInfo = @"{\"miniProgramType\":0}";
8 [WXApi sendReq:req];