关闭登录微信群
用户名/邮箱:š
   
密 码:
验证码: 点击刷新验证码
 
    | 注册

我的位置:首页 > 微信学堂 >

【微信支付】现金红包开发者文档

摘要 产品简介现金红包,是微信支付商户平台提供的营销工具之一,上线以来深受广大商户与用...

产品简介

现金红包,是微信支付商户平台提供的营销工具之一,上线以来深受广大商户与用户的喜爱。商户可以通过本平台向微信支付用户发放现金红包。用户领取红包后,资金到达用户微信支付零钱账户,和零钱包的其他资金有一样的使用出口;若用户未领取,资金将会在24小时后退回商户的微信支付账户中。

产品意义

微信支付现金红包因资金的承载方式为现金,一直以来深受用户的青睐,近年来的春晚中,现金红包都扮演着重要的角色;在日常运营中也为商户的营销活动带来热烈的反响。总的来说,现金红包在包括但不仅限于以下场景中发挥着重要意义:

    • ◆ 为企业拉取新用户、巩固老用户关系、提升用户活跃度

    • ◆ 结合巧妙的创意点子,辅以红包点缀,打造火爆的活动,提升企业与品牌知名度

    • ◆ 结合企业运营活动,以红包作为奖品,使你的抽奖、满送等营销活动更便利进行

    • ◆ 同时,除了营销之外,现金红包在企业日常的运营中也扮演着重要角色。如:为员工返福利、为供应商返利、会员积分/虚拟等级兑现等等。

发放规则

1.发送频率限制------默认1800/min

2.发送个数上限------默认1800/min

3.场景金额限制------默认红包金额为1-200元,如有需要,可前往商户平台进行设置和申请

4.其他限制------商户单日出资金额上限--100万元;单用户单日收款金额上限--1000元;单用户可领取红包个数上限--10个;

注意事项:

◆ 红包金额大于200或者小于1元时,请求参数scene_id必传,参数说明见下文。
◆ 根据监管要求,新申请商户号使用现金红包需要满足两个条件:1、入驻时间超过90天 2、连续正常交易30天。
◆ 移动应用的appid无法使用红包接口。
◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复发放红包等资金风险。
◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新回包字段,会更新到此API文档中。
◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新的错误码,会更新到此API文档中。
◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。

◆ 请商户在自身的系统中合理设置发放频次并做好并发控制,防范错付风险。

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

消息触达规则

现金红包发放后会以公众号消息的形式触达用户,不同情况下触达消息的形式会有差别,相关规则如下:

1.已关注公众号的用户,使用“防伪消息”触达;

2.未关注公众号的用户,使用“模板消息”触达。

接口调用请求说明

请求Urlhttps://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack
是否需要证书是(证书及使用说明详见商户证书
请求方式POST
超时时间(同笔订单最短重试时间)1s

请求参数

字段名字段必填示例值类型说明
随机字符串nonce_str5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)随机字符串,不长于32位
签名signC380BEC2BFD727A4B6845133519F3AD6String(32)详见签名生成算法
商户订单号mch_billno10000098201411111234567890String(28)

商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z)

接口根据商户订单号支持重入,如出现超时可再调用。

商户号mch_id10000098String(32)微信支付分配的商户号
公众账号appidwxappidwx8888888888888888String(32)微信分配的公众账号ID(企业号corpid即为此appId)。在微信开放平台(open.weixin.qq.com)申请的移动应用appid无法使用该接口。
商户名称send_name天虹百货String(32)

红包发送者名称

注意:敏感词会被转义成字符*

用户openidre_openidoxTWIuGaIt6gTKsQRLau2M0yL16EString(32)

接受红包的用户openid

openid为用户在wxappid下的唯一标识(获取openid参见微信公众平台开发者文档:网页授权获取用户基本信息

付款金额total_amount1000int付款金额,单位分
红包发放总人数total_num1int

红包发放总人数

total_num=1

红包祝福语wishing感谢您参加猜灯谜活动,祝您元宵节快乐!String(128)

红包祝福语

注意:敏感词会被转义成字符*

Ip地址client_ip192.168.0.1String(15)调用接口的机器Ip地址
活动名称act_name猜灯谜抢红包活动String(32)

活动名称

注意:敏感词会被转义成字符*

备注remark猜越多得越多,快来抢!String(256)备注信息
场景idscene_idPRODUCT_8String(32)

发放红包使用场景,红包金额大于200或者小于1元时必传

PRODUCT_1:商品促销

PRODUCT_2:抽奖

PRODUCT_3:虚拟物品兑奖

PRODUCT_4:企业内部福利

PRODUCT_5:渠道分润

PRODUCT_6:保险回馈

PRODUCT_7:彩票派奖

PRODUCT_8:税务刮奖

活动信息risk_infoposttime%3d123123412%26clientversion%3d234134%26mobile%3d122344545%26deviceid%3dIOSString(128)

posttime:用户操作的时间戳

mobile:业务系统账号的手机号,国家代码-手机号。不需要+号

deviceid :mac 地址或者设备唯一标识

clientversion :用户操作的客户端版本

把值为非空的信息用key=value进行拼接,再进行urlencode

urlencode(posttime=xx& mobile =xx&deviceid=xx)

数据示例:

<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>

<total_num><![CDATA[1]]></total_num>

<wishing><![CDATA[恭喜发财]]></wishing>

<client_ip><![CDATA[127.0.0.1]]></client_ip>

<act_name><![CDATA[新年红包]]></act_name>

<remark><![CDATA[新年红包]]></remark>

<scene_id><![CDATA[PRODUCT_2]]></scene_id>

<nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str>

<risk_info>posttime%3d123123412%26clientversion%3d234134%26mobile%3d122344545%26deviceid%3dIOS</risk_info>

</xml>

返回参数

字段名变量名必填示例值类型说明
返回状态码return_codeSUCCESSString(16)

SUCCESS/FAIL

此字段是通信标识,非红包发放结果标识,红包发放是否成功需要查看result_code来判断

返回信息return_msg签名失败String(128)

返回信息,如非空,为错误原因

签名失败

参数格式校验错误

以下字段在return_code为SUCCESS的时候有返回
业务结果result_codeSUCCESSString(16)

SUCCESS/FAIL

注意:当状态为FAIL时,存在业务结果未明确的情况。所以如果状态是FAIL,请务必再请求一次查询接口[请务必关注错误代码(err_code字段),通过查询得到的红包状态确认此次发放的结果。],以确认此次发放的结果。

错误代码err_codeSYSTEMERRORString(32)

错误码信息

注意:出现未明确的错误码(SYSTEMERROR等)时,请务必用原商户订单号重试,或者再请求一次查询接口以确认此次发放的结果。

错误代码描述err_code_des系统错误String(128)结果信息描述
以下字段在return_code和result_code都为SUCCESS的时候有返回
商户订单号mch_billno10000098201411111234567890String(28)

商户订单号(每个订单号必须唯一

组成:mch_id+yyyymmdd+10位一天内不能重复的数字

商户号mch_id10000098String(32)微信支付分配的商户号
公众账号appidwxappidwx8888888888888888String(32)商户appid,接口传入的所有appid应该为公众号的appid(在mp.weixin.qq.com申请的),不能为APP的appid(在open.weixin.qq.com申请的)。
用户openidre_openidoxTWIuGaIt6gTKsQRLau2M0yL16EString(32)

接受收红包的用户

用户在wxappid下的openid

付款金额total_amount1000int付款金额,单位分
微信单号send_listid100000000020150520314766074200String(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>1</total_amount>

</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>1</total_amount>

</xml>

错误码

错误码错误描述原因解决方式
NO_AUTH发放失败,此请求可能存在风险,已被微信拦截用户账号异常,被拦截请提醒用户检查自身帐号是否异常。使用常用的活跃的微信号可避免这种情况。
SENDNUM_LIMIT该用户今日领取红包个数超过限制该用户今日领取红包个数超过你在微信支付商户平台配置的上限如有需要、请在微信支付商户平台【api安全】中重新配置 【每日同一用户领取本商户红包不允许超过的个数】。
ILLEGAL_APPID非法appid,请确认是否为公众号的appid,不能为APP的appid错误传入了app的appid接口传入的所有appid应该为公众号的appid(在mp.weixin.qq.com申请的),不能为APP的appid(在open.weixin.qq.com申请的)。
MONEY_LIMIT红包金额发放限制发送红包金额不在限制范围内每个红包金额必须在默认额度内(默认大于1元,小于200元,可在产品设置中自行申请调高额度)
SEND_FAILED红包发放失败,请更换单号再重试该红包已经发放失败如果需要重新发放,请更换单号再发放
FATAL_ERRORopenid和原始单参数不一致更换了openid,但其他信息有改动,详情看错误描述请商户检查代码实现逻辑
CA_ERROR商户API证书校验出错请求没带商户API证书或者带上了错误的商户API证书您使用的调用证书有误,请确认是否使用了正确的证书,可以前往商户平台重新下载,证书需与商户号对应,如果要继续付款必须使用原商户订单号重试
SIGN_ERROR签名错误1、没有使用商户平台设置的商户API密钥进行加密(有可能之前设置过密钥,后来被修改了,没有使用新的密钥进行加密)。
2、加密前没有按照文档进行参数排序(可参考文档)
3、把值为空的参数也进行了签名。可到(http://mch.weixin.qq.com/wiki/tools/signverify/ )验证。
4、如果以上3步都没有问题,把请求串中(post的数据)里面中文都去掉,换成英文,试下,看看是否是编码问题。(post的数据要求是utf8)
1. 到商户平台重新设置新的密钥后重试
2. 检查请求参数把空格去掉重试
3. 中文不需要进行encode,使用CDATA
4. 按文档要求生成签名后再重试
在线签名验证工具:http://mch.weixin.qq.com/wiki/tools/signverify/
SYSTEMERROR请求已受理,请稍后使用原单号查询发放结果系统无返回明确发放结果使用原单号调用接口,查询发放结果,如果使用新单号调用接口,视为新发放请求
XML_ERROR输入xml参数格式错误请求的xml格式错误,或者post的数据为空检查请求串,确认无误后重试
FREQ_LIMIT超过频率限制,请稍后再试受频率限制请对请求做频率控制
API_METHOD_CLOSED你的商户号API发放方式已关闭,请联系管理员在商户平台开启商户API发放方式处于关闭状态请联系管理员在商户平台开启
NOTENOUGH帐号余额不足,请到商户平台充值后再重试账户余额不足充值后重试
OPENID_ERRORopenid和appid不匹配openid和appid不匹配发红包的openid必须是本appid下的openid
MSGAPPID_ERROR触达消息给用户appid有误msgappid与主、子商户号的绑定关系校验失败检查下msgappid是否填写错误,msgappid需要跟主、子商户号 有绑定关系
ACCEPTMODE_ERROR主、子商户号关系校验失败服务商模式下主商户号与子商户号关系校验失败确认传入的主商户号与子商户号是否有受理关系
PROCESSING请求已受理,请稍后使用原单号查询发放结果红包正在发放中请在红包发放二十分钟后查询,按照查询结果成功失败进行处理,如果依然是PROCESSING的状态,请使用原商户订单号重试
PARAM_ERRORact_name字段必填,并且少于32个字符请求的act_name字段填写错误填写正确的act_name后重试
发放金额、最小金额、最大金额必须相等请求的金额相关字段填写错误按文档要求填写正确的金额后重试
红包金额参数错误红包金额过大修改金额重试
appid字段必填,最长为32个字符请求的appid字段填写错误填写正确的appid后重试
订单号字段必填,最长为28个字符请求的mch_billno字段填写错误填写正确的billno后重试
client_ip必须是合法的IP字符串请求的client_ip填写不正确填写正确的IP后重试
输入的商户号有误请求的mchid字段非法(或者没填)填写对应的商户号再重试
找不到对应的商户号请求的mchid字段填写错误填写正确的mchid字段后重试
nick_name字段必填,并且少于16字符请求的nick_name字段错误按文档填写正确的nick_name后重试
nonce_str字段必填,并且少于32字符请求的nonce_str字段填写不正确按文档要求填写正确的nonce_str值后重试
re_openid字段为必填并且少于32个字符请求的re_openid字段非法填写对re_openid后重试
remark字段为必填,并且少于256字符请求的remark字段填写错误填写正确的remark后重试
send_name字段为必填并且少于32字符请求的send_name字段填写不正确按文档填写正确的send_name字段后重试
total_num必须为1total_num字段值不为1修改total_num值为1后重试
wishing字段为必填,并且少于128个字符缺少wishing字段填写wishing字段再重试
商户号和wxappid不匹配商户号和wxappid不匹配请修改Mchid或wxappid参数
SENDNUM_LIMIT该用户今日领取红包个数超过限制该用户今日领取红包个数超过你在微信支付商户平台配置的上限如有需要、请在微信支付商户平台【api安全】中重新配置 【每日同一用户领取本商户红包不允许超过的个数】。
SENDAMOUNT_LIMIT您的商户号今日发放金额超过限制,如有需要请登录微信支付商户平台更改API安全配置商户今日发放的总金额超过您在微信支付商户平台配置的上限如有需要,请联系管理员在商户平台上调整单日发送金额上限。
RCVDAMOUNT_LIMIT该用户今日领取金额超过限制,如有需要请登录微信支付商户平台更改API安全配置该用户今日领取红包总金额超过您在微信支付商户平台配置的上限如有需要,请联系管理员在商户平台上调整单用户单日领取金额上限。


微信群导航(微信红包)为用户免费分享产生,若发现您的权利被侵害,请联系89322680@qq.com ,我们尽快处理
Copyright © 2020 www.afnhk.com 微信群导航(微信群) 版权所有.

客服咨询 广告合作 咨询热线
139-001-38000

扫一扫立即体验