# 调用方法
要在实现发红包功能,只需要按以下例子调用即可。开发者只需要保证 [红包前置配置](红包前置配置.md) 正确,参数正确就可以。
~~~
$appid = '你的公众号appid';
$openid = '用户在wxappid下的openid';
$money = '红包金额,单位分';
$more_param = [];//红包其它参数,默认为空
$cron = '是否使用定时任务异步下发,值为true或者false,默认true';
$res = D('Common/RedbagRecode')->add_redbag($appid, $openid, $money, $more_param, $cron);
if ($res['status'] == 0) {
$this->error($res['msg']);
}
~~~
## 参数说明
cron参数为false时,红包马上下发,适用于一些并发量不高的场景,默认的值为true,即红包先入到数据库,由定时任务异步发放,这比较适应抢红包等高并发的场景。但如果还没有开启定时任务,请先按章节 [定时任务介绍](定时任务介绍.md) 进行配置开启,否则红包无法发放
more_param数组可以根据需要传递以下参数
字段名字段必填示例值类型说明
| 字段名 | 字段 | 默认值 | 示例值 | 类型 | 说明 |
| --- | --- | --- | --- | --- |
| 户名称 |send_name |wxappid对应的公众号名 |天虹百货 |String(32) |红包发送者名称 |
| 红包祝福语|wishing|恭喜发财,大吉大利|感谢您参加猜灯谜活动,祝您元宵节快乐!|String(128)|红包祝福语|
| 活动名称|act_name| xxx的红包(xxx是公众号名) |猜灯谜抢红包活动|String(32)|活动名称|
| 备注|remark| 同act_name|猜越多得越多,快来抢!|String(256)|备注信息|
| 场景id|scene_id||PRODUCT_8|String(32)| 发放红包使用场景,红包金额大于200时必传|
| 活动信息|risk_info|||String(128)| |
| 资金授权商户号|consume_mch_id||1222000096|String(32)| 资金授权商户号,服务商替特约商户发放时使用|
#### 场景id的参数说明:
发放红包使用场景,红包金额大于200时必传
PRODUCT_1:商品促销
PRODUCT_2:抽奖
PRODUCT_3:虚拟物品兑奖
PRODUCT_4:企业内部福利
PRODUCT_5:渠道分润
PRODUCT_6:保险回馈
PRODUCT_7:彩票派奖
PRODUCT_8:税务刮奖
#### 活动信息的参数说明:
posttime:用户操作的时间戳
mobile:业务系统账号的手机号,国家代码-手机号。不需要+号
deviceid :mac 地址或者设备唯一标识
clientversion :用户操作的客户端版本
把值为非空的信息用key=value进行拼接,再进行urlencode
urlencode(posttime=xx& mobile =xx&deviceid=xx)
如:posttime%3d123123412%26clientversion%3d234134%26mobile%3d122344545%26deviceid%3dIOS
# 返回参数说明
成功时返回数组
~~~
["status" => 1, "msg" => "红包下发成功,请注意查收"]
~~~
失败时返回数组
~~~
["status" => 0, "msg" => "该红包不支持重复下发"]
~~~