基础支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合单支付
付款码支付
经营能力
微信支付分(免确认预授权模式)
微信支付分(需确认模式)
微信支付分(公共API)
支付即服务
行业方案
智慧商圈
微信支付分停车服务
营销工具
代金券
商家券
委托营销
消费卡
支付有礼
小程序发券插件
H5发券
图片上传(营销专用)
现金红包
资金应用
商家转账到零钱
分账
风险合规
消费者投诉2.0
其他能力
清关报关
图片上传
视频上传
微信支付平台证书

微信垫资还款API

最新更新时间:2021.11.29 版本说明


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

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


1. 小程序调用请求说明

接口说明

适用对象:直连商户

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

是否需要证书:

微信还款服务小程序appid为:wx5e73c65404eee268

微信还款服务小程序小程序路径为:pages/invest_list/invest_list

微信还款服务小程序小程序username为:gh_5e259b7a73b1

extraData参数说明:

参数名 变量 类型[长度限制] 必填 描述
小程序APPID appid string[1,32] 车主服务小程序appid,固定值:wx5e73c65404eee268
示例值:wx5e73c65404eee268
商户号 mchid string[1,32] 微信支付分配的商户号
示例值:1900009231
随机字符串 nonce_str string[1,32] 随机字符串,不长于32位。
示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS
用户标识 openid string[1,32] 此参数必传,用户在商户appid下的唯一标识。
示例值:oUpF8uMEb4qRXf22hE3X68TekukE

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

小程序返回参数

无数据


2. APP调用请求说明

接口说明

适用对象:直连商户

接口名称: 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
商户号   mchid string[1,32] 微信支付分配的商户号
示例值:1900009231
随机字符串 nonce_str string[1,32] 随机字符串,不长于32位。
示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS
用户标识 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);
    
WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName =@"gh_5e259b7a73b1"; // 固定值,还款小程序原始id
launchMiniProgramReq.path = @"pages/invest_list/invest_list?mchid=1900009231&appid=wxcbda96de0b165486&nonce_str=5K8264ILTKCH16CQ2502SI8ZNMTM67VS &openid=oUpF8uMEb4qRXf22hE3X68TekukE=weixin"; //拉起小程序页面的可带参路径,不填默认拉起小程序首页
launchMiniProgramReq.miniProgramType = WXMiniProgramTypeRelease; //拉起小程序的类型
return [WXApi sendReq:launchMiniProgramReq];
    

APP返回参数

(用户授权完成之后,会跳转回到商户的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" (各业务自己的包名)(新增项)>

                                

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


技术咨询

文档反馈