---
url: "https://pay.weixin.qq.com/doc/v2/partner/4011988372.md"
title: "申请扣款"
doc_id: 4011988372
---

>更新时间：2026.03.18

委托代扣可应用于定期扣款或需事后扣款以期提高效率的场景。

例如但不限于，会员制缴费、水电煤缴费、黄钻绿钻增值服务、打车类软件、停车场或高速公路无人缴费、理财通基金定投、信用卡还款等通过用户授权给商户，进行委托扣款的场景。

注意：

- 扣费请求首先按签约协议中记录的优先支付方式扣费，否则按以下可用方式进行扣费：零钱、信用卡、借记卡{零钱（含零钱、零钱通），该顺序不固定，与用户的支付习惯有关}


- 在周期扣费类场景，扣费前需要确保为用户下发扣费前通知，详见【[周期扣费](https://pay.weixin.qq.com/doc/v2/partner/4011988360.md)】

- 特殊情况：周期扣费为通知后24小时扣费方式情况下，如果用户为首次签约（包含解约后重新签约），从用户签约成功时间开始算，商户在12小时内发起的扣款，会被立即执行，无延迟。商户超过12小时以后发起的扣款，都按24小时扣费规则执行；周期扣费为预扣款通知方式情况下，如果用户为首次签约｛包含解约后重新签约｝，从用户签约成功时间开始算，商户在12小时内发起的扣款无需先调用【[预扣费通知API](https://pay.weixin.qq.com/doc/v2/partner/4011988373.md)】接口，直接调用【[申请扣款](https://pay.weixin.qq.com/doc/v2/partner/4011988372.md)】接口，且会被立即执行，无延迟。商户超过12小时以后发起的扣款，都按预扣费通知执行

- 同一个商户号+同一个商户订单号，只会扣款一次。但如果更换商户号，商户订单号不变，会扣款多次。


- 周期扣费为预扣费通知方式情况下，要求扣费操作不可在晚上执行，避免影响用户，若扣费前已下发通知，则需在指定的可扣费期内，北京时间每天7:00～22:00发起扣款




## 接口说明

适用对象：服务商

请求URL： https://api.mch.weixin.qq.com/pay/partner/pappayapply

请求方式： POST

数据格式： XML

是否需要证书： 否

请求频率限制：150qps，即每秒钟正常的申请扣款请求次数不超过150次。

## 请求参数

| 参数名 | 变量 | 类型\[长度限制\] | 必填 | 描述 |
| --- | --- | --- | --- | --- |
| 应用ID | appid | string\[1,32\] | 是 | 服务商申请的公众号或移动应用appid。<br>示例值：wxcbda96de0b165486 |
| 商户号 | mch\_id | string\[1,32\] | 是 | 商户号是商户在微信申请微信支付成功后分配的账号ID，登录平台为pay.weixin.qq.com<br>示例值：1200009811 |
| 子商户应用ID | sub\_appid | string\[1,32\] | 否 | 子商户号绑定的appid(非必填，如需操作，需要服务商在商户平台为子商户绑定)<br>示例值：wxcbda96de0b165489 |
| 子商户号 | sub\_mch\_id | string\[1,32\] | 是 | 微信支付分配的子商户号<br>示例值：1900000109 |
| 随机字符串 | nonce\_str | string\[1,32\] | 是 | 随机字符串，不长于32位。推荐[随机数生成算法](https://pay.weixin.qq.com/doc/v2/partner/4011985884.md)<br>示例值：5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
| 签名 | sign | string\[1,64\] | 是 | 签名，[详见签名生成算法](https://pay.weixin.qq.com/doc/v2/partner/4011985884.md)<br>示例值：C380BEC2BFD727A4B6845133519F3AD6 |
| 商品描述 | body | string\[1,127\] | 是 | 商品或支付单简要描述<br>示例值：水电代扣 |
| 商品详情 | detail | string\[1,8192\] | 否 | 商品名称明细列表<br>示例值：水电代扣：A<br>水电代扣：B<br>水电代扣：C |
| 附加数据 | attach | string\[1,128\] | 否 | 附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据<br>示例值：自定义参数 |
| 商户订单号 | out\_trade\_no | string\[1,32\] | 是 | 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见[商户订单号](https://pay.weixin.qq.com/doc/v2/partner/4011941200.md)<br>示例值：1217752501201407033233368018 |
| 总金额 | total\_fee | int | 是 | 订单总金额，单位为分，只能为整数，详见[支付金额](https://pay.weixin.qq.com/doc/v2/partner/4011941200.md)<br>示例值：888 |
| 货币类型 | fee\_type | string\[1,16\] | 否 | 符合ISO 4217标准的三位字母代码，默认人民币：CNY<br>示例值：CNY |
| 终端IP | spbill\_create\_ip | string\[1,16\] | 是 | 用户的客户端IP ，同时支持IPV4和IPV6。<br>示例值：8.8.8.8 |
| 商品标记 | goods\_tag | string\[1,32\] | 否 | 商品标记，代金券或立减优惠功能的参数，说明详见代金券或立减优惠<br>示例值：WXG |
| 回调通知url | notify\_url | string\[1,256\] | 是 | 接受扣款结果异步回调通知的url, 以http或https开头，通知url必须为外网可访问的url，不能携带参数。<br>示例值：http://yoursite.com/wxpay.html |
| 交易类型 | trade\_type | string\[1,8\] | 是 | 交易类型，枚举值<br>PAP：微信委托代扣支付<br>示例值：PAP |
| 委托代扣协议id | contract\_id | string\[1,32\] | 是 | 签约成功后，微信返回的委托代扣协议id<br>示例值：Wx15463511252015071056489715 |
| 电子发票入口开放标识 | receipt | string\[1,8\] | 否 | 传入Y时，支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能，传此字段才可生效<br>示例值：Y |

## 请求示例：

XML

```

<xml>
  <mch_id>10000098</mch_id>
  <appid>wxcbda96de0b165486</appid>
  <sub_mch_id>10010405</sub_mch_id>
  <nonce_str>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
  <sign>C380BEC2BFD727A4B6845133519F3AD6</sign>
  <body>水电代扣</body>
  <out_trade_no>217752501201407033233368018</out_trade_no>
  <total_fee>888</total_fee>
  <trade_type>PAP</trade_type>
  <spbill_create_ip>8.8.8.8</spbill_create_ip>
  <notify_url>http://yoursite.com/wxpay.html</notify_url>
  <contract_id>Wx15463511252015071056489715</contract_id>
</xml>

```

## 返回参数

| 参数名 | 变量 | 类型\[长度限制\] | 必填 | 描述 |
| --- | --- | --- | --- | --- |
| 返回状态码 | return\_code | string\[1,16\] | 是 | SUCCESS/FAIL<br>此字段是通信标识，非交易标识<br>示例值：SUCCESS |
| 返回信息 | return\_msg | string\[1,128\] | 否 | 返回信息，如非空，为错误原因<br>如：签名失败 等。<br>示例值：签名失败 |

以下字段在return\_code为SUCCESS的时候有返回

| 参数名 | 变量 | 类型\[长度限制\] | 必填 | 描述 |
| --- | --- | --- | --- | --- |
| 应用ID | appid | string\[1,32\] | 是 | 服务商申请的公众号或移动应用appid。<br>示例值：wxcbda96de0b165486 |
| 商户号 | mch\_id | string\[1,32\] | 是 | 商户号是商户在微信申请微信支付成功后分配的账号ID，登录平台为pay.weixin.qq.com<br>示例值：1200009811 |
| 子商户应用ID | sub\_appid | string\[1,32\] | 否 | 子商户号绑定的appid(非必填，如需操作，需要服务商在商户平台为子商户绑定)<br>示例值：wxcbda96de0b165489 |
| 子商户号 | sub\_mch\_id | string\[1,32\] | 是 | 微信支付分配的子商户号<br>示例值：1900000109 |
| 随机字符串 | nonce\_str | string\[1,32\] | 是 | 随机字符串,不长于32位.<br>示例值：5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
| 签名 | sign | string\[1,64\] | 是 | [详见签名生成算法](https://pay.weixin.qq.com/doc/v2/partner/4011985884.md)<br>示例值：C380BEC2BFD727A4B6845133519F3AD6 |
| 业务结果 | result\_code | string\[1,16\] | 是 | SUCCESS/FAIL<br>示例值：SUCCESS |
| 错误代码 | err\_code | string\[1,32\] | 是 | 错误码<br>示例值：SIGN\_ERROR |
| 错误代码描述 | err\_code\_des | string\[1,32\] | 是 | 错误码描述<br>示例值：签名错误 |

## 返回示例：

正常示例

```

<xml>
  <return_code><![CDATA[SUCCESS]]></return_code>
  <return_msg><![CDATA[OK]]></return_msg>
  <appid><![CDATA[wxcbda96de0b165486]]></appid>
  <mch_id><![CDATA[10000098]]></mch_id>
  <sub_mch_id>10010405</sub_mch_id>
  <nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
  <sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign>
  <result_code><![CDATA[SUCCESS]]></result_code>
</xml>

```

## 错误码

| 错误码 | 描述 | 解决方案 |
| --- | --- | --- |
| SYSTEMERROR | 接口返回错误 | 系统异常，请使用相同参数重新调用接口 |
| CONTRACT\_NOT\_EXIST | 签约协议不存在 | 请检查申请扣款接口的“contract\_id”是否正确，或者用户是否解约，解约可以调用[查询签约关系](https://pay.weixin.qq.com/doc/v2/partner/4011988379.md)接口确认一下签约状态 |
| PARAM\_ERROR | 参数错误 | 请根据接口返回的详细信息检查您的程序 |
| ORDERPAID | 订单已支付 | 请确认该订单号是否重复支付，如果是新订单，请使用新订单号提交 |
| ORDERCLOSED | 订单已关闭 | 商户订单号异常，请重新下单支付 |
| SIGN\_ERROR | 签名错误 | 请检查签名参数和方法是否都符合签名算法要求 |
| APPID\_MCHID\_NOT\_MATCH | appid和mch\_id不匹配 | 请确认appid和mch\_id是否匹配 |
| ORDER\_ACCEPTED | 扣款请求已受理，请勿重复发起 | 请调用查询订单接口查看订单最新状态 |
| CONTRACTERROR | 协议已过期 | 请检查签约协议号是否已过期 |
| INVALID\_REQUEST | 无效请求 | 请检查请求方式是否是post方法等 |
| FREQUENCY\_LIMITED | 频率限制 | 请检查接口请求频率是否超过限制 |
| RULELIMIT | 该笔交易存在风险 | 请联系用户，明确微信号是否有违规操作，如有疑问可联系微信客服解除风险控制 |