商户通过调用确认订单接口打开微信支付分小程序,引导用户确认订单(App端)
1. 接口说明
接口名称: WXOpenBusinessView(Android、iOS)、OpenBusinessView(鸿蒙)
鸿蒙 openSDK下载地址(版本>=1.0.5):鸿蒙资源下载
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
鸿蒙应用对象:OpenBusinessViewReq
Object WXOpenBusinessView.Req & Object WXOpenBusinessViewReq & Object OpenBusinessViewReq
|
跳转类型 | businessType | string[1,16] | 是 | 固定配置:wxpayScoreUse。 |
业务参数 | query | string[1,2048] | 是 | 使用URL的query string方式传递参数,格式为key=value&key2=value2,其中value,value2需要进行UrlEncode处理。详细说明见下文 |
 | 业务参数 | | |
扩展字符串 | package | string[1,128] | 是 | 可在【创建支付分订单】接口的返回字段package中获取。 |
|
|
其他配置 | extInfo | string[1,128] | 否 | 自定义ext信息,json格式,如需指定小程序版本,可填 {"miniProgramType": type},默认正式版。 type取值: 0:正式版 |
4. qurey示例

1package=AAQTnZoAAAABAAAAAAD8m2b8VRdZ2kVdKmHNZiAAAABcwQVtru-5k9MmEOZJ_Pv_Nq7Cw56dNKKN5Ej3Knt5jTHF-NdsP_McFW-iaU3iuJ0gWlNQeG9UihoKi0k2pv1t71M6mpk15X6L1545yNpmPD5uhi3poFV8e_5EdYwi_cbc6tXYVfa0AJUO4OzHGPhMdT4ZMwmFFhD0HQi9mRHQhFRKPwFai4NkkW7vm9mv1test
5. 返回参数
Android返回对象:WXOpenBusinessView.Resp
iOS返回对象:WXOpenBusinessViewResp
鸿蒙返回对象:OpenBusinessViewResp
Object WXOpenBusinessView.Resp & Object WXOpenBusinessViewResp & Object OpenBusinessViewResp
|
跳转类型 | 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 = "package=AAQTnZoAAAABAAAAAAD8m2b8VRdZ2kVdKmHNZiAAAABcwQVtru-5k9MmEOZJ_Pv_Nq7Cw56dNKKN5Ej3Knt5jTHF-NdsP_McFW-iaU3iuJ0gWlNQeG9UihoKi0k2pv1t71M6mpk15X6L1545yNpmPD5uhi3poFV8e_5EdYwi_cbc6tXYVfa0AJUO4OzHGPhMdT4ZMwmFFhD0HQi9mRHQhFRKPwFai4NkkW7vm9mv1test";
6 req.extInfo = "{\"miniProgramType\": 0}";
7 Boolean ret = api.sendReq(req);
8} else {
9
10}
11
12
13 @Override
14public void onResp(BaseResp r) {
15 if (r.getType() == ConstantsAPI.COMMAND_OPEN_BUSINESS_VIEW) {
16 WXOpenBusinessView.Resp launchMiniProgramResp = (WXOpenBusinessView.Resp) r;
17 string
18 text = string
19 .format("nextMsg=%snerrStr=%snbusinessType=%s",
20 resp.extMsg, resp.errStr, resp.businessType);
21 Toast.makeText(this, text, Toast.LENGTH_lONG).show();
22 }
23}

1 WXOpenBusinessViewReq *req = [WXOpenBusinessViewReq object];
2 req.businessType = @"wxpayScoreUse";
3 req.query = @"package=AAQTnZoAAAABAAAAAAD8m2b8VRdZ2kVdKmHNZiAAAABcwQVtru-5k9MmEOZJ_Pv_Nq7Cw56dNKKN5Ej3Knt5jTHF-NdsP_McFW-iaU3iuJ0gWlNQeG9UihoKi0k2pv1t71M6mpk15X6L1545yNpmPD5uhi3poFV8e_5EdYwi_cbc6tXYVfa0AJUO4OzHGPhMdT4ZMwmFFhD0HQi9mRHQhFRKPwFai4NkkW7vm9mv1test";
4 req.extInfo = @"{\"miniProgramType\":0}";
5 [WXApi sendReq:req];

1import * as wxopensdk from '@tencent/wechat_open_sdk';
2
3export const WXApi = wxopensdk.WXAPIFactory.createWXAPI(APP_ID);
4
5
6async sendWxPayScoreUse() {
7 let req = new wxopensdk.OpenBusinessViewReq
8 req.businessType = "wxpayScoreUse";
9 req.query = "package=AAQTnZoAAAABAAAAAAD8m2b8VRdZ2kVdKmHNZiAAAABcwQVtru-5k9MmEOZJ_Pv_Nq7Cw56dNKKN5Ej3Knt5jTHF-NdsP_McFW-iaU3iuJ0gWlNQeG9UihoKi0k2pv1t71M6mpk15X6L1545yNpmPD5uhi3poFV8e_5EdYwi_cbc6tXYVfa0AJUO4OzHGPhMdT4ZMwmFFhD0HQi9mRHQhFRKPwFai4NkkW7vm9mv1test";
10 req.extInfo = "{miniProgramType:0}";
11 let finished = await WXApi.sendReq(getContext(this) as common.UIAbilityContext, req);
12}
13
14
15
16onResp(resp: wxopensdk.BaseResp): void {
17if (resp instanceof wxopensdk.OpenBusinessViewResp) {
18if ("wxpayScoreUse" === resp.businessType) {
19
20 }
21 }
22}