直连商户通过商户协议号查询委托代扣签约协议API

更新时间:2024.12.27

# 接口说明

直连商户可通过本接口查询已经签订的委托代扣签约协议。


前置条件:用户签约成功,商户已经成功获取过委托代扣签约协议。

# 接口说明

支持商户:
【普通商户】
请求方式:
【GET】/v3/papay/sign/contracts/plan-id/{plan_id}/out-contract-code/{out_contract_code}
请求域名:
【主域名】
https://api.mch.weixin.qq.com
使用该域名将访问就近的接入点
【备域名】
https://api2.mch.weixin.qq.com
使用该域名将访问异地的接入点 ,指引点击查看

# 请求参数

    Header HTTP头参数
  • Authorization 必填 string
    请参考 签名认证 生成认证信息
  • Accept 必填 string
    请设置为 application/json
    Path 路径参数
  • out_contract_code 必填 string(32)
    【商户签约协议号】 商户侧的签约协议号,商户侧需保证唯一性。
  • plan_id 必填 integer
    【委托代扣模板ID】 委托代扣模板ID,申请见接入指引中的接入流程相关内容。

请求示例

GET
1curl -X GET \
2 https://api.mch.weixin.qq.com/v3/papay/sign/contracts/plan-id/12535/out-contract-code/wxwtdk20200910100000 \
3 -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4 -H "Accept: application/json"

# 应答参数

    200OK
  • mchid 必填 string(32)
    【商户号】 微信支付分配的商户号
  • contract_id 必填 string(32)
    【委托代扣协议ID】 委托代扣协议的主键,唯一定义此资源的标识
  • appid 必填 string(32)
    【商户AppID】 AppID是商户在微信申请公众号或移动应用成功后分配的账号ID,登录平台为mp.weixin.qq.com或open.weixin.qq.com
  • plan_id 必填 integer
    【委托代扣模板ID】 委托代扣模板ID
  • out_contract_code 必填 string(32)
    【商户签约协议号】 商户侧的签约协议号,商户侧需保证唯一性。
  • contract_display_account 必填 string(64)
    【用户账户展示名称】 签约用户的名称,用于页面展示,在签约时由商户传入。
  • contract_state 必填 string
    【委托代扣协议状态】 委托代扣协议状态
    可选取值:
    • SIGNED: 签约生效中。
    • TERMINATED: 生效的签约协议已被解约。此时协议已经到达终态,该协议无法再次进行签约;可更换协议号再发起签约。
    • SIGN_FAILED: 用户同意签约但因业务规则限制导致签约失败。如:签约中支付场景,没有完成首期支付。此时协议已经到达终态,该协议无法再次进行签约;可更换协议号再发起签约。
    • TO_BE_RENEWED: 可续期的协议到期后,等待商户传入扣费计划进行续期。
  • contract_signed_time 选填 string(32)
    【协议签署时间】 协议签署时间,当前协议状态为签约失败时不返回。按照使用rfc3339所定义的格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒
  • contract_expired_time 选填 string(32)
    【协议到期时间】 协议到期时间,当前协议状态为签约失败时不返回。按照使用rfc3339所定义的格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒
  • openid 必填 string(64)
    【用户OpenID】 商户AppID下的用户唯一标识
  • contract_terminate_info 选填 object
    【协议解约信息】 协议解约信息,仅当contract_state=TERMINATED时,该值有效。
    • 属性
  • out_user_code 选填 string
    【商户侧用户标识】 在多账号签约场景下使用。一个用户微信账号可能会在商户系统中存在多个账号,并开通多个签约协议。商户可以使用商户侧用户标识区分商户系统中的不同用户账号。注:使用多账号签约规则时,微信支付系统将限制相同的商户侧用户标识只能与同一个委托代扣模板签署一份生效中的协议。
  • deduct_schedule 选填 object
    【预约扣费场景的预约信息】 预约扣费场景的预约信息,仅当模板类型为预约扣费时,该值有效。
    • 属性

应答示例

200 OK
1{
2 "mchid" : "1900000109",
3 "contract_id" : "123124412412423431",
4 "appid" : "wxd678efh567hg6787",
5 "plan_id" : 12535,
6 "out_contract_code" : "wxwtdk20200910100000",
7 "contract_display_account" : "微信代扣用户A",
8 "contract_state" : "SIGNED",
9 "contract_signed_time" : "2020-09-10T13:29:35+08:00",
10 "contract_expired_time" : "2021-09-10T13:29:35+08:00",
11 "openid" : "o-MYE42l80oelYMDE34nYD456Xoy",
12 "contract_terminate_info" : {
13 "contract_termination_mode" : "USER_TERMINATE",
14 "contract_terminated_time" : "2020-10-10T13:29:35+08:00",
15 "contract_termination_remark" : "用户解约"
16 },
17 "out_user_code" : "用户A",
18 "deduct_schedule" : {
19 "estimated_deduct_date" : "2019-11-22",
20 "estimated_deduct_amount" : {
21 "total" : 1,
22 "currency" : "CNY"
23 },
24 "schedule_state" : "NO_SCHEDULED",
25 "scheduled_amount" : {
26 "total" : 1,
27 "currency" : "CNY"
28 },
29 "deduct_amount" : {
30 "total" : 1,
31 "currency" : "CNY"
32 },
33 "deduct_date" : "2019-11-22"
34 }
35}

# 错误码

# 公共错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请根据错误提示正确传入参数
400 INVALID_REQUEST HTTP 请求不符合微信支付 APIv3 接口规则 请参阅 接口规则
401 SIGN_ERROR 验证不通过 请参阅 签名常见问题
500 SYSTEM_ERROR 系统异常,请稍后重试 请稍后重试

# 业务错误码

状态码 错误码 描述 解决方案
400 INVALID_REQUEST 无效请求 请根据接口返回的详细信息检查您的程序
403 CONTRACT_NOT_EXIST 签约协议不存在 请检查签约协议号是否正确
403 NO_AUTH 商户暂无权限使用此功能 请开通商户号权限。请联系产品或商务申请
429 FREQUENCY_LIMITED 频率超限 请降低请求接口频率
500 SYSTEM_ERROR 接口返回错误 系统异常,请用相同参数重新调用
反馈
咨询
目录

微信支付文档中心已升级,你当前所查看的是旧文档中心的内容,旧文档中心将于 2025年 3 月 31日 下线,请移步 [新文档中心] 查看相应的内容