营销补差付款

更新时间:2026.01.12
||

该API主要用于商户营销补贴场景,支持基于单张券进行不同商户账户间的资金补差,从而提升财务结算、资金利用效率。具体可参考操作文档:商家券补差产品操作文档.pdf

接口说明

适用对象:直连商户

请求URL:https://api.mch.weixin.qq.com/v3/marketing/busifavor/subsidy/pay-receipts

请求方式:POST

前置条件:商家必须核销了商家券且发起了微信支付收款

是否支持幂等:

 

path 指该参数为路径参数

query 指该参数为URL参数

body 指该参数需在请求JSON传参

请求参数

参数名

变量

类型[长度限制]

必填

描述

商家券批次号

stock_id

string[1, 20]

 body 由微信支付生成,调用创建商家券API成功时返回的唯一批次ID 仅支持“满减券”,“换购券”批次不支持
示例值:128888000000001

商家券Code

coupon_code

string[1, 128]

body 券的唯一标识。
在WECHATPAY_MODE的券Code模式下,商家券Code是由微信支付生成的唯一ID;
在MERCHANT_UPLOAD、MERCHANT_API的券Code模式下,商家券Code是由商户上传或指定,在批次下保证唯一;
示例值:ABCD12345678

微信支付订单号

transaction_id

string[28, 32]

body 微信支付下单支付成功返回的订单号
示例值:4200000913202101152566792388

营销补差扣款商户号

payer_merchant

string[1, 32]

body 营销补差扣款商户号
注:补差扣款商户号 = 制券商户号 或 补差扣款商户号 = 归属商户号
示例值:1900000001

营销补差入账商户号

payee_merchant

string[1, 32]

body 营销补差入账商户号
注:补差入帐商户号 = 券归属商户号 或者和 券归属商户号有连锁品牌关系
示例值:1900000002

补差付款金额

amount

int

body 单位为分,单笔订单补差金额不得超过券的优惠金额,最高补差金额为5000元 > 券的优惠金额定义:
满减券:满减金额即为优惠金额
换购券:不支持
示例值:100

补差付款描述

description

string[1, 1024]

body 付款备注描述,查询的时候原样带回
示例值:20210115DESCRIPTION

业务请求唯一单号

out_subsidy_no

string[1, 128]

body 商户侧需保证唯一性。可包含英文字母,数字,|,_,*,-等内容,不允许出现其他不合法符号
示例值:subsidy-abcd-12345678

请求示例

JSON
1{
2  "stock_id": "128888000000001",
3  "coupon_code": "ABCD12345678",
4  "transaction_id": "4200000913202101152566792388",
5  "payer_merchant": "1900000001",
6  "payee_merchant": "1900000002",
7  "amount": 100,
8  "description": "20210115DESCRIPTION",
9  "out_subsidy_no": "subsidy-abcd-12345678"
10}

返回参数

参数名

变量

类型[长度限制]

必填

描述

补差付款单号

subsidy_receipt_id

string[28, 32]

补差付款唯一单号,由微信支付生成,仅在补差付款成功后有返回
示例值:1120200119165100000000000001

商家券批次号

stock_id

string[1, 20]

由微信支付生成,调用创建商家券API成功时返回的唯一批次ID
示例值:128888000000001

商家券Code

coupon_code

string[1, 128]

券的唯一标识
示例值:ABCD12345678

微信支付订单号

transaction_id

string[28, 32]

微信支付下单支付成功返回的订单号
示例值:4200000913202101152566792388

营销补差扣款商户号

payer_merchant

string[1, 32]

营销补差扣款商户号
示例值:1900000001

营销补差入账商户号

payee_merchant

string[1, 32]

营销补差入账商户号
示例值:1900000002

补差付款金额

amount

int

单位为分,单笔订单补差金额不得超过券的优惠金额,最高补差金额为5000元 > 券的优惠金额定义:
满减券:满减金额即为优惠金额
换购券:不支持
示例值:100

补差付款描述

description

string[1, 1024]

付款备注描述,查询的时候原样带回
示例值:20210115DESCRIPTION

补差付款单据状态

status

string[1, 32]

补差付款单据状态
ACCEPTED:受理成功
SUCCESS:补差补款成功
FAIL:补差付款失败
RETURNING:补差回退中
PARTIAL_RETURN:补差部分回退
FULL_RETURN:补差全额回退
示例值:SUCCESS

补差付款失败原因

fail_reason

string[1, 1024]

仅在补差付款失败时,返回告知对应失败的原因
INSUFFICIENT_BALANCE:扣款商户余额不足
NOT_INCOMESPLIT_ORDER:非分账订单
EXCEED_SUBSIDY_AMOUNT_QUOTA:超出订单补差总额限制
EXCEED_SUBSIDY_COUNT_QUOTA:超出订单补差总数限制
OTHER:其他原因
示例值:INSUFFICIENT_BALANCE

补差付款完成时间

success_time

string[28, 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秒。
示例值:2021-01-20T10:29:35+08:00

业务请求唯一单号

out_subsidy_no

string[1, 128]

商户侧需保证唯一性。可包含英文字母,数字,|,_,*,-等内容,不允许出现其他不合法符号
示例值:subsidy-abcd-12345678

补差付款发起时间

create_time

string[28, 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秒。
示例值:2021-01-20T10:29:35+08:00

返回示例

正常示例
1{
2  "subsidy_receipt_id": "1120200119165100000000000001",
3  "stock_id": "128888000000001",
4  "coupon_code": "ABCD12345678",
5  "transaction_id": "4200000913202101152566792388",
6  "payer_merchant": "1900000001",
7  "payee_merchant": "1900000002",
8  "amount": 100,
9  "description": "20210115DESCRIPTION",
10  "status": "SUCCESS",
11  "success_time": "2021-01-20T10:29:35.120+08:00",
12  "out_subsidy_no": "subsidy-abcd-12345678",
13  "create_time": "2021-01-20T10:29:35.120+08:00"
14}

错误码 

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

查看具体错误信息,调整参数

500

SYSTEM_ERROR

系统错误

多为网络超时引起,请使用相同参数稍后重新调用

401

SIGN_ERROR

签名验证失败

请检查签名参数和方法是否都符合签名算法要求

429

FREQUENCY_LIMITED

频率限制

调用太频繁,请降低调用接口频率

404

RESOURCE_NOT_EXISTS

券不存在

请检查批次id和券Code是否填写正确

404

ORDERNOTEXIST

订单不存在

请检查微信支付订单号是否填写正确

403

ORDER_NOT_READY

订单未支付完成

请检查微信支付订单是否已完成支付

403

USER_ERROR

订单支付用户不是券拥有者

请检查微信支付订单的支付用户与券的归属用户是否同一个人

403

NOAUTH

补差付款方不合法

补差付款方必须为API的调用商户

无权限操作

无权限调用此API

403

ACCOUNTERROR

商户资金账户不满足补差要求

补差付款方或收款方资金账户未升级,请升级后重试

403

NOTENOUGH

出款账户余额不足

请给出款商户账户充值后重试

500

ERROR

此补差流程已结束

此补差流程已结束,请勿重新发起

403

RULELIMIT

补差金额超出上限

补差金额不得超过券面额

微信支付订单商户单号与券核销商户单号不一致

请确认商户单号一致后,再次发起

银行机构支付订单不允许补差

只允许普通商户订单或服务商订单发起补差,请更换微信支付订单号

券已被其他微信支付订单补差

其他微信支付订单已经对这张券发起了补差,请核实

该微信支付订单在另一流程已发起了补差

请勿同一时间用不同的out_subsidy_no针对同一笔微信支付订单&同一张券进行补差,请稍候另一流程结束后再重试

订单交易商户与券归属方没有任何关系

请确认订单交易商户与券归属方是否有品牌连锁关系

该批次的券不允许进行补差

该券批次未打上“否允许营销补差”的标识,请核实

此补差订单不是分账类型订单

当前只支持微信支付的分账订单进行补差

超出订单可补差总额限制

单笔微信支付订单可给多张券进行补差,总额不得超过1万元

超出订单可补差总数限制

单笔微信支付订单可给多张券进行补差,总次数不得超过20次

券未核销

券当前未被核销,请核实

券类型不合法

当前仅支持满减券类型进行补差

 

 

 

元宝AI
反馈
目录
置顶