WeChatDeveloper/WePay/Redpack.php

73 lines
2.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
// +----------------------------------------------------------------------
// | WeChatDeveloper
// +----------------------------------------------------------------------
// | 版权所有 2014~2026 ThinkAdmin [ thinkadmin.top ]
// +----------------------------------------------------------------------
// | 官方网站: https://thinkadmin.top
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// | 免责声明 ( https://thinkadmin.top/disclaimer )
// +----------------------------------------------------------------------
// | gitee 代码仓库https://gitee.com/zoujingli/WeChatDeveloper
// | github 代码仓库https://github.com/zoujingli/WeChatDeveloper
// +----------------------------------------------------------------------
namespace WePay;
use WeChat\Contracts\BasicWePay;
/**
* 微信红包支持
* @package WePay
*/
class Redpack extends BasicWePay
{
/**
* 发放普通红包(需证书)
* @param array $options 红包参数mch_billno, send_name, re_openid, total_amount, total_num, wishing 等)
* @return array 红包发送结果
* @throws \WeChat\Exceptions\InvalidResponseException
* @throws \WeChat\Exceptions\LocalCacheException
*/
public function create(array $options)
{
$this->params->offsetUnset('appid');
$this->params->set('wxappid', $this->config->get('appid'));
$url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack";
return $this->callPostApi($url, $options, true, 'MD5', false);
}
/**
* 发放裂变红包(需证书)
* @param array $options 红包参数mch_billno, send_name, re_openid, total_amount, total_num 等total_num>1
* @return array 红包发送结果
* @throws \WeChat\Exceptions\InvalidResponseException
* @throws \WeChat\Exceptions\LocalCacheException
*/
public function groups(array $options)
{
$this->params->offsetUnset('appid');
$this->params->set('wxappid', $this->config->get('appid'));
$url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendgroupredpack";
return $this->callPostApi($url, $options, true, 'MD5', false);
}
/**
* 查询红包记录
* @param string $mchBillno 商户红包订单号
* @return array 红包状态信息
* @throws \WeChat\Exceptions\InvalidResponseException
* @throws \WeChat\Exceptions\LocalCacheException
*/
public function query($mchBillno)
{
$this->params->offsetUnset('wxappid');
$this->params->set('appid', $this->config->get('appid'));
$url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo";
return $this->callPostApi($url, ['mch_billno' => $mchBillno, 'bill_type' => 'MCHT'], true, 'MD5', false);
}
}