适用对象:服务商
接口名称: 参照官网用< navigator>组件实现跳转 https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html
是否需要证书:否
微信还款服务小程序appid为:wx5e73c65404eee268
微信还款服务小程序小程序路径为:pages/invest_list/invest_list
微信还款服务小程序小程序username为:gh_5e259b7a73b1
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
小程序APPID | appid | string[1,32] | 是 | 车主服务小程序appid,固定值:wx5e73c65404eee268 示例值:wx5e73c65404eee268 |
子商户应用ID | sub_appid | string[1,32] | 否 | 子商户号绑定的服务号,小程序,APP的appid(需要在服务商的商户平台为子商户绑定) 示例值:wxcbda96de0b165489 |
商户号 | mchid | string[1,32] | 是 | 微信支付分配的商户号 示例值:1900009231 |
子商户号 | sub_mch_id | string[1,32] | 是 | 子商户号 示例值:1900000109 |
随机字符串 | nonce_str | string[1,32] | 是 | 随机字符串,不长于32位。 示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
用户标识 | openid | string[1,32] | 是 | 此参数必传,用户在商户appid下的唯一标识。 示例值:oUpF8uMEb4qRXf22hE3X68TekukE |
用户子标识 | sub_openid | string[1,32] | 否 | 此参数必传,用户在子商户appid下的唯一标识。openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o |
注意:(此处的app-id和path为固定值,分别是还款小程序的appid和还款页面):
<navigator target="miniProgram" open-type="navigate" app-id="wx5e73c65404eee268 " path="pages/invest_list/invest_list" extra-data="{{extraData}}" version="release">跳转到还款小程序
var extraData = {
appid:wxcbda96de0b165486,
sub_appid:wxcbda96de0b165482,
mchid:1900009231,
sub_mchid:1900009232,
openid:'oUpF8uMEb4qRXf22hE3X68TekukE',
nonce_str:5K8264ILTKCH16CQ2502SI8ZNMTM67VS}
无数据
适用对象:服务商
接口名称: APP拉起小程序标准流程参考《APP拉起小程序功能》
微信还款服务小程序小程序路径为:pages/invest_list/invest_list
微信还款服务小程序小程序username为:gh_5e259b7a73b1
Android 第三方 app 需要处理 ShowMessageFromWX.req 的微信回调,iOS 则需要将 appId 添加到第三方 app 工程所属的 plist 文件 URL types 字段。
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
应用ID | appid | string[1,32] | 是 | 微信支付分配的公众账号id 示例值:wxcbda96de0b165486 |
子商户应用ID | sub_appid | string[1,32] | 否 | 子商户号绑定的服务号,小程序,APP的appid(需要在服务商的商户平台为子商户绑定) 示例值:wxcbda96de0b165489 |
商户号 | mchid | string[1,32] | 是 | 微信支付分配的商户号 示例值:1900009231 |
子商户号 | sub_mch_id | string[1,32] | 是 | 子商户号 示例值:1900000109 |
随机字符串 | nonce_str | string[1,32] | 是 | 随机字符串,不长于32位。 示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
用户标识 | openid | string[1,32] | 否 | 此参数必传,用户在商户appid下的唯一标识。openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o |
用户子标识 | sub_openid | string[1,32] | 否 | 此参数必传,用户在子商户appid下的唯一标识。openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o |
String appId = "wx5e73c65404eee268"; // 填写当前商户APP的APPID
IWXAPI api = WXAPIFactory.createWXAPI(context, appId);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = "gh_5e259b7a73b1"; // 固定值,还款小程序原始id
//拉起小程序页面的可带参路径,不填默认拉起小程序首页
req.path = "pages/invest_list/invest_list?mchid=1900009231&appid=wxcbda96de0b165486&nonce_str=5K8264ILTKCH16CQ2502SI8ZNMTM67VS&openid=oUpF8uMEb4qRXf22hE3X68TekukE=weixin;
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;
api.sendReq(req);
(用户授权完成之后,会跳转回到商户的APP,暂时不返回参数。商户侧APP接收到客户端回调后再次调用用户状态查询接口获取用户的最新状态 ):
public void onResp(BaseResp resp) {
Log.i(TAG,"--->>>onResp:");
int result = 0;
isSucc =false;
Toast.makeText(this, "baseresp.getType = " + resp.getType(), Toast.LENGTH_SHORT).show();
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
isSucc = true;
result = R.string.errcode_success;
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
result = R.string.errcode_cancel;
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
result = R.string.errcode_deny;
break;
case BaseResp.ErrCode.ERR_UNSUPPORT:
result = R.string.errcode_unsupported;
break;
default:
result = R.string.errcode_unknown;
break;
}
Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}
注意:由于Android的返回机制,会导致这里有体验问题,需要在配置文件里面的AndroidManifest.xml里面增加这两项配置:
<activity
android:name="com.diipo.pandaspeed.wxapi.WXEntryActivity"(注意这里红色部分需要改成自己的包名)
android:exported="true"
android:label="@string/app_name"
android:launchMode="singleTask"(新增项)
android:taskAffinity="com.diipo.pandaspeed" (各业务自己的包名)(新增项)>