* * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace EasyWeChat\Payment\Bill; use EasyWeChat\Kernel\Http\StreamResponse; use EasyWeChat\Payment\Kernel\BaseClient; class Client extends BaseClient { /** * Download bill history as a table file. * * @return \EasyWeChat\Kernel\Http\StreamResponse|\Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function get(string $date, string $type = 'ALL', array $optional = []) { $params = [ 'appid' => $this->app['config']->app_id, 'bill_date' => $date, 'bill_type' => $type, ] + $optional; $response = $this->requestRaw($this->wrap('pay/downloadbill'), $params); if (0 === strpos($response->getBody()->getContents(), '')) { return $this->castResponseToType($response, $this->app['config']->get('response_type')); } return StreamResponse::buildFromPsrResponse($response); } }