产品简介
现金红包,是微信支付商户平台提供的营销工具之一,上线以来深受广大商户与用户的喜爱。商户可以通过公众号或者服务通知向用户发放现金红包。用户领取红包后,资金到达用户微信支付零钱账户,和零钱包的其他资金有一样的使用出口;若用户未领取,资金将会在24小时后退回商户的微信支付账户中。
产品意义
微信支付现金红包因资金的承载方式为现金,一直以来深受用户的青睐,近年来的春晚中,现金红包都扮演着重要的角色;在日常运营中也为商户的营销活动带来热烈的反响。总的来说,现金红包在包括但不仅限于以下场景中发挥着重要意义:
- ◆ 为企业拉取新用户、巩固老用户关系、提升用户活跃度
- ◆ 结合巧妙的创意点子,辅以红包点缀,打造火爆的活动,提升企业与品牌知名度
- ◆ 结合企业运营活动,以红包作为奖品,使你的抽奖、满送等营销活动更便利进行
- ◆ 同时,除了营销之外,现金红包在企业日常的运营中也扮演着重要角色。如:为员工发福利、为供应商返利、会员积分/虚拟等级兑现等等。
- 操作指导发放前准备事项一、开通现金红包权限注意: 根据监管要求,新申请商户号使用现金红包需要满足两个条件:
- ◆ 商户号已入驻90日且截止今日回推30天商户号保持连续不间的交易;
- ◆ 保持正常健康交易:
- 在使用现金红包之前,请前往开通现金红包功能。操作路径:【登录微信支付商户平台——>产品中心——>现金红包——>开通】。
说明:在开通时请如实选择你的使用场景,且在红包的发放过程中如实上报你的场景,如有作假,微信支付将有权根据《微信支付商户平台使用协议》对你的商户号做出处理。 二、下载API证书商户调用微信红包接口时,服务器会进行证书验证,请在商户平台下载证书- 三、充值在发放现金红包之前,请确保你的资金充足。如若不足,请充值。操作路径:【登录商户平台——>交易中心——>资金管理——>充值】 四、获取openid目前支持向指定微信用户的openid发放指定金额红包。(获取openid参见微信公众平台开发者文档:网页授权获取用户基本信息) 五、相关参数设置和红包相关的参数,你可以在页面上自主设置和更改。操作路径如下:【登录商户平台——>产品中心——>现金红包——>产品设置】(注:“产品设置”操作按钮仅当你开通现金红包功能之后才会出现)。你可以对红包发放方式等参数进行设置:
- 还可以对额度及安全等参数进行设置:
- 说明:
- ◆ 调用IP地址:设置之后,仅有已设置的IP地址可以调用,其余的IP调用会报错,最多支持10个
- ◆ 单日发送金额上限:该商户一天允许发放的红包总金额上限;
- ◆ 单用户单日领取上限:限制同一openid同一日领取该商户的个数上限;
- ◆ 单用户单日领取金额上限:限制同一openid同一日领取该商户的红包金额上限
- ◆ 防刷等级:防刷是指微信风控针对微信小号、僵尸号、机器号等的拦截,你可以通过更改防刷等级控制防刷的强度(0级为关闭,1到3逐级递增安全等级);
- ◆ 同时,你也可以申请更改红包额度。若超过所选使用场景的默认额度,则需要经过审核,审核通过之后才会生效;
- 发放红包接口1.发送频率限制------默认30/秒2.场景金额限制------默认红包金额为1-200元,如有需要,可前往商户平台进行设置和申请3.其他限制------商户单日出资金额上限--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_str是5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)随机字符串,不长于32位签名sign是C380BEC2BFD727A4B6845133519F3AD6String(32)详见签名生成算法商户订单号mch_billno是10000098201411111234567890String(28)商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z)接口根据商户订单号支持重入,如出现超时可再调用。商户号mch_id是10000098String(32)微信支付分配的商户号公众账号appidwxappid是wx8888888888888888String(32)微信为发放红包商户分配的公众账号ID,接口传入的appid应该为公众号的appid(在mp.weixin.qq.com申请的)或APP的appid(在open.weixin.qq.com申请的)。校验规则:1、该appid需要与接口传入中的re_openid有对应关系;2、该appid需要与发放红包商户号有绑定关系,若未绑定,可参考该指引完成绑定(商家商户号与AppID账号关联管理)商户名称send_name是天虹百货String(32)红包发送者名称用户openidre_openid是oxTWIuGaIt6gTKsQRLau2M0yL16EString(32)接受红包的用户openidopenid为用户在wxappid下的唯一标识(获取openid参见微信公众平台开发者文档:网页授权获取用户基本信息)付款金额total_amount是1000int付款金额,单位分红包发放总人数total_num是1int红包发放总人数total_num=1红包祝福语wishing是感谢您参加猜灯谜活动,祝您元宵节快乐!String(128)红包祝福语Ip地址client_ip是192.168.0.1String(15)该IP同在商户平台设置的IP白名单中的IP没有关联,该IP可传用户端或者服务端的IP。活动名称act_name是猜灯谜抢红包活动String(32)活动名称备注remark是猜越多得越多,快来抢!String(256)备注信息场景idscene_id否PRODUCT_8String(32)发放红包使用场景,红包金额大于200或者小于1元时必传PRODUCT_1:商品促销PRODUCT_2:抽奖PRODUCT_3:虚拟物品兑奖 PRODUCT_4:企业内部福利PRODUCT_5:渠道分润PRODUCT_6:保险回馈PRODUCT_7:彩票派奖PRODUCT_8:税务刮奖活动信息risk_info否posttime=123123412&clientversion=234134&mobile=122344545&deviceid=IOSString(128)posttime:用户操作的时间戳mobile:业务系统账号的手机号,国家代码-手机号。不需要 号deviceid :mac 地址或者设备唯一标识 clientversion :用户操作的客户端版本把值为非空的信息用key=value进行拼接,再进行urlencodeurlencode(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=123123412&clientversion=234134&mobile=122344545&deviceid=IOS</risk_info></xml>字段名变量名必填示例值类型说明返回状态码return_code是SUCCESSString(16)SUCCESS/FAIL此字段是通信标识,非红包发放结果标识,红包发放是否成功需要查看result_code来判断返回信息return_msg否签名失败String(128)返回信息,如非空,为错误原因签名失败参数格式校验错误以下字段在return_code为SUCCESS的时候有返回业务结果result_code是SUCCESSString(16)SUCCESS/FAIL注意:当状态为FAIL时,存在业务结果未明确的情况。所以如果状态是FAIL,请务必再请求一次查询接口[请务必关注错误代码(err_code字段),通过查询得到的红包状态确认此次发放的结果。],以确认此次发放的结果。错误代码err_code否SYSTEMERRORString(32)错误码信息注意:出现未明确的错误码(SYSTEMERROR等)时,请务必用原商户订单号重试,或者再请求一次查询接口以确认此次发放的结果。错误代码描述err_code_des否系统错误String(128)结果信息描述以下字段在return_code和result_code都为SUCCESS的时候有返回商户订单号mch_billno是10000098201411111234567890String(28)商户订单号(每个订单号必须唯一)组成:mch_id yyyymmdd 10位一天内不能重复的数字商户号mch_id是10000098String(32)微信支付分配的商户号公众账号appidwxappid是wx8888888888888888String(32)微信为发放红包商户分配的公众账号ID,接口传入的appid应该为公众号的appid(在mp.weixin.qq.com申请的)或APP的appid(在open.weixin.qq.com申请的)。校验规则:1、该appid需要与接口传入中的re_openid有对应关系;2、该appid需要与发放红包商户号有绑定关系,若未绑定,可参考该指引完成绑定(商家商户号与AppID账号关联管理)用户openidre_openid是oxTWIuGaIt6gTKsQRLau2M0yL16EString(32)接受收红包的用户用户在wxappid下的openid付款金额total_amount是1000int付款金额,单位分微信单号send_listid是100000000020150520314766074200String(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、把值为空的参数也进行了签名。可到(http://mch.weixin.qq.com/wiki/tools/signverify/ )验证。
3、如果以上3步都没有问题,把请求串中(post的数据)里面中文都去掉,换成英文,试下,看是否是编码问题。(post的数据要求是utf8)1. 到商户平台重新设置新的密钥后重试
5. 检查请求参数把空格去掉重试
6. 中文不需要进行encode,使用CDATA
7. 按文档要求生成签名后再重试
在线签名验证工具: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下的openidMSGAPPID_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安全配置。该用户今日领取红包总金额超过您在微信支付商户平台配置的上限。如有需要,请联系管理员在商户平台上调整单用户单日领取金额上限。PAYER_ACCOUNT_ABNORMAL商户账户付款受限商户号被处罚、冻结。 - 发放裂变红包裂变红包:一次可以发放一组红包。首先领取的用户为种子用户,种子用户领取一组红包当中的一个,并可以通过社交分享将剩下的红包给其他用户。裂变红包充分利用了人际传播的优势。注意事项:
◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复发放红包等资金风险。
◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新回包字段,会更新到此API文档中。
◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新的错误码,会更新到此API文档中。
◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。◆ 请商户在自身的系统中合理设置发放频次并做好并发控制,防范错付风险。◆ 因商户自身系统设置存在问题导致的资金损失,由商户自行承担。 现金红包发放后会以公众号消息的形式触达用户,不同情况下触达消息的形式会有差别,规则如下:是否关注关注时间是否接收消息触达消息否//模板消息是<=50小时是模板消息是<=50小时否模板消息是>50小时是防伪消息是>50小时否模板消息请求Urlhttps://api.mch.weixin.qq.com/mmpaymkttransfers/sendgroupredpack是否需要证书是(证书及使用说明详见商户证书)请求方式POST超时时间(同笔订单最短重试时间)1s字段名变量名必填示例值类型描述随机字符串nonce_str是5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)随机字符串,不长于32位签名sign是C380BEC2BFD727A4B6845133519F3AD6String(32)详见签名生成算法商户订单号mch_billno是10000098201411111234567890String(28)商户订单号(每个订单号必须唯一)组成: mch_id yyyymmdd 10位一天内不能重复的数字。接口根据商户订单号支持重入, 如出现超时可再调用。商户号mch_id是10000098String(32)微信支付分配的商户号公众账号appidwxappid是wx8888888888888888String(32)微信分配的公众账号ID(企业号corpid即为此appId),接口传入的所有appid应该为公众号的appid(在mp.weixin.qq.com申请的),不能为APP的appid(在open.weixin.qq.com申请的)。商户名称send_name是天虹百货String(32)红包发送者名称用户openidre_openid是oxTWIuGaIt6gTKsQRLau2M0yL16EString(32)接收红包的种子用户(首个用户)用户在wxappid下的openid总金额total_amount是1000int红包发放总金额,即一组红包金额总和,包括分享者的红包和裂变的红包,单位分红包发放总人数total_num是3int红包发放总人数,即总共有多少人可以领到该组红包(包括分享者)红包金额设置方式amt_type是ALL_RANDString(32)红包金额设置方式ALL_RAND—全部随机,商户指定总金额和红包发放总人数,由微信支付随机计算出各红包金额红包祝福语wishing是感谢您参加猜灯谜活动,祝您元宵节快乐!String(128)红包祝福语活动名称act_name是猜灯谜抢红包活动String(32)活动名称备注remark是猜越多得越多,快来抢!String(256)备注信息场景idscene_id否PRODUCT_8String(32)PRODUCT_1:商品促销PRODUCT_2:抽奖PRODUCT_3:虚拟物品兑奖 PRODUCT_4:企业内部福利PRODUCT_5:渠道分润PRODUCT_6:保险回馈PRODUCT_7:彩票派奖PRODUCT_8:税务刮奖活动信息risk_info否posttime=123123412&clientversion=234134&mobile=122344545&deviceid=IOSString(128)posttime:用户操作的时间戳mobile:业务系统账号的手机号,国家代码-手机号。不需要 号deviceid :mac 地址或者设备唯一标识 clientversion :用户操作的客户端版本把值为非空的信息用key=value进行拼接,再进行urlencodeurlencode(posttime=xx& mobile =xx&deviceid=xx)数据示例:<xml> <sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign> <mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno> <mch_id><![CDATA[1000888888]]></mch_id> <wxappid><![CDATA[wxcbda96de0b165486]]></wxappid> <send_name><![CDATA[send_name]]></send_name> <re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid> <total_amount><![CDATA[600]]></total_amount> <amt_type><![CDATA[ALL_RAND]]></amt_type> <total_num><![CDATA[3]]></total_num> <wishing><![CDATA[恭喜发财]]></wishing> <act_name><![CDATA[新年红包]]></act_name> <remark><![CDATA[新年红包]]></remark> <scene_id><![CDATA[PRODUCT_2]]></scene_id> <nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str> <risk_info>posttime=123123412&clientversion=234134&mobile=122344545&deviceid=IOS</risk_info></xml>字段名变量名必填示例值类型描述返回状态码return_code是SUCCESSString(16)SUCCESS/FAIL此字段是通信标识,非红包发放结果标识,红包发放是否成功需要查看result_code来判断返回信息return_msg否签名失败String(128)返回信息,如非空,为错误原因签名失败参数格式校验错误以下字段在return_code为SUCCESS的时候有返回字段名变量名必填示例值类型说明业务结果result_code是SUCCESSString(16)SUCCESS/FAIL注意:当状态为FAIL时,存在业务结果未明确的情况。所以如果状态是FAIL,请务必再请求一次查询接口[请务必关注错误代码(err_code字段),通过查询得到的红包状态确认此次发放的结果。],以确认此次发放的结果。错误代码err_code否SYSTEMERRORString(32)错误码信息 ,注意:出现未明确的错误码(SYSTEMERROR等)时,请务必用原商户订单号重试,或者再请求一次查询接口以确认此次发放的结果。错误代码描述err_code_des否系统错误String(128)结果信息描述以下字段在return_code 和result_code都为SUCCESS的时候有返回字段名变量名必填示例值类型说明商户订单号mch_billno是10000098201411111234567890String(28)商户订单号(每个订单号必须唯一)组成: mch_id yyyymmdd 10位一天内不能重复的数字商户号mch_id是10000098String(32)微信支付分配的商户号公众账号appidwxappid是wx8888888888888888String(32)微信分配的公众账号ID(企业号corpid即为此appId)用户openidre_openid是oxTWIuGaIt6gTKsQRLau2M0yL16EString(32)接受收红包的用户(首个接收用户的openid)用户在wxappid下的openid总金额total_amount是1000int付款总金额,单位分微信单号send_listid是100000000020150520314766074200String(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><![CDATA[20150227091010]]></send_time> <send_listid><![CDATA[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>错误码描述解决方案NO_AUTH发放失败,此请求可能存在风险,已被微信拦截请提醒用户检查自身账号是否异常。使用常用的活跃的微信号可避免这种情况。SENDNUM_LIMIT该用户今日领取红包个数超过限制如有需要请在微信支付商户平台【api安全】中重新配置 【每日同一用户领取本商户红包不允许超过的个数】。CA_ERROR请求没带商户API证书或者带上了错误的商户API证书您使用的调用证书有误,请确认是否使用了正确的证书,可以前往商户平台重新下载,证书需与商户号对应,如果要继续付款必须使用原商户订单号重试。ILLEGAL_APPID错误传入了app的appid接口传入的所有appid应该为公众号的appid(在mp.weixin.qq.com申请的),不能为APP的appid(在open.weixin.qq.com申请的)。SIGN_ERROR商户签名错误按文档要求重新生成签名后再重试。FREQ_LIMIT受频率限制请对请求做频率控制XML_ERROR请求的xml格式错误,或者post的数据为空检查请求串,确认无误后重试PARAM_ERROR参数错误请查看err_code_des,修改设置错误的参数红包祝福语、活动名称、备注、商户名称设置失败请调整对应文案后重新再试OPENID_ERROROpenid错误根据用户在商家公众账号上的openid,获取用户在红包公众账号上的openid 错误。请核对商户自身公众号appid和用户在此公众号下的openid。NOTENOUGH余额不足商户账号余额不足,请登录微信支付商户平台充值FATAL_ERROR重复请求时,参数与原单不一致使用相同商户单号进行重复请求时,参数与第一次请求时不一致,请检查并修改参数后再重试。SECOND_OVER_LIMITED企业红包的按分钟发放受限每分钟发送红包数量不得超过1800个;(可联系微信支付wxhongbao@tencent.com调高额度)DAY_ OVER_LIMITED企业红包的按天日发放受限单个商户日发送红包数量不大于10000个;(可联系微信支付wxhongbao@tencent.com调高额度)MONEY_LIMIT红包金额发放限制每个红包金额必须大于1元,小于1000元(可联系微信支付wxhongbao@tencent.com调高额度至4999元)API_METHOD_CLOSED你的商户号API发放方式已关闭,请联系管理员在商户平台开启请联系管理员在商户平台开启SEND_FAILED红包发放失败,请更换单号再重试原商户单号已经失败,如果还要对同一个用户发放红包, 需要更换新的商户单号再试。SYSTEMERROR系统繁忙,请再试。可用同一商户单号再次调用,只会发放一个红包PROCESSING红包发送请求已受理,请稍后使用原单号查询发放结果请在红包发放二十分钟后查询,按照查询结果成功失败进行处理,如果依然是PROCESSING的状态,请使用原商户订单号重试SENDNUM_LIMIT该用户今日领取红包个数超过限制如有需要、请在微信支付商户平台【api安全】中重新配置 【每日同一用户领取本商户红包不允许超过的个数】。SENDAMOUNT_LIMIT您的商户号今日发放金额超过限制,如有需要请登录微信支付商户平台更改API安全配置如有需要,请联系管理员在商户平台上调整单日发送金额上限。RCVDAMOUNT_LIMIT该用户今日领取金额超过限制,如有需要请登录微信支付商户平台更改API安全配置如有需要,请联系管理员在商户平台上调整单用户单日领取金额上限。查询红包记录用于商户对已发放的红包进行查询红包的具体信息,可支持普通红包和裂变包。注意事项
◆ 查询红包记录API只支持查询30天内的红包订单,30天之前的红包订单请登录商户平台查询。
◆ 如果查询单号对应的数据不存在,那么数据不存在的原因可能是:(1)发放请求还在处理中;(2)红包发放处理失败导致红包订单没有落地。在上述情况下,商户首先需要检查该商户订单号是否确实是自己发起的,如果商户确认是自己发起的,则请商户不要直接当做红包发放失败处理,请商户隔几分钟再尝试查询,或者商户可以通过相同的商户订单号再次发起发放请求。如果商户误把还在发放中的订单直接当发放失败处理,商户应当自行承担因此产生的所有损失和责任。
◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新回包字段,会更新到此API文档中。
◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新的错误码,会更新到此API文档中。
◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。请求Urlhttps://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo是否需要证书是(证书及使用说明详见商户证书)请求方式POST字段名字段必填示例值类型说明随机字符串nonce_str是5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)随机字符串,不长于32位签名sign是C380BEC2BFD727A4B6845133519F3AD6String(32)详见签名生成算法商户订单号mch_billno是10000098201411111234567890String(28)商户发放红包的商户订单号商户号mch_id是10000098String(32)微信支付分配的商户号Appidappid是wxe062425f740d30d8String(32)微信分配的公众账号ID(企业号corpid即为此appId),接口传入的所有appid应该为公众号的appid(在mp.weixin.qq.com申请的),不能为APP的appid(在open.weixin.qq.com申请的)。订单类型bill_type是MCHTString(32)MCHT:通过商户订单号获取红包信息。数据示例:<xml>
<sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign>
<mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno>
<mch_id><![CDATA[10000097]]></mch_id>
<appid><![CDATA[wxe062425f740c30d8]]></appid>
<bill_type><![CDATA[MCHT]]></ bill_type>
<nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str>
</xml>字段名变量名必填示例值类型说明返回状态码return_code是SUCCESSString(16)SUCCESS/FAIL
此字段是通信标识,非红包发放结果标识,红包发放是否成功需要结合result_code以及status来判断返回信息return_msg否签名失败String(128)返回信息,如非空,为错误原因
签名失败
参数格式校验错误以下字段在return_code为SUCCESS的时候有返回字段名变量名必填示例值类型说明业务结果result_code是SUCCESSString(16)SUCCESS/FAIL非红包发放结果标识,红包发放是否成功需要查看status字段来判断错误代码err_code否SYSTEMERRORString(32)错误码信息错误代码描述err_code_des否系统错误String(128)结果信息描述以下字段在return_code 和result_code都为SUCCESS的时候有返回字段名变量名必填示例值类型描述商户订单号mch_billno是10000098201411111234567890String(28)商户使用查询API填写的商户单号的原路返回商户号mch_id是10000098String(32)微信支付分配的商户号红包单号detail_id是1000000000201503283103439304String(32)使用API发放现金红包时返回的红包单号红包状态status是RECEIVEDstring(16)SENDING:发放中
SENT:已发放待领取
FAILED:发放失败
RECEIVED:已领取
RFUND_ING:退款中
REFUND:已退款发放类型send_type是APIString(32)API:通过API接口发放
UPLOAD:通过上传文件方式发放
ACTIVITY:通过活动方式发放红包类型hb_type是GROUPString(32)GROUP:裂变红包
NORMAL:普通红包红包个数total_num是1int红包个数红包金额total_amount是5000int红包总金额(单位分)失败原因reason否余额不足String(32)发送失败原因红包发送时间send_time是2015-04-21 20:00:00String(32)红包的发送时间红包退款时间refund_time否2015-04-21 23:03:00String(32)红包的退款时间(如果其未领取的退款)红包退款金额refund_amount否8000int红包退款金额祝福语wishing否新年快乐String(128)祝福语活动描述remark否新年红包String(256)活动描述,低版本微信可见活动名称act_name否新年红包String(32)发红包的活动名称裂变红包领取列表hblist否内容如下表array裂变红包的领取列表领取红包的Openidopenid是ohO4GtzOAAYMp2yapORH3dQB3W18String(32)领取红包的openid金额amount是100int领取金额接收时间rcv_time是2015-04-21 20:00:00String(32)领取红包的时间成功示例:<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg><result_code><![CDATA[SUCCESS]]></result_code><err_code><![CDATA[SUCCESS]]></err_code><err_code_des><![CDATA[OK]]></err_code_des><mch_billno><![CDATA[9010080799701411170000046603]]></mch_billno><mch_id><![CDATA[11475856]]></mch_id><detail_id><![CDATA[10000417012016080830956240040]]></detail_id><status><![CDATA[RECEIVED]]></status><send_type><![CDATA[ACTIVITY]]></send_type><hb_type><![CDATA[NORMAL]]></hb_type><total_num>1</total_num><total_amount>100</total_amount><send_time><![CDATA[2016-08-08 21:49:22]]></send_time><hblist><hbinfo><openid><![CDATA[oHkLxtzmyHXX6FW_cAWo_orTSRXs]]></openid><amount>100</amount><rcv_time><![CDATA[2016-08-08 21:49:46]]></rcv_time></hbinfo></hblist></xml>失败示例:<xml>
<return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[指定单号数据不存在]]></return_msg>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[SYSTEMERROR]]></err_code>
<err_code_des><![CDATA[指定单号数据不存在]]></err_code_des>
<mch_id>666</mch_id>
<mch_billno><![CDATA[1000005901201407261446939688]]></mch_billno>
</xml>错误代码描述解决方案CA_ERROR请求未携带证书,或请求携带的证书出错到商户平台下载证书,请求带上证书后重试。SIGN_ERROR商户签名错误按文档要求重新生成签名后再重试。NO_AUTH没有权限请联系微信支付开通api权限NOT_FOUND指定单号数据不存在查询单号对应的数据不存在,请使用正确的商户订单号查询FREQ_LIMIT受频率限制请对请求做频率控制XML_ERROR请求的xml格式错误,或者post的数据为空检查请求串,确认无误后重试PARAM_ERROR参数错误请查看err_code_des,修改设置错误的参数SYSTEMERROR系统繁忙,请再试。红包系统繁忙。
以上内容是微信现金红包支付介绍和使用操作流程,如有不明白之处,可以咨询与我们。