小程序预签约

更新时间:2026.07.20
||
提示:本功能目前处于灰度测试阶段、暂未开放使用,待全量开放后将通过文档门户公告同步,感谢您的理解。

服务商调用本接口预先指定签约信息,进行预签约。在完成预签约后,服务商会得到对应的预签约码(presign_token)。服务商小程序再携带预签约码参数,通过微信SDK拉起微信客户端的签约页面,让用户完成签约。签约完成后,将返回服务商小程序。

若用户同意本次流程,则微信支付会通过服务商指定的回调地址通知签约结果;若用户未同意或者流程执行失败,则不通知签约结果。

在发起签约后,服务商签约协议号不能再重复使用,包括签约失败的协议、签约成功后解约的协议及签约成功生效中的协议。服务商可通过查询协议接口确认服务商签约协议号是否已经使用。

注意:服务商获取到的预签约码有效期为10分钟。10分钟后,预签约码失效。此时,如果再携带预签约码跳转到微信客户端进行签约,则将报错。

接口说明

支持商户:【普通服务商】

请求方式:【POST】/v3/credit-repayment/partner/contracts/mini-program-presign

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

请求参数
折叠全部参数

Header  HTTP头参数

 Authorization  必填 string

请参考签名认证生成认证信息


 Accept  必填 string

请设置为application/json


 Content-Type  必填 string

请设置为application/json


 Wechatpay-Serial  必填 string

【微信支付公钥ID】或【微信支付平台证书序列号】  请求参数中的敏感字段,需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引;也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引


body  包体参数

 appid  必填   string(32)

【商户AppID】 商户在微信申请的公众号或移动应用AppID,与服务商商户号绑定。可参考服务商模式开发必要参数说明


 openid  必填   string

【用户在服务商应用下的用户标示】 对应的用户需与实际在微信客户端中进行签约的用户一致。OpenID获取详见


 plan_id  必填   string(64)

【模板ID】 信贷还款模板ID; 在服务商平台上成功申请模板后系统自动分配的


 out_contract_code  必填   string(64)

【服务商签约协议号】 服务商的签约协议号。服务商需保证唯一性。只能是数字、大小写字母的组合


 display_name  必填   string(64)

【用户展示名称】 签约用户的名称,用于签约页面展示;需使用用户姓名掩码。掩码规则:只保留最后一个字符,除最后一个字符外全部字符(包括“.”等符号)均使用“*”替代;如姓名长度大于4个字符,统一用3个“*”+1位明文展示,如***G


 contract_notify_url  必填   string(256)

【签约结果通知地址】 接收微信支付异步通知回调地址,通知URL必须为HTTPS且可直接可访问的URL,不能携带参数。参考回调通知注意事项


 repayment_day  选填   integer

【还款日】 每月还款的日期


 repayment_amount_limit  必填   string

【还款金额上限】 每次最多还款金额;单位:分


 sub_mchid  选填   string(32)

【子商户号】 微信支付分配的商户号,服务商商户号与子商户号存在父子关系


 sub_appid  选填   string(32)

【子商户AppID】 与子商户号绑定的AppID。可参考服务商模式开发必要参数说明


 real_identity  必填   object

【用户实名信息】 商家可选择指定用户实名信息。指定用户实名信息后,微信支付系统会校验商户指定的用户实名信息跟用户在微信支付侧的实名信息是否一致。信息一致时才可进行签约;若信息不一致,不能进行本次签约。注:因实名信息不一致导致无法进行签约,微信支付将不会通知签约结果,也不会产生协议或订单信息。

属性

 identity_type  必填   string

【实名验证类型】 实名验证类型

可选取值

  • REAL_IDENTITY_TYPE_INVALID:  非法值

  • REAL_IDENTITY_TYPE_ID_CARD:  居民身份证


 identity_id  必填   string(512)

【加密后的自然人证件号码】 经过加密后的自然人证件号码信息


 real_name  必填   string(512)

【加密后的自然人姓名】 经过加密后的自然人姓名信息


 trade_info  选填   object

【交易信息】 若希望在进行签约后立即进行首次还款,则必须传入交易信息

属性

 out_trade_no  必填   string(32)

【商户侧交易单号】 商户系统的交易单号,只能是数字、大小写字母。需要保证在同一个商户号下唯一


 deduct_amount  必填   string

【还款金额】 单位:分


 description  必填   string(127)

【产品描述】 对产品信息的描述,将展示在用户的支付凭证、用户账单详情中。服务商需传递能真实代表产品信息的描述


 attach  选填   string(128)

【商户数据包】 商户可传入自定义数据包,该数据对用户不可见,用于存储商户自定义信息。查询API和支付通知中原样返回,并且该字段还会体现在交易账单。


 notify_url  必填   string(1024)

【商户回调地址】 商户接收还款结果通知的地址

请求示例

curl
Java
Go

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/credit-repayment/partner/contracts/mini-program-presign \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Wechatpay-Serial: 5157F09EFDC096DE15EBE81A47057A7232F1B8E1"  \
6  -H "Content-Type: application/json" \
7  -d '{
8    "appid" : "wxd678efh567hg6787",
9    "openid" : "oYobu0MVnQfWpSMOYJz2AHPG_gQw",
10    "plan_id" : "WxCreditRepaymentPlan12345678",
11    "out_contract_code" : "WxCreditRepayment20200910100000",
12    "display_name" : "*明",
13    "contract_notify_url" : "https://yourapp.com/notify",
14    "repayment_day" : 1,
15    "repayment_amount_limit" : "10000",
16    "sub_mchid" : "1000000109",
17    "sub_appid" : "wxcbda96de0b165489",
18    "real_identity" : {
19      "identity_type" : "REAL_IDENTITY_TYPE_ID_CARD",
20      "identity_id" : "1axtI9EZUr0343c89xQznxau+cRWPKP4YhVAoj/mEoNSgJh0nvuqQJ1cdXZHGUzyBjOtuLeVq+OLOaWGUScSM8+QLBk+kOK8QyR1TUo44YrmIl5KkjWLa3dpNJt+nIkpN1e7yr2mxO9LGqJdeQXDCHvOiUTK6lnAVxWY0ZrF4OQFmHqOCvqTaF3VxD5a8AT3gxyayF04IJSfPV0NheZvWFBHIUeRPf1/WQmJ/wXu2MfAuESB0dLBglT85i0Rws2GopaTUNiBuJBHdg01bR+YZvSYv8EJPyxuyYVh5bg/wSotNTYnVp13OUzMBKu25yOW5+RnunesXwq9ogPnSj7EDA==",
21      "real_name" : "OEimkKuua8igpd+0YDgqF2Z61leeGD7x87j3PhzsBhAK+/lltXENEOf6ThgV7niChzIpDujIpefE2JFZCJFurf6IV5rxNWBbjFeHYyUGAbf8zDx2Wbi7y7BGjApltIhsxAk+LhQ648Kcw4FMidL/79Gh3nHUfSGX+nEl3gtNi24Ilt8Vu0MMXhA1suDzlpbNDDrYnAhb1eeMziSu8jW7lDouwJXjGh9zgFPUuTxfOpteJIZSy8HWR+QPugdXBNouEezDPN8kojKbJHRtjaBJY3n3agkXShI5yvnc+DCYM+4VgNWZpTx9D0w3KAylJPKAAluYMzj4VXzZurjpruDg2A=="
22    },
23    "trade_info" : {
24      "out_trade_no" : "1217752501201407033233368018",
25      "deduct_amount" : "10000",
26      "description" : "信贷还款",
27      "attach" : "备注信息",
28      "notify_url" : "https://www.test.com"
29    }
30  }'
31

应答参数

200 OK

 presign_token  必填   string(128)

【预签约码】 预签约生成的预签约码,用于跳转签约页面;有效期10分钟

应答示例

200 OK

1{
2  "presign_token" : "f55a992c06ade13c1e174149b9e18a63cc900b19165a7515a4c4699ffd73e4a8fc839bc5e9d1b919ae0859619c02226e"
3}
4

 

错误码

以下是本接口返回的错误码列表。详细错误码规则,请参考微信支付接口规则-错误码和错误提示

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

 

 

反馈
目录
置顶