App调起支付分-签约计划
更新时间:2024.12.27商户通过调用签约计划接口打开微信支付分小程序,引导用户签约计划(App端)
# 简介
接口名称: WXOpenBusinessView
App跳转支付分需要引用新的openSDK
Android openSDK下载地址(版本>=5.3.1):Android资源下载 (opens new window)
Android 接入文档链接:openSDK说明文档 (opens new window)
iOS openSDK下载地址(版本>=1.8.4):iOS资源下载 (opens new window)
iOS 接入文档链接:openSDK说明文档 (opens new window)
# 接口兼容
- iOS兼容性表现:若微信版本 >= 7.0.3,开发者可以通过此openSDK接口跳转到微信支付分小程序;若微信版本 < 7.0.3,开发者通过此openSDK接口可以跳转到微信,但不能跳转到微信支付分小程序,此时微信会提示用户可能由于应用的请求非法或者微信版本过低。
- Android兼容性表现:若微信版本>=7.0.3,开发者可以通过此openSDK接口跳转到微信支付分小程序;若微信版本< 7.0.3,开发者通过此openSDK接口不能跳转到微信,此时开发者应提示用户更新微信版本。
# 接口参数
Android对应对象:WXOpenBusinessView.Req
iOS对应对象:WXOpenBusinessViewReq
# Object WXOpenBusinessView.Req & Object WXOpenBusinessViewReq
- businessType 必填【跳转类型】 固定配置:wxpayScorePlan。
- query 必填【业务参数】 使用URL的query string方式传递参数,格式为key=value&key2=value2,其中value,value2需要进行UrlEncode处理。
- extInfo 选填【其他配置】 自定义ext信息,json格式,如需指定小程序版本,可填 {"miniProgramType": type},默认正式版。 type取值:0:正式版
- package 必填【预签约token】 用于跳转到微信侧小程序签约数据,跳转到微信侧小程序传入,有效期为2小时;package可以从《创建用户的签约计划API》接口的返回参数中获取。
Query 查询参数
query示例
1package=AARupJoAAAABAAAAAADSh9ra0Xzx
Ios示例
1WXOpenBusinessViewReq *req = [WXOpenBusinessViewReq object];2req.businessType = @"wxpayScorePlan";3req.query = @"package=AARupJoAAAABAAAAAADSh9ra0Xzx";4req.extInfo = @"{\"miniProgramType\":0}";5[WXApi sendReq:req];
Android示例
1int wxSdkVersion = api.getWXAppSupportAPI();2if (wxSdkVersion >= Build.OPEN_BUSINESS_VIEW_SDK_iNT) {3 WXOpenBusinessView.Req req = new WXOpenBusinessView.Req();4 req.businessType = "wxpayScorePlan";5 req.query = "package=AARupJoAAAABAAAAAADSh9ra0Xzx";6 req.extInfo = "{\"miniProgramType\": 0}";7 Boolean ret = api.sendReq(req);8} else {9 /*需提示用户升级微信版本*/10}1112/********在WXEntryActivity的onResp里面接收回调,示例全码*******/13@Override14public void onResp(BaseResp r) {15 if (r.getType() == ConstantsAPI.COMMAND_OPEN_BUSINESS_VIEW) {16 WXOpenBusinessView.Resp launchMiniProgramResp = (WXOpenBusinessView.Resp) r;17 string18 text = string19 .format("nextMsg=%snerrStr=%snbusinessType=%s",20 resp.extMsg, resp.errStr, resp.businessType);21 Toast.makeText(this, text, Toast.LENGTH_lONG).show();22 }23}
文档是否有帮助