裂变红包是指一次可以发放一组红包。首先领取的用户为种子用户,种子用户领取一组红包中的一个,并可以通过社交分享将剩下的红包发给其他用户。裂变红包充分利用了人际传播的优势。
发放裂变红包的接口如下。
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 微信支付裂变红包