适用对象:服务商
请求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 |
{
"stock_id": "128888000000001",
"coupon_code": "ABCD12345678",
"transaction_id": "4200000913202101152566792388",
"payer_merchant": "1900000001",
"payee_merchant": "1900000002",
"amount": 100,
"description": "20210115DESCRIPTION",
"out_subsidy_no": "subsidy-abcd-12345678"
}
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
补差付款单号 | 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 |
{
"subsidy_receipt_id": "1120200119165100000000000001",
"stock_id": "128888000000001",
"coupon_code": "ABCD12345678",
"transaction_id": "4200000913202101152566792388",
"payer_merchant": "1900000001",
"payee_merchant": "1900000002",
"amount": 100,
"description": "20210115DESCRIPTION",
"status": "SUCCESS",
"success_time": "2021-01-20T10:29:35.120+08:00",
"out_subsidy_no": "subsidy-abcd-12345678",
"create_time": "2021-01-20T10:29:35.120+08:00"
}
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
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次 | ||
券未核销 | 券当前未被核销,请核实 | ||
券类型不合法 | 当前仅支持满减券类型进行补差 |