From c321c8436d193cb017b9b16cc9d378e9e5f30518 Mon Sep 17 00:00:00 2001 From: lyf <381296986@qq.com> Date: Wed, 12 Oct 2022 15:27:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BE=AE=E4=BF=A1v2=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E7=BB=93=E6=9E=9C=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Pay/Client.php | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/Pay/Client.php b/src/Pay/Client.php index 2efc82b..e6fe191 100644 --- a/src/Pay/Client.php +++ b/src/Pay/Client.php @@ -4,17 +4,17 @@ namespace Pgyf\Opensdk\Wechat\Pay; -use Pgyf\Opensdk\Kernel\Exceptions\InvalidArgumentException; -use Pgyf\Opensdk\Kernel\Exceptions\InvalidConfigException; +//use Pgyf\Opensdk\Kernel\Exceptions\InvalidArgumentException; +//use Pgyf\Opensdk\Kernel\Exceptions\InvalidConfigException; use Pgyf\Opensdk\Kernel\HttpClient\HttpClientMethods; use Pgyf\Opensdk\Kernel\HttpClient\RequestUtil; use Pgyf\Opensdk\Kernel\HttpClient\RequestWithPresets; use Pgyf\Opensdk\Kernel\HttpClient\Response; -use Pgyf\Opensdk\Kernel\Support\PrivateKey; -use Pgyf\Opensdk\Kernel\Support\PublicKey; +//use Pgyf\Opensdk\Kernel\Support\PrivateKey; +//use Pgyf\Opensdk\Kernel\Support\PublicKey; use Pgyf\Opensdk\Kernel\Support\UserAgent; use Pgyf\Opensdk\Kernel\Support\Xml; -use Pgyf\Opensdk\Kernel\Traits\MockableHttpClient; +//use Pgyf\Opensdk\Kernel\Traits\MockableHttpClient; use Exception; use function is_array; use function is_string; @@ -144,11 +144,18 @@ public function request(string $method, string $url, array $options = []): Respo } // 合并通过 withHeader 和 withHeaders 设置的信息 - if (! empty($this->prependHeaders)) { + if (!empty($this->prependHeaders)) { $options['headers'] = array_merge($this->prependHeaders, $options['headers'] ?? []); } - return new Response($this->client->request($method, $url, $options), null, $this->throw); + //return new Response($this->client->request($method, $url, $options), null, $this->throw); + return new Response( + $this->client->request($method, $url, $options), + $this->isV3Request($url) ? null : function (Response $response){ + return $response->toArray()['result_code'] === 'FAIL' || $response->toArray()['return_code'] === 'FAIL'; + }, + $this->throw + ); } protected function isV3Request(string $url): bool