API接口协议

发放规则:

发送频率限制———默认1800/min

发送个数上限———默认1800/min

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

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

注意事项:

红包金额大于200或者小于1元时,请求参数scene_id必传,参数说明见下文。

根据监管要求,新申请商户号使用现金红包需要满足两个条件:1、入驻时间超过90天 2、连续正常交易30天。

移动应用的appid无法使用红包接口。

当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复发放红包等资金风险。

XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新回包字段,会更新到此API文档中。

因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新的错误码,会更新到此API文档中。

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

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

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

请求方式:POST(HTTPS)

请求地址:https://api.mch.weixin.qq.com/mmpaymkttransfers/sendworkwxredpack

是否需要证书:是

数据格式:xml

证书使用详见:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=4_3

请求示例:

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

C380BEC2BFD727A4B6845133519F3AD6

123456

10000098

wx8888888888888888

XX活动

1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0

oxTWIuGaIt6gTKsQRLau2M0yL16E

1000

感谢您参加猜灯谜活动,祝您元宵节快乐!

猜灯谜抢红包活动

猜越多得越多,快来抢!

99BCDAFF065A4B95628E3DB468A874A8

参数说明:

字段名

字段

必填

示例值

类型

说明

随机字符串

nonce_str

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

String(32)

随机字符串,不长于32位

微信支付签名

sign

C380BEC2BFD727A4B6845133519F3AD6

String(32)

参见“签名算法”

商户订单号

mch_billno

123456

String(28)

商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z).接口根据商户订单号支持重入,如出现超时可再调用。组成参考:mch_id+yyyymmdd+10位一天内不能重复的数字

商户号

mch_id

10000098

String(32)

微信支付分配的商户号

公众账号appid

wxappid

wx8888888888888888

String(32)

微信分配的公众账号ID(企业微信corpid即为此appId)。接口传入的所有appid应该为公众号的appid(在mp.weixin.qq.com申请的),不能为APP的appid(在open.weixin.qq.com申请的)。

发送者名称

sender_name

XX活动

String(128)

以个人名义发红包,红包发送者名称(需要utf-8格式)。与agentid互斥,二者只能填一个。

发送红包的应用id

agentid

1

unsigned int

以企业应用的名义发红包,企业应用id,整型,可在企业微信管理端应用的设置页面查看。与sender_name互斥,二者只能填一个。

发送者头像

sender_header_media_id

1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0

String(128)

发送者头像素材id,通过企业微信开放上传素材接口获取

用户openid

re_openid

oxTWIuGaIt6gTKsQRLau2M0yL16E

String(32)

接受红包的用户.用户在wxappid下的openid。获取用户openid参见:http://work.weixin.qq.com/api/doc#11279

金额

total_amount

1000

int

金额,单位分,单笔最小金额默认为1元

红包祝福语

wishing

感谢您参加猜灯谜活动,祝您元宵节快乐!

String(128)

红包祝福语

项目名称

act_name

猜灯谜抢红包活动

String(32)

项目名称

备注

remark

猜越多得越多,快来抢!

String(256)

备注信息

场景

scene_id

PRODUCT_1

String(32)

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

PRODUCT_1:商品促销

PRODUCT_2:抽奖

PRODUCT_3:虚拟物品兑奖

PRODUCT_4:企业内部福利

PRODUCT_5:渠道分润

PRODUCT_6:保险回馈

PRODUCT_7:彩票派奖

PRODUCT_8:税务刮奖

企业微信签名

workwx_sign

企业微信签名

String(32)

参见“签名算法”

返回结果 :

返回参数:

字段名

字段

必填

示例值

类型

说明

返回状态码

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

1E+25

String(28)

商户订单号(每个订单号必须唯一)组成:mch_id+yyyymmdd+10位一天内不能重复的数字

商户号

mch_id

10000098

String(32)

微信支付分配的商户号

公众账号appid

wxappid

wx8888888888888888

String(32)

商户appid,接口传入的所有appid应该为公众号的appid(在mp.weixin.qq.com申请的),不能为APP的appid(在open.weixin.qq.com申请的)

用户openid

re_openid

oxTWIuGaIt6gTKsQRLau2M0yL16E

String(32)

接受收红包的用户在wxappid下的openid

付款金额

total_amount

1000

int

付款金额,单位分

微信单号

send_listid

1E+29

String(32)

红包订单的微信单号

发送者名称

sender_name

XX活动

String(128)

红包发送者名称(需要utf-8格式)

发送者头像

sender_header_media_id

1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0

String(128)

发送者头像素材id,通过企业微信开放上传素材接口获取

错误码:

错误码

错误描述

原因

解决方式

NO_AUTH

发放失败,此请求可能存在风险,已被微信拦截

用户账号异常,被拦截

请提醒用户检查自身帐号是否异常。使用常用的活跃的微信号可避免这种情况。

SENDNUM_LIMIT

该用户今日领取红包个数超过限制

该用户今日领取红包个数超过你在微信支付商户平台配置的上限

如有需要、请在微信支付商户平台-现金红包-产品设置中重新配置 【每日同一用户领取本商户红包不允许超过的个数】。

SENDAMOUNT_LIMIT

您的商户号今日发放金额超过限制,如有需要请登录微信支付商户平台更改API安全配置

商户今日发放的总金额超过您在微信支付商户平台配置的上限

如有需要,请联系管理员在商户平台-现金红包-产品设置上调整单日发送金额上限。

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

openid和原始单参数不一致

更换了openid,但商户单号未更新

请商户检查代码实现逻辑

CA_ERROR

CA证书出错,请登录微信支付商户平台下载证书

请求携带的证书出错

到商户平台下载证书,请求带上证书后重试

SIGN_ERROR

签名错误;企业微信签名失败

1. 没有使用商户平台设置的商户API密钥进行加密(有可能之前设置过密钥,后来被修改了,没有使用新的密钥进行加密)。

2. 加密前没有按照文档进行参数排序(可参考文档)。

3. 把值为空的参数也进行了签名。可到(http://mch.weixin.qq.com/wiki/tools/signverify/ )验证。

4. 如果以上3步都没有问题,把请求串中(post的数据)里面中文都去掉,换成英文,试下,看看是否是编码问题。(post的数据要求是utf8)

5. 没有按照企业微信签名算法进行签名

1. 到商户平台重新设置新的密钥后重试;

2. 检查请求参数把空格去掉重试;

3. 中文不需要进行encode,使用CDATA;

4. 按文档要求生成签名后再重试;

5. 检查企业微信支付应用secret是否和企业微信管理端支付应用的secret保持一致;检查参与企业微信签名的字段是否和签名算法里面的字段保持一直。

SYSTEMERROR

请求已受理,请稍后使用原单号查询发放结果

系统无返回明确发放结果

使用原单号调用接口,查询发放结果,如果使用新单号调用接口,视为新发放请求

XML_ERROR

输入xml参数格式错误

请求的xml格式错误,或者post的数据为空

检查请求串,确认无误后重试

FREQ_LIMIT

超过频率限制,请稍后再试

受频率限制

请对请求做频率控制(可联系微信支付wxhongbao@tencent.com申请调高)

NOTENOUGH

帐号余额不足,请到商户平台充值后再重试

账户余额不足

充值后重试

OPENID_ERROR

openid和appid不匹配

openid和appid不匹配

发红包的openid必须是本appid下的openid

PROCESSING

请求已受理,请稍后使用原单号查询发放结果

发红包流程正在处理

二十分钟后查询,按照查询结果成功失败进行处理

PARAM_ERROR

请求参数错误

请求携带的字段非法(或者没填)

请检查字段后重试;如果是重试请求,请与原单请求的金额保持一致。

NO_COMPETENCE

商户号错误

该商户号没有开通企业支付

该商户号没有开通企业支付,请登录企业微信管理端,进入企业支付应用核对商户号是否正确

API_METHOD_CLOSED

您的商户号API发放方式已关闭,请联系管理员在商户平台开启。

商户API发放方式处于关闭状态

请联系管理员在微信支付商户平台开启。

企业微信发送企业红包java_发放企业红包相关推荐

  1. 企业微信发送消息--Python

    企业微信内部消息推送--Python 我有一些自动化任务,这些自动化任务的执行结果,是成功和失败都是通过邮件发送的.但是邮件这个工具,有点正式,毕竟我只想一个通知.那有没有方法可以用微信接受通知呢? ...

  2. SQL Server 使用企业微信发送消息

    SQL Server使用企业微信发送消息 要推送企业微信消息需要使用WebAPI方式调用下面两个方法: 1.获取Token 请求方式: GET(HTTPS) 请求地址: https://qyapi.w ...

  3. linux 脚本调用企业微信_shell或python调用企业微信发送消息(实现报警功能)

    shell或python调用企业微信发送消息(实现报警功能) 官方文档 注册登陆企业微信 登录企业微信管理端 -> 应用与小程序 -> 应用 -> 自建,点击"创建应用&q ...

  4. part1:企业微信发送消息API调试

    1.知识准备 HTTP 访问原理 HTTP 协议则是web服务器和web客户端达成的一种可靠的数据传输协议 确保数据在传输的过程当中不会损坏或者产生混乱 WEB 客户端和服务器 Web内容都是存储在W ...

  5. JAVA-实现接入企业微信发送消息(最详细代码讲解!)

    1.通过应用发送消息 2.通过群机器人发送群消息 要清楚几个概念 使用企业微信管理员登录到控制台 企业微信后台管理地址 1.CorpId 这个是每个企业独有的企业ID 2.agentId 和 secr ...

  6. js可以打开mat文件吗_企业微信最大可以传多大文件?企业微信发送文件有限制吗?...

    使用企业微信营销管理时,可以让我们的工作交流沟通更加高效便捷,在日常办公中,我们时常有传文件的需求,这时就可以使用企业微信进行文件传输,那么你知道企业微信最大可以传多大文件吗?企业微信发文件会有限制吗 ...

  7. 向企业微信发送文字、图片的接口【亲测有效】

    向企业微信发送文字.图片的接口[亲测有效] 写在github上了:https://github.com/XuJianzhi/send_text_image_to_wechat/blob/main/RE ...

  8. python 微信发送图片_使用python向企业微信发送文字和图片消息

    使用python向企业微信发送文字和图片消息 吐槽一下企业微信的api文档真的不好读······ 企业微信本来是有功能,可以直接把图片显示到正文的,但是那个api我调用一直出错,各种折腾也没解决.后来 ...

  9. 企业微信发送应用消息php,企业微信如何发送应用消息?及时发布重要通知

    很多企业以前向员工发布通知的时候,要么是通过开会的方式传达,要么是通过文档的方式来通知员工.可是这样效率低,而且结果往往通知不到位.故此,现在很多企业开始使用企业微信发送应用消息来发布内部的重要通知. ...

最新文章

  1. PAT(甲级)2019年春季考试 7-4 Structure of a Binary Tree
  2. 从JSON数据中取出相关数据
  3. ListView 空值时的友好提示
  4. MS-SQL分页not in 方法改进之使用row_number
  5. Linux gcc/g++链接编译顺序详解
  6. JAVA的StringBuffer类详解
  7. int、bigint、smallint 和 tinyint范围
  8. 【CCCC】L3-021 神坛 (30分)计算几何+求三角形面积(极角排序)
  9. 二级计算机环境,计算机环境变量_二级计算机关于变量的问题
  10. 6D姿态估计算法汇总(上)
  11. qt禁止拖动_Qt如何实现拖拽功能?
  12. 变量求和_高中生看过来:高考数列求和的方法有哪些?本文主要分享6种方法...
  13. java 药品管理系统_基于Java web的医药药品管理系统
  14. 2022-2027年(新版)中国工程造价咨询行业现状动态与未来前景预测报告
  15. python基础(一):入门必备知识
  16. 关系图谱在贝壳的构建和应用
  17. 吴闲云——煮酒探西游
  18. odi12配置mysql_通过ODI 12c同步PostgreSQL数据到FusionInsight LibrA
  19. 程序员月薪过7万,可以落户北京了
  20. 【沉舟侧畔千帆过,病树前头万木春】---OpenFeign的各种骚操作 -VS- 既生瑜何生亮的感叹,小Ribbon怎么办?

热门文章

  1. 实践学习:首次项目合作
  2. Jquery实现form表单回填数据
  3. torch.backends.cudnn.deterministic 使用cuda保证每次结果一样
  4. LeetCode简单题之K 进制表示下的各位数字总和
  5. 客快物流大数据项目(十一):Docker应用部署
  6. 2021年大数据常用语言Scala(十六):基础语法学习 列表 List 重点掌握
  7. android 适配
  8. mqtt+htttp+websocket
  9. 对 Jenkins+ANT+Jmeter 接口测试的实践
  10. 转《Angular4项目部署到服务器上刷新404解决办法》