裂變紅包是指一次可以發放一組紅包。首先領取的用戶為種子用戶,種子用戶領取一組紅包中的一個,並可以通過社交分享將剩下的紅包發給其他用戶。裂變紅包充分利用了人際傳播的優勢。
發放裂變紅包的接口如下。
https:// api.mch.weixin.qq.com/mmpaymkttransfers/sendgroupredpack
發放裂變紅包時,POST數據示例如下。
<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%3d123123412%26clientversion%3d234134%26mobile%3d122344545%26 deviceid%3dIOS</risk_info> <consume_mch_id><![CDATA[10000097]]></consume_mch_id> </xml>
同時,發放裂變紅包時需要帶上文件證書,提高安全級別。
上述數據的參數說明如表17-8所示。
表17-8 發放裂變紅包接口的參數說明
正確創建時,返回的數據示例如下。
<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>
上述數據的參數說明如表17-9所示。
表17-9 發放裂變紅包接口返回參數說明
裂變紅包的請求方法和普通紅包基本相同,都是使用同樣的SDK。發放裂變紅包的代碼如下。
1 $money = 501; 2 $sender = "方倍工作室"; 3 $obj = array; 4 $obj['wxappid'] = APPID; 5 $obj['mch_id'] = MCHID; 6 $obj['mch_billno'] = MCHID.date('YmdHis').rand(1000, 9999); 7 $obj['re_openid'] = $openid; 8 $obj['total_amount'] = $money; 9 $obj['amt_type'] = "ALL_RAND"; 10 $obj['total_num'] = 3; 11 $obj['send_name'] = $sender; 12 $obj['wishing'] = "恭喜發財"; 13 $obj['act_name'] = "猜燈謎搶紅包"; 14 $obj['remark'] = "猜越多得越多"; 15 var_dump($obj); 16 $url = 'https:// api.mch.weixin.qq.com/mmpaymkttransfers/sendgroupredpack'; 17 $wxHongBaoHelper = new WxPay; 18 $data = $wxHongBaoHelper->wxpay($url, $obj, true); 19 $res = $wxHongBaoHelper->xmlToArray($data); 20 var_dump($res);
用戶收到裂變紅包時的效果如圖17-10所示。
圖17-10 微信支付裂變紅包