Skip to content

Commit eb8ee1a

Browse files
committed
[更新]完善现金红包接口
1 parent e04062d commit eb8ee1a

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

Wechat/WechatPay.php

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)