@@ -284,7 +284,7 @@ public function queryOrder($out_trade_no) {
284284 return $ result ;
285285 }
286286
287- /**
287+ /**
288288 * 订单退款接口
289289 * @param string $out_trade_no 商户订单号
290290 * @param string $transaction_id 微信订单号
@@ -350,35 +350,50 @@ public function getBill($bill_date, $bill_type = 'ALL') {
350350 /**
351351 * 发送现金红包
352352 * @param string $openid 红包接收者OPENID
353- * @param int $amount 红包总金额
354- * @param string $billno 商户订单号
353+ * @param int $total_amount 红包总金额
354+ * @param string $mch_billno 商户订单号
355355 * @param string $sendname 商户名称
356356 * @param string $wishing 红包祝福语
357- * @param string $actname 活动名称
357+ * @param string $act_name 活动名称
358358 * @param string $remark 备注信息
359- * @return bool|array
359+ * @param null|int $total_num 红包发放总人数(大于1为裂变红包)
360+ * @param null|string $scene_id 场景id
361+ * @param string $risk_info 活动信息
362+ * @param null|string $consume_mch_id 资金授权商户号
363+ * @return array|bool
360364 * @link https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_5
361365 */
362- public function sendRedPack ($ openid , $ amount , $ billno , $ sendname , $ wishing , $ actname , $ remark ) {
366+ public function sendRedPack ($ openid , $ total_amount , $ mch_billno , $ sendname , $ wishing , $ act_name , $ remark, $ total_num = 1 , $ scene_id = null , $ risk_info = '' , $ consume_mch_id = null ) {
363367 $ data = array ();
364- $ data ['mch_billno ' ] = $ billno ; // 商户订单号 mch_id+yyyymmdd+10位一天内不能重复的数字
368+ $ data ['mch_billno ' ] = $ mch_billno ; // 商户订单号 mch_id+yyyymmdd+10位一天内不能重复的数字
365369 $ data ['wxappid ' ] = $ this ->appid ;
366370 $ data ['send_name ' ] = $ sendname ; //商户名称
367371 $ data ['re_openid ' ] = $ openid ; //红包接收者
368- $ data ['total_amount ' ] = $ amount ; //红包金额
372+ $ data ['total_amount ' ] = $ total_amount ; //红包总金额
369373 $ data ['total_num ' ] = '1 ' ; //发放人数据
370374 $ data ['wishing ' ] = $ wishing ; //红包祝福语
371375 $ data ['client_ip ' ] = Tools::getAddress (); //调用接口的机器Ip地址
372- $ data ['act_name ' ] = $ actname ; //活动名称
376+ $ data ['act_name ' ] = $ act_name ; //活动名称
373377 $ data ['remark ' ] = $ remark ; //备注信息
374- $ result = $ this ->postXmlSSL ($ data , self ::MCH_BASE_URL . '/mmpaymkttransfers/sendredpack ' );
378+ $ data ['total_num ' ] = $ total_num ;
379+ !empty ($ scene_id ) && $ data ['scene_id ' ] = $ scene_id ;
380+ !empty ($ risk_info ) && $ data ['risk_info ' ] = $ risk_info ;
381+ !empty ($ consume_mch_id ) && $ data ['consume_mch_id ' ] = $ consume_mch_id ;
382+ if ($ total_num > 1 ) {
383+ $ data ['amt_type ' ] = 'ALL_RAND ' ;
384+ $ api = self ::MCH_BASE_URL . '/mmpaymkttransfers/sendgroupredpack ' ;
385+ } else {
386+ $ api = self ::MCH_BASE_URL . '/mmpaymkttransfers/sendredpack ' ;
387+ }
388+ $ result = $ this ->postXmlSSL ($ data , $ api );
375389 $ json = Tools::xml2arr ($ result );
376390 if (!empty ($ json ) && false === $ this ->_parseResult ($ json )) {
377391 return false ;
378392 }
379393 return $ json ;
380394 }
381395
396+
382397 /**
383398 * 现金红包状态查询
384399 * @param string $billno
0 commit comments