>[danger] 注意:如果失败,请到TP日志中查看错误信息,支付错误提示格式如下:
> 发红包 =======pay(WxRedpack) err:
> 查询红包订单 =======pay(WxRedpack) err:
>注意 :在使用红包发放功能时,请先到商户平台下载证书文件,将apiclient_key.pem,apiclient_cert.pem这2个文件放入到/application/wechat/wxpay/cert/这个目录下
>[info]红包发放分为2中发放方式:普通红包,裂变红包,是商家从商家账户中给某个用户发红包,所以请确保账户中的资金充足
### 发放规则
1.发送频率限制------默认1800/min
2.发送个数上限------默认1800/min
3.场景金额限制------默认红包金额为1-200元,如有需要,可前往商户平台进行设置和申请
4.其他限制------单用户可领取红包上线为10个/天
### 消息触达规则
现金红包发放后会以公众号消息的形式触达用户,不同情况下触达消息的形式会有差别,规则如下:
| 是否关注 | 关注时间 | 是否接收消息 | 触达消息 |
| :-: | :-: | :-: | :-: |
| 否 | / | / | 模版消息 |
| 是 | <=50小时 | 是 | 模版消息 |
| 是 | <=50小时 | 否 | 模版消息 |
| 是 | \>50小时 | 是 | 防伪消息 |
| 是 | \>50小时 | 否 | 模版消息 |
>红包发放
```
$param = array(
're_openid'=>'o4KFnuLOwsQR9tDusUk0ZBhe5rrrr',
'send_name'=>'COWCMS',
'mch_billno'=>"cowcms".date("YmdHis"),
'total_amount'=>300,
'total_num'=>3,
'wishing'=>"感谢大家对COWCMS的支持",
'act_name'=>"COWCMS活动",
'remark'=>"我的备注信息",
'amt_type'=>1, //如果为普通红包删除此值
);
$wxSendRedpack = pay('WX_Redpack',$param);//如果返回真标识发放成功,如果失败,请到日志中查看失败原TP因
```
>[danger] 注意 :如果为普通红包,必须删除此值,total_amount >=100 (即1元),total_num=1,如果为裂变红包,amt_type必须设置为1,total_amount >=300 (即3元),total_num>=3,即裂变红包领取人数至少为3个。
字段 |默认值 | 类型 | 说明 |
| --- | --- | --- | --- | --- | --- |
mch\_billno (**必填**)| 10000098201411111234567890 | String(28) | 商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z)接口根据商户订单号查询红包订单 |
| re\_openid(**必填**) | oxTWIuGaIt6gTKsQRLau2M0yL16E | String(32) | 接受红包的用户openid,如果是列表红包,为发放红包的种子 |
| total\_amount(**必填**) | 100 | int | 红包总金额,每个红包必须大于等于100,单位分 |
| total\_num (**必填**)| 1 | int | 红包发放总人数,如果为普通红包,必须为1,如果为列表红包,必须大于等于3|
| amt_type(**如果为裂变红包必填**)| 1 | int | 红包类型,如果为裂变红包必填,值为1|
| send\_name | COWCMS| String(32) | 红包发送者名称 注意:敏感词会被转义成字符\*|
| wishing | 感谢您参加猜灯谜活动,祝您元宵节快乐! | String(128) | 红包祝福语 注意:敏感词会被转义成字符\*|
| act\_name | 猜灯谜抢红包活动 | String(32) | 活动名称 注意:敏感词会被转义成字符\*|
| remark | 猜越多得越多,快来抢! | String(256) | 备注信息 |
>$wxSendRedpack 发放红包返回值,红包发放后,然后进行了查询红包订单,所以返回的值为查询订单值,格式如下:
>[danger] 注意 :如果红包发放失败,失败原因请到TP日志文件中查看,日志标识为。pay(WxRedpack)
| 字段名 | 变量名 | 示例值 | 类型 | 描述 |
| --- | --- | --- | --- | --- | --- |
| 商户订单号 | mch\_billno | 10000098201411111234567890 | String(28) | 商户使用查询API填写的商户单号的原路返回 |
| 商户号 | mch\_id | 10000098 | String(32) | 微信支付分配的商户号 |
| 红包单号 | detail\_id | 1000000000201503283103439304 | String(32) | 使用API发放现金红包时返回的红包单号 |
| 红包状态 | status | RECEIVED | string(16) | SENDING:发放中 SENT:已发放待领取 FAILED:发放失败 RECEIVED:已领取 RFUND\_ING:退款中 REFUND:已退款 |
| 发放类型 | send\_type | API | String(32) | API:通过API接口发放 UPLOAD:通过上传文件方式发放 ACTIVITY:通过活动方式发放 |
| 红包类型 | hb\_type | GROUP | String(32) | GROUP:裂变红包 NORMAL:普通红包 |
| 红包个数 | total\_num | 1 | int | 红包个数 |
| 红包金额 | total\_amount | 5000 | int | 红包总金额(单位分) |
| 失败原因 | reason | 余额不足 | String(32) | 发送失败原因 |
| 红包发送时间 | send\_time | 2015-04-21 20:00:00 | String(32) | |
| 红包退款时间 | refund\_time | 2015-04-21 23:03:00 | String(32) | 红包的退款时间(如果其未领取的退款) |
| 红包退款金额 | refund\_amount | 8000 | Int | 红包退款金额 |
| 祝福语 | wishing | 新年快乐 | String(128) | 祝福语 |
| 活动描述 | remark | 新年红包 | String(256) | 活动描述,低版本微信可见 |
| 活动名称 | act\_name | 新年红包 | String(32) | 发红包的活动名称 |
| 裂变红包领取列表 | hblist | 内容如下表 | | 裂变红包的领取列表 |
| 领取红包的Openid | openid | ohO4GtzOAAYMp2yapORH3dQB3W18 | String(32) | 领取红包的openid |
| 金额 | amount | 100 | int | 领取金额 |
| 接收时间 | rcv\_time | | 2015-04-21 20:00:00 | String(32) | 领取红包的时间 |
### 普通红包返回数据:
~~~
array(15) {
["return_code"] => string(7) "SUCCESS"
["return_msg"] => string(2) "OK"
["result_code"] => string(7) "SUCCESS"
["err_code"] => string(7) "SUCCESS"
["err_code_des"] => string(2) "OK"
["mch_billno"] => string(20) "cowcms20190320182200"
["mch_id"] => string(10) "1225077777"
["detail_id"] => string(31) "1000041701201903203000126887405"
["status"] => string(8) "RECEIVED"
["send_type"] => string(3) "API"
["hb_type"] => string(6) "NORMAL"
["total_num"] => string(1) "1"
["total_amount"] => string(3) "100"
["send_time"] => string(19) "2019-03-20 18:26:24"
["hblist"] => array(1) {
["hbinfo"] => array(3) {
["openid"] => string(28) "o4KFnuLOwsQR9tDusUk0ZBherrrr"
["amount"] => string(3) "100"
["rcv_time"] => string(19) "2019-03-20 18:58:02"
}
}
}
~~~
#### 裂变红包返回的红包数据
~~~
array(15) {
["return_code"] => string(7) "SUCCESS"
["return_msg"] => string(2) "OK"
["result_code"] => string(7) "SUCCESS"
["err_code"] => string(7) "SUCCESS"
["err_code_des"] => string(2) "OK"
["mch_billno"] => string(20) "cowcms20190320185925"
["mch_id"] => string(10) "1225087777"
["detail_id"] => string(31) "1000041701201903203000133811326"
["status"] => string(8) "RECEIVED"
["send_type"] => string(3) "API"
["hb_type"] => string(5) "GROUP"
["total_num"] => string(1) "3"
["total_amount"] => string(3) "300"
["send_time"] => string(19) "2019-03-20 19:03:50"
["hblist"] => array(1) {
["hbinfo"] => array(3) {
["openid"] => string(28) "o4KFnuLOwsQR9tDusUk0ZBherrrr"
["amount"] => string(3) "142"
["rcv_time"] => string(19) "2019-03-20 19:04:04"
}
}
}
~~~
>如果你想单独查询某个红包订单,可以如下编写,
```
$mch_billno="cowcms1111111111111"; //红包订单号,可以从发放红包返回的之中获取 ["mch_billno"]值
$wxOrderRedpack = pay('WX_OrderRedpack',$mch_billno) //该方法也会返回如上格式的数据。
```
- 序言
- 基础
- 源码包
- 核心包
- 完整包
- 系统模块
- 安装模块
- 后台模块
- 插件模块
- 插件开发
- 开发基础
- 权限开发
- 菜单开发
- 开发调试
- 碎片开发
- 碎片钩子预设表
- 插件说明
- 字段插件
- 插件介绍
- 字段使用
- 单行文本
- 多行文本
- 选项-下拉
- 选项-复选
- 选项-单选
- 选项-滑块
- 颜色选择器
- 星级评分
- 日期时间
- 文件上传
- 编辑器
- API接口
- 微信插件
- 微信配置
- 公众号配置
- 支付配置
- 微信支付使用
- API类库
- 红包发放
- 付款到零钱
- 碎片
- 公众号碎片
- 红包碎片
- 付款到零钱碎片
- API微信接口
- 支付宝插件
- 支付宝配置
- 支付宝支付使用
- api接口
- api接口后端开发
- api接口前端使用
- API参数接口
- 会员插件
- 登录使用
- 会员碎片
- API会员接口
- API注册接口
- 积分插件
- 积分设置
- 积分碎片
- API积分接口
- API提现接口
- API兑换接口
- API充值接口
- 订单
- 订单碎片
- API订单接口
- 商城
- 商城钩子
- API商城接口
- API商城会员接口
- 签到
- 签到设置
- 签到碎片
- API签到接口
- 上传
- 上传设置
- 上传JS接口
- 推广插件
- 海报设置
- API海报接口
- 文章插件
- 文章设置
- 文章钩子
- API文章接口
- API文章会员接口
- 管理员
- 管理员碎片
- 站内信
- API站内信接口
- 杂项
- 菜单
- 菜单设置
- API菜单接口
- 错误码
- 支付碎片
- 支付
- 充值
- 购买会员组
- 购买产品