申请扣款

更新时间:2024.11.14

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

注意:

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

  • 在周期扣费类场景,扣费前需要确保为用户下发扣费前通知,详见【周期扣费

  • 特殊情况:周期扣费为通知后24小时扣费方式情况下,如果用户为首次签约(包含解约后重新签约),从用户签约成功时间开始算,商户在12小时内发起的扣款,会被立即执行,无延迟。商户超过12小时以后发起的扣款,都按24小时扣费规则执行;周期扣费为预扣款通知方式情况下,如果用户为首次签约{包含解约后重新签约},从用户签约成功时间开始算,商户在12小时内发起的扣款无需先调用【预扣费通知API】接口,直接调用【申请扣款】接口,且会被立即执行,无延迟。商户超过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。
示例值:wxcbda96de0b165486

商户号

mch_id

string[1,32]

商户号是商户在微信申请微信支付成功后分配的账号ID,登录平台为pay.weixin.qq.com
示例值:1200009811

子商户应用ID

sub_appid

string[1,32]

子商户号绑定的appid(非必填,如需操作,需要服务商在商户平台为子商户绑定)
示例值:wxcbda96de0b165489

子商户号

sub_mch_id

string[1,32]

微信支付分配的子商户号
示例值:1900000109

随机字符串

nonce_str

string[1,32]

随机字符串,不长于32位。推荐随机数生成算法
示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS

签名

sign

string[1,64]

签名,详见签名生成算法
示例值:C380BEC2BFD727A4B6845133519F3AD6

商品描述

body

string[1,127]

商品或支付单简要描述
示例值:水电代扣

商品详情

detail

string[1,8192]

商品名称明细列表
示例值:水电代扣:A
水电代扣:B
水电代扣:C

附加数据

attach

string[1,128]

附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据
示例值:自定义参数

商户订单号

out_trade_no

string[1,32]

商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
示例值:1217752501201407033233368018

总金额

total_fee

int

订单总金额,单位为分,只能为整数,详见支付金额
示例值:888

货币类型

fee_type

string[1,16]

符合ISO 4217标准的三位字母代码,默认人民币:CNY
示例值:CNY

终端IP

spbill_create_ip

string[1,16]

用户的客户端IP ,支持IPV4,目前不支持ipv6
示例值:8.8.8.8

商品标记

goods_tag

string[1,32]

商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠
示例值:WXG

回调通知url

notify_url

string[1,256]

接受扣款结果异步回调通知的url, 以http或https开头,通知url必须为外网可访问的url,不能携带参数。
示例值:http://yoursite.com/wxpay.html

交易类型

trade_type

string[1,8]

交易类型,枚举值
PAP:微信委托代扣支付
示例值:PAP

委托代扣协议id

contract_id

string[1,32]

签约成功后,微信返回的委托代扣协议id
示例值:Wx15463511252015071056489715

电子发票入口开放标识

receipt

string[1,8]

传入Y时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效
示例值:Y

请求示例:

XML

1
2<xml>
3  <mch_id>10000098</mch_id>
4  <appid>wxcbda96de0b165486</appid>
5  <sub_mch_id>10010405</sub_mch_id>
6  <nonce_str>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
7  <sign>C380BEC2BFD727A4B6845133519F3AD6</sign>
8  <body>水电代扣</body>
9  <out_trade_no>217752501201407033233368018</out_trade_no>
10  <total_fee>888</total_fee>
11  <trade_type>PAP</trade_type>
12  <spbill_create_ip>8.8.8.8</spbill_create_ip>
13  <notify_url>http://yoursite.com/wxpay.html</notify_url>
14  <contract_id>Wx15463511252015071056489715</contract_id>
15</xml>
16 

返回参数

参数名

变量

类型[长度限制]

必填

描述

返回状态码

return_code

string[1,16]

SUCCESS/FAIL
此字段是通信标识,非交易标识
示例值:SUCCESS

返回信息

return_msg

string[1,128]

返回信息,如非空,为错误原因
如:签名失败 等。
示例值:签名失败

以下字段在return_code为SUCCESS的时候有返回

参数名

变量

类型[长度限制]

必填

描述

应用ID

appid

string[1,32]

服务商申请的公众号或移动应用appid。
示例值:wxcbda96de0b165486

商户号

mch_id

string[1,32]

商户号是商户在微信申请微信支付成功后分配的账号ID,登录平台为pay.weixin.qq.com
示例值:1200009811

子商户应用ID

sub_appid

string[1,32]

子商户号绑定的appid(非必填,如需操作,需要服务商在商户平台为子商户绑定)
示例值:wxcbda96de0b165489

子商户号

sub_mch_id

string[1,32]

微信支付分配的子商户号
示例值:1900000109

随机字符串

nonce_str

string[1,32]

随机字符串,不长于32位.
示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS

签名

sign

string[1,64]

详见签名生成算法
示例值:C380BEC2BFD727A4B6845133519F3AD6

业务结果

result_code

string[1,16]

SUCCESS/FAIL
示例值:SUCCESS

错误代码

err_code

string[1,32]

错误码
示例值:SIGN_ERROR

错误代码描述

err_code_des

string[1,32]

错误码描述
示例值:签名错误

返回示例:

正常示例

1
2<xml>
3  <return_code><![CDATA[SUCCESS]]></return_code>
4  <return_msg><![CDATA[OK]]></return_msg>
5  <appid><![CDATA[wxcbda96de0b165486]]></appid>  
6  <mch_id><![CDATA[10000098]]></mch_id>
7  <sub_mch_id>10010405</sub_mch_id>
8  <nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
9  <sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign>
10  <result_code><![CDATA[SUCCESS]]></result_code>
11</xml>
12							

错误码

错误码

描述

解决方案

SYSTEMERROR

接口返回错误

系统异常,请使用相同参数重新调用接口

CONTRACT_NOT_EXIST

签约协议不存在

请检查申请扣款接口的“contract_id”是否正确,或者用户是否解约,解约可以调用查询签约关系接口确认一下签约状态

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

该笔交易存在风险

请联系用户,明确微信号是否有违规操作,如有疑问可联系微信客服解除风险控制

 

反馈
咨询
目录
置顶