微信裂变红包
微信裂变红包是指微信用户在收到企业发送的组合红包之后, 可以再次将红包中的剩余金额分享给好友领取的一种现金红包形式。
一、功能介绍
春节期间,微信红包以其独特的魅力,优秀的用户体验和安全的支付环境,一经推出即受到了广大用户的热烈欢迎,现微信支付现金红包向微信支付商户开发,具体能力如下:
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 |
数据示例:
<xml> <sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign> <mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno> <mch_id><![CDATA[888]]></mch_id> <wxappid><![CDATA[wxcbda96de0b165486]]></wxappid> <send_name><![CDATA[send_name]]></send_name> <re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid> <total_amount><![CDATA[200]]></total_amount> <amt_type><![CDATA[ALL_RAND]]></amt_type> <amt_list><![CDATA[200|100|100]]></amt_list> <total_num><![CDATA[3]]></total_num> <wishing><![CDATA[恭喜发财]]></wishing> <act_name><![CDATA[新年红包]]></act_name> <remark><![CDATA[新年红包]]></remark> <logo_imgurl><![CDATA[https://xx/img/wxpaylogo.png]]></logo_imgurl> <share_content><![CDATA[share_content]]></share_content> <share_url><![CDATA[https://xx/img/wxpaylogo.png]]></share_url> <share_imgurl><![CDATA[https:/xx/img/wxpaylogo.png]]></share_imgurl> <watermark_imgurl><![CDATA[https:/xx/img/wxpaylogo.png]]></watermark_imgurl> <banner_imgurl><![CDATA[https:/xx/img/wxpaylogo.png]]></banner_imgurl> <nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str> </xml> |
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) |
微信红包订单号 |
成功示例:
<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[发放成功.]]></return_msg> <result_code><![CDATA[SUCCESS]]></result_code> <err_code><![CDATA[0]]></err_code> <err_code_des><![CDATA[发放成功.]]></err_code_des> <mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno> <mch_id>10010404</mch_id> <wxappid><![CDATA[wx6fa7e3bab7e15415]]></wxappid> <re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid> <total_amount>3</total_amount> <send_time>20150227091010</send_time> <send_listid>1000000000201502270093647546</send_listid> </xml> |
失败示例:
<xml> <return_code><![CDATA[FAIL]]></return_code> <return_msg><![CDATA[系统繁忙,请稍后再试.]]></return_msg> <result_code><![CDATA[FAIL]]></result_code> <err_code><![CDATA[268458547]]></err_code> <err_code_des><![CDATA[系统繁忙,请稍后再试.]]></err_code_des> <mch_billno><![CDATA[0010010404201411170000046542]]></mch_billno> <mch_id>10010404</mch_id> <wxappid><![CDATA[wx6fa7e3bab7e15415]]></wxappid> <re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid> <total_amount>3</total_amount> </xml> |
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 |
系统繁忙,请再试。 |
可用同一商户单号再次调用,只会发放一个红包 |
本文来自博客园,作者:方倍工作室,转载请注明原文链接:https://www.cnblogs.com/txw1958/p/weixin-send-group-redpack.html