---
url: "https://pay.weixin.qq.com/doc/v3/merchant/4012284369.md"
title: "微信垫资还款"
doc_id: 4012284369
---

>更新时间：2024.08.14

该接口可以实现从商户的业务跳转至还款小程序。现在支持商户业务类型为小程序和App。

未接入垫资功能的商户无需调用



## 1. 小程序调用请求说明

支持商户： 【普通商户】

接口名称： 参照官网用< navigator>组件实现跳转 [https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html](https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html)

是否需要证书： 否

微信还款服务小程序AppID为：wx5e73c65404eee268

微信还款服务小程序小程序路径为：pages/invest\_list/invest\_list

微信还款服务小程序小程序username为：gh\_5e259b7a73b1

### extraData参数说明

| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| appid | string(32) | true | 车主服务小程序AppID，固定值：wx5e73c65404eee268 |
| mchid | string(32) | true | 微信支付分配的商户号 |
| nonce_str | string(32) | true | 随机字符串，不长于32位。 |
| openid | string(32) | false | 此参数必传，用户在商户AppID下的唯一标识。 |

注意

(此处的 `appid` 和 `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,
mchid:1900009231,
openid:'oUpF8uMEb4qRXf22hE3X68TekukE',
nonce_str:5K8264ILTKCH16CQ2502SI8ZNMTM67VS
```

### 小程序返回参数

无数据

## 2. App调用请求说明

支持商户： 【普通商户】

接口名称： App拉起小程序标准流程参考《[App拉起小程序功能](https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Launching_a_Mini_Program/Launching_a_Mini_Program.html)》

微信还款服务小程序小程序路径为：pages/invest\_list/invest\_list

微信还款服务小程序小程序username为：gh\_5e259b7a73b1

### 接口参数

Android 第三方 App 需要处理 ShowMessageFromWX.req 的微信回调，iOS 则需要将 AppID 添加到第三方 App 工程所属的 plist 文件 URL types 字段。

| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| appid | string(32) | true | 微信支付分配的公众账号ID |
| mchid | string(32) | true | 微信支付分配的商户号 |
| nonce_str | string(32) | true | 随机字符串，不长于32位。 |
| openid | string(32) | false | 此参数必传，用户在商户AppID下的唯一标识。 |

示例代码

iOS

```
`WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName =@"gh_5e259b7a73b1"; // 固定值，还款小程序原始ID
launchMiniProgramReq.path = @"pages/invest_list/invest_list?mch_id=1900009231&appid=wxcbda96de0b165486&nonce_str=5K8264ILTKCH16CQ2502SI8ZNMTM67VS &openid=oUpF8uMEb4qRXf22hE3X68TekukE=weixin"; //拉起小程序页面的可带参路径，不填默认拉起小程序首页
launchMiniProgramReq.miniProgramType = WXMiniProgramTypeRelease; //拉起小程序的类型
return [WXApi sendReq:launchMiniProgramReq];`
```

Android

```
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，暂时不返回参数。商户侧App接收到客户端回调后再次调用用户状态查询接口获取用户的最新状态 )：

示例代码

iOS

```
-(void)onResp:(BaseResp *)resp
  {
       if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
       {
            NSString *string = resp.extMsg;
            // 对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性
       }
  }
```

Android

```
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" （各业务自己的包名）（新增项）>
```