申请扣款
更新时间:2024.11.14委托代扣可应用于定期扣款或需事后扣款以期提高效率的场景。
例如但不限于,会员制缴费、水电煤缴费、黄钻绿钻增值服务、打车类软件、停车场或高速公路无人缴费、理财通基金定投、信用卡还款等通过用户授权给商户,进行委托扣款的场景。
|
接口说明
适用对象:服务商
请求URL: https://api.mch.weixin.qq.com/pay/partner/pappayapply
请求方式: POST
数据格式: XML
是否需要证书: 否
请求频率限制:150qps,即每秒钟正常的申请扣款请求次数不超过150次。
请求参数
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
应用ID | appid | string[1,32] | 是 | 服务商申请的公众号或移动应用appid。 |
商户号 | mch_id | string[1,32] | 是 | 商户号是商户在微信申请微信支付成功后分配的账号ID,登录平台为pay.weixin.qq.com |
子商户应用ID | sub_appid | string[1,32] | 否 | 子商户号绑定的appid(非必填,如需操作,需要服务商在商户平台为子商户绑定) |
子商户号 | sub_mch_id | string[1,32] | 是 | 微信支付分配的子商户号 |
随机字符串 | nonce_str | string[1,32] | 是 | 随机字符串,不长于32位。推荐随机数生成算法 |
签名 | sign | string[1,64] | 是 | 签名,详见签名生成算法 |
商品描述 | body | string[1,127] | 是 | 商品或支付单简要描述 |
商品详情 | detail | string[1,8192] | 否 | 商品名称明细列表 |
附加数据 | attach | string[1,128] | 否 | 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 |
商户订单号 | out_trade_no | string[1,32] | 是 | 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号 |
总金额 | total_fee | int | 是 | 订单总金额,单位为分,只能为整数,详见支付金额 |
货币类型 | fee_type | string[1,16] | 否 | 符合ISO 4217标准的三位字母代码,默认人民币:CNY |
终端IP | spbill_create_ip | string[1,16] | 是 | 用户的客户端IP ,支持IPV4,目前不支持ipv6 |
商品标记 | goods_tag | string[1,32] | 否 | 商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠 |
回调通知url | notify_url | string[1,256] | 是 | 接受扣款结果异步回调通知的url, 以http或https开头,通知url必须为外网可访问的url,不能携带参数。 |
交易类型 | trade_type | string[1,8] | 是 | 交易类型,枚举值 |
委托代扣协议id | contract_id | string[1,32] | 是 | 签约成功后,微信返回的委托代扣协议id |
电子发票入口开放标识 | receipt | string[1,8] | 否 | 传入Y时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效 |
请求示例:
XML
返回参数
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
返回状态码 | return_code | string[1,16] | 是 | SUCCESS/FAIL |
返回信息 | return_msg | string[1,128] | 否 | 返回信息,如非空,为错误原因 |
以下字段在return_code为SUCCESS的时候有返回
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
应用ID | appid | string[1,32] | 是 | 服务商申请的公众号或移动应用appid。 |
商户号 | mch_id | string[1,32] | 是 | 商户号是商户在微信申请微信支付成功后分配的账号ID,登录平台为pay.weixin.qq.com |
子商户应用ID | sub_appid | string[1,32] | 否 | 子商户号绑定的appid(非必填,如需操作,需要服务商在商户平台为子商户绑定) |
子商户号 | sub_mch_id | string[1,32] | 是 | 微信支付分配的子商户号 |
随机字符串 | nonce_str | string[1,32] | 是 | 随机字符串,不长于32位. |
签名 | sign | string[1,64] | 是 | 详见签名生成算法 |
业务结果 | result_code | string[1,16] | 是 | SUCCESS/FAIL |
错误代码 | err_code | string[1,32] | 是 | 错误码 |
错误代码描述 | err_code_des | string[1,32] | 是 | 错误码描述 |
返回示例:
正常示例
错误码
错误码 | 描述 | 解决方案 |
---|---|---|
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 | 该笔交易存在风险 | 请联系用户,明确微信号是否有违规操作,如有疑问可联系微信客服解除风险控制 |