微信下载交易账单API工具类
微信下载交易账单API工具类
本文基于微信支付V2版本的工具类,提供一个完整的下载交易账单API工具类。由于图方便,我们引入了两个公共的工具包来处理HTTPS请求以及加密。
依赖库我们需要以下两个公共的工具包:
* ` ` 下载交易账单API工具类1. 引入依赖库首先,我们需要引入上述两个公共的工具包:
```phpuse HttpClientHttpClient;
use CipherCipher;
```
2. 定义下载交易账单API工具类接下来,我们定义一个名为`WeChatBillDownloadApiTool`的工具类,用于处理下载交易账单API:
```phpclass WeChatBillDownloadApiTool {
private $appid; // appid private $mchId; // mch_id private $key; // key public function __construct($appid, $mchId, $key) {
$this->appid = $appid;
$this->mchId = $mchId;
$this->key = $key;
}
/
* 下载交易账单 *
* @param string $billDate 账单日期(格式:YYYYMMDD)
* @param int $billType 账单类型(1:日账单,2:月账单)
* @return array|false */
public function downloadBill($billDate, $billType) {
// 构造API请求参数 $params = [
'appid' => $this->appid,
'mch_id' => $this->mchId,
'bill_date' => $billDate,
'bill_type' => $billType,
'nonce_str' => uniqid(), // 随机数 ];
// 加密参数 $encryptedParams = Cipher::encrypt($params, $this->key);
// 构造API请求URL $url = " // 发送HTTPS请求 $response = HttpClient::post($url, [
'body' => $encryptedParams,
]);
if ($response->getStatusCode() ==200) {
return json_decode($response->getBody(), true);
} else {
return false;
}
}
}
```
3. 使用下载交易账单API工具类最后,我们可以使用上述的`WeChatBillDownloadApiTool`工具类来下载交易账单:
```php$tool = new WeChatBillDownloadApiTool('your_appid', 'your_mch_id', 'your_key');
$result = $tool->downloadBill('20220101',1);
if ($result) {
print_r($result);
} else {
echo "下载交易账单失败";
}
```
以上就是基于微信支付V2版本的工具类,用于下载交易账单API的完整实现。