微信裂变红包是指微信用户在收到企业发送的组合红包之后, 可以再次将红包中的剩余金额分享给好友领取的一种现金红包形式。
一、功能介绍
春节期间,微信红包以其独特的魅力,优秀的用户体验和安全的支付环境,一经推出即受到了广大用户的热烈欢迎,现微信支付现金红包向微信支付商户开发,具体能力如下:
1、商户调用接口时,通过指定发送对象以及发送金额的方式发放红包,这样的方式,允许商户灵活的应用于各种各样丰富的活动场景
2、领取到红包后,用户的资金直接进入微信零钱,避免繁复的领奖流程,带给用户微信支付原生的流畅体验
二、微信红包发送规则
裂变红包
发送频率规则
◆ 每分钟发送红包数量不得超过1800个;
◆ 北京时间0:00-8:00不触发红包赠送;(如果以上规则不满足您的需求,请发邮件至wxhongbao@tencent.com获取升级指引)
红包规则
◆ 单个红包金额介于[1.00元,1000.00元]之间;
◆ 裂变组合中的每个红包平均金额介于[1.00元,200.00元]之间;
◆ 同一组裂变红包只能发送给一个用户;(如果以上规则不满足您的需求,请发邮件至wxhongbao@tencent.com获取升级指引)
三、接口详细说明
1.红包发放说明
用于企业向微信用户个人发裂变红包
目前支持向指定微信用户的openid发放指定金额裂变红包。(获取openid参见微信公众平台开发者文档: 网页授权获取用户基本信息)
◆ 商户调用接口时,通过指定发送金额以及指定一位发送对象的方式发放一组红包
◆ 指定发送对象领取到红包后,资金直接进入微信零钱,带给用户微信支付原生的流畅体验
◆ 指定发送对象能够将组合中的剩余红包分享给好友,好友可继续领取,形成传播效应,放大企业品牌价值
2.接口调用请求说明
请求Url
https://api.mch.weixin.qq.com/mmpaymkttransfers/sendgroupredpack
是否需要证书
是(证书及使用说明详见商户证书)
请求方式
POST
3.请求参数
字段名
字段
必填
示例值
类型
说明
随机字符串
nonce_str
是
5K8264ILTKCH16CQ2502SI8ZNMTM67VS
String(32)
随机字符串,不长于32位
签名
sign
是
C380BEC2BFD727A4B6845133519F3AD6
String(32)
详见签名生成算法
商户订单号
mch_billno
是
10000098201411111234567890
String(28)
商户订单号(每个订单号必须唯一)
组成: mch_id+yyyymmdd+10位一天内不能重复的数字。
接口根据商户订单号支持重入, 如出现超时可再调用。
商户号
mch_id
是
10000098
String(32)
微信支付分配的商户号
子商户号
sub_mch_id
否
10000090
String(32)
微信支付分配的子商户号,受理模式下必填
公众账号appid
wxappid
是
wx8888888888888888
String(32)
商户appid
商户名称
send_name
是
天虹百货
String(32)
红包发送者名称
用户openid
re_openid
是
oxTWIuGaIt6gTKsQRLau2M0yL16E
String(32)
接收红包的种子用户(首个用户)
用户在wxappid下的openid
总金额
total_amount
是
1000
int
红包发放总金额,即一组红包金额总和,包括分享者的红包和裂变的红包,单位分
红包发放总人数
total_num
是
3
int
红包发放总人数,即总共有多少人可以领到该组红包(包括分享者)
红包金额设置
amt_type
是
ALL_RAND
String(32)
红包金额设置方式
ALL_RAND—全部随机,商户指定总金额和红包发放总人数,由微信支付随机计算出各红包金额
ALL_SPECIFIED—全部自定义
SEED_SPECIFIED—种子红包自定义,其他随机
各红包金额
amt_list
否
200|100|100
String(256)
各红包具体金额,自定义金额时必须设置,单位分
红包祝福语
wishing
是
感谢您参加猜灯谜活动,祝您元宵节快乐!
String(128)
红包祝福语
活动名称
act_name
是
猜灯谜抢红包活动
String(32)
活动名称
备注
remark
是
猜越多得越多,快来抢!
String(256)
备注信息
商户logo的url
logo_imgurl
否
https://wx.gtimg.com/mch/img/ico-logo.png
String(128)
商户logo的url(暂未开放)
背景水印图片
watermark_imgurl
否
https://wx.gtimg.com/mch/img/ico-logo.png
String(128)
背景水印图片url
详情页banner图
banner_imgurl
否
https://wx.gtimg.com/mch/img/ico-logo.png
String(128)
红包详情页面的banner图片url
数据示例:
4.返回参数
字段名
变量名
必填
示例值
类型
说明
返回状态码
return_code
是
SUCCESS
String(16)
SUCCESS/FAIL
此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断
返回信息
return_msg
否
签名失败
String(128)
返回信息,如非空,为错误原因
签名失败
参数格式校验错误
以下字段在return_code为SUCCESS的时候有返回
签名
sign
是
C380BEC2BFD727A4B6845133519F3AD6
String(32)
生成签名方式详见签名生成算法
业务结果
result_code
是
SUCCESS
String(16)
SUCCESS/FAIL
错误代码
err_code
否
SYSTEMERROR
String(32)
错误码信息
错误代码描述
err_code_des
否
系统错误
String(128)
结果信息描述
以下字段在return_code 和result_code都为SUCCESS的时候有返回
商户订单号
mch_billno
是
10000098201411111234567890
String(28)
商户订单号(每个订单号必须唯一)
组成: mch_id+yyyymmdd+10位一天内不能重复的数字
商户号
mch_id
是
10000098
String(32)
微信支付分配的商户号
公众账号appid
wxappid
是
wx8888888888888888
String(32)
商户appid
用户openid
re_openid
是
oxTWIuGaIt6gTKsQRLau2M0yL16E
String(32)
接收红包的种子用户(首个用户)
用户在wxappid下的openid
总付款金额
total_amount
是
1000
int
总付款金额,单位分
发放成功时间
send_time
是
20150227091010
String(14)
红包发放成功时间,格式为yyyyMMddHHmmss,如2015年02月27日9点10分10秒表示为20150227091010
微信单号
send_listid
是
1000000000201502270093647546
String(32)
微信红包订单号
成功示例:
失败示例:
5.错误码
错误码
描述
解决方案
CA_ERROR
请求未携带证书,或请求携带的证书出错
到商户平台下载证书,请求带上证书后重试。
SIGN_ERROR
商户签名错误
按文档要求重新生成签名后再重试。
FREQ_LIMIT
受频率限制
请对请求做频率控制
XML_ERROR
请求的xml格式错误,或者post的数据为空
检查请求串,确认无误后重试
PARAM_ERROR
参数错误
请查看err_code_des,修改设置错误的参数
OPENID_ERROR
Openid错误
根据用户在商家公众账号上的openid,获取用户在红包公众账号上的openid 错误。请核对商户自身公众号appid和用户在此公众号下的openid。
NOTENOUGH
余额不足
商户账号余额不足,请登录微信支付商户平台充值
FATAL_ERROR
重复请求时,参数与原单不一致
使用相同商户单号进行重复请求时,参数与第一次请求时不一致,请检查并修改参数后再重试。
TIME_LIMITED
企业红包的发送时间受限
请北京时间0:00-8:00时间之外触发红包赠送
SECOND_OVER_LIMITED
企业红包的按分钟发放受限
每分钟发送红包数量不得超过1800个;(可联系微信支付wxhongbao@tencent.com调高额度)
DAY_ OVER_LIMITED
企业红包的按天日发放受限
单个商户日发送红包数量不大于10000个;(可联系微信支付wxhongbao@tencent.com调高额度)
MONEY_LIMIT
红包金额发放限制
每个红包金额必须大于1元,小于1000元(可联系微信支付wxhongbao@tencent.com调高额度至4999元)
XML_ERROR
请求的xml格式错误,或者post的数据为空
检查请求串,确认无误后重试
SEND_FAILED
红包发放失败,请更换单号再重试
原商户单号已经失败,如果还要对同一个用户发放红包, 需要更换新的商户单号再试。
SYSTEMERROR
系统繁忙,请再试。
可用同一商户单号再次调用,只会发放一个红包