品牌商户发放红包

更新时间:2025.04.15

普通直连商户可以通过该接口,向多个用户发放品牌红包

接口限频:
单个普通直连商户(发起发送品牌红包接口)50QPS,如果超过频率限制,会报错FREQUENCY_LIMITED,请降低频率请求。

注意

• 品牌红包一旦发起后,不允许撤销,批次受理成功后开始执行红包发放。

• 品牌红包批次单和品牌红包明细单中涉及金额的字段单位为“分”。

• 当返回错误时,请不要更换商家品牌红包批次单号,一定要使用原商家品牌红包批次单号重试,否则可能造成重复发放红包等资金风险。

• 微信支付视任何不同“发起的普通直连商户商户号+商家品牌红包批次单号(out_batch_no)”的请求为一个全新的批次。在未查询到明确的品牌红包批次单处理结果之前,请勿修改商家品牌红包批次单号重新提交!如有发生,普通直连商户应当自行承担因此产生的所有损失和责任。

• 因普通直连商户自身系统设置存在问题导致的资金损失,由普通直连商户自行承担。

• 如果遇到回包返回新的错误码,请务必不要换单重试,请联系客服确认品牌红包发送情况。如果有新的错误码,会更新到此API文档中。

• 错误码描述字段message只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。

• 请普通直连商户在自身的系统中合理设置发送频次并做好并发控制,防范错付风险。

• 微信支付发送给用户的模板信息以品牌红包批次单受理时为准

接口说明

支持商户:【普通商户】

请求方式:【POST】/v3/fund-app/brand-redpacket/brand-merchant-batches

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

请求参数

Header HTTP头参数

Authorization  必填 string

请参考签名认证生成认证信息


Accept  必填 string

请设置为application/json


Content-Type  必填 string

请设置为application/json


Wechatpay-Serial  必填 string

【微信支付公钥ID】或【微信支付平台证书序列号】 请求参数中的敏感字段,需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引;也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引


body 包体参数

brand_id  必填 integer

【品牌ID】 品牌在微信支付进行品牌认证后的唯一标识品牌ID


brand_appid  必填 string(32)

【品牌AppID】 品牌商户在微信申请公众号/小程序或移动应用成功后分配的账号ID,需与品牌有绑定关系,使用品牌的AppID时需要填写,具体请参考普通商户模式开发必要参数说明


scene  必填 string

【品牌红包发放场景】 品牌红包发放场景,用户可以在指定的场景领取到红包

可选取值

  • CUSTOM_SEND: 自定义场景发放红包,使用已配置的自定义发放模板进行发红包


template_id  必填 string(128)

【品牌红包模板ID】 品牌主配置的品牌红包模板ID


out_batch_no  必填 string(32)

【商家品牌红包批次单号】 品牌商户系统内部的品牌红包批次单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一


batch_name  必填 string(32)

【品牌红包批次名称】 该品牌红包批次的名称,展示在用户红包领取通知的红包活动名称


batch_remark  必填 string(32)

【品牌红包批次备注】 该批次品牌红包的备注,仅用于品牌商户内部管理


total_amount  必填 integer

【总金额】 品牌红包总金额必须与品牌红包批次内所有品牌红包明细发送金额之和保持一致,否则无法发送品牌红包


total_num  必填 integer

【总笔数】 一个品牌红包批次单最多发送10笔品牌红包明细。品牌红包总笔数必须与批次内所有品牌红包明细之和保持一致,否则无法发送品牌红包


detail_list  选填 array[DetailEntityForCreate]

【品牌红包明细列表】 品牌红包明细列表,最多10笔

属性

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/fund-app/brand-redpacket/brand-merchant-batches \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Wechatpay-Serial: 5157F09EFDC096DE15EBE81A47057A7232F1B8E1"  \
6  -H "Content-Type: application/json" \
7  -d '{
8    "brand_id" : 1234,
9    "brand_appid" : "wxf636efh567hg4356",
10    "scene" : "CUSTOM_SEND",
11    "template_id" : "123400001",
12    "out_batch_no" : "plfk2020042013",
13    "batch_name" : "双十一营销用品牌红包",
14    "batch_remark" : "双十一营销用品牌红包",
15    "total_amount" : 10000,
16    "total_num" : 10,
17    "detail_list" : [
18      {
19        "out_detail_no" : "x23zy545Bd5436",
20        "amount" : 100,
21        "openid" : "o-MYE42l80oelYMDE34nYD456Xoy",
22        "user_name" : "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45",
23        "remark" : "来自XX的红包"
24      }
25    ]
26  }'
27

应答参数

200 OK

out_batch_no  必填 string(32)

【商家品牌红包批次单号】 品牌商户系统内部区分品牌红包批次单下不同品牌红包明细单的唯一标识,要求此参数只能由数字、大小写字母组成


batch_no  必填 string(64)

【微信支付品牌红包批次单号】 微信批次单号,微信商家转账系统返回的唯一标识


create_time  必填 string(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年05月20日13点29分35秒


batch_state  选填 string

【批次单状态】 当前品牌红包批次状态

可选取值

  • WAIT_PAY: 商户员工确认付款阶段

  • ACCEPTED: 批次已受理成功,若发起品牌红包的30分钟后,品牌红包批次单仍处于该状态,可能原因是商户账户余额不足等。商户可查询账户资金流水,若该笔品牌红包批次单的扣款已经发生,则表示批次已经进入发送中,请再次查单确认

  • PROCESSING: 已开始处理批次内的品牌红包明细单

  • FINISHED: 批次内的所有品牌红包明细单都已处理完成

  • CLOSED: 可查询具体的批次关闭原因确认

应答示例

200 OK

1{
2  "out_batch_no" : "plfk2020042013",
3  "batch_no" : "1210000071100999991182020050700019480001",
4  "create_time" : "2015-05-20T13:29:35+08:00",
5  "batch_state" : "ACCEPTED"
6}
7

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

429

FREQUENCY_LIMIT_EXCEED

请求接口频率过快

降低频率,稍后重试

403

NOT_ENOUGH

资金不足

确认出资商户余额充足

 

反馈
咨询
目录
置顶