>[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菜單接口
- 錯誤碼
- 支付碎片
- 支付
- 充值
- 購買會員組
- 購買產品