diff --git a/lib/Auth/Signer/RsaSigner.php b/lib/Auth/Signer/RsaSigner.php index fe2f715..a5fb10e 100644 --- a/lib/Auth/Signer/RsaSigner.php +++ b/lib/Auth/Signer/RsaSigner.php @@ -186,7 +186,7 @@ class RsaSigner implements Signer public function checkSignature(YopHttpResponse $httpResponse, $signature, $publicKey, SignOptions $options) { $content = $httpResponse->readContent(); - \Log::channel('yeepay')->info($content); + \Log::channel('yeepay')->error('返回的内容:', json_decode($content, true)); $content = str_replace([" ", "\n", "\t"], "", $content); if (openssl_verify($content, base64_decode($signature), $publicKey, $options->getDigestAlg()) == 1) { diff --git a/lib/Client/ClientHandler.php b/lib/Client/ClientHandler.php index d611ee1..a369aaa 100644 --- a/lib/Client/ClientHandler.php +++ b/lib/Client/ClientHandler.php @@ -60,7 +60,7 @@ class ClientHandler { $executionContext = $this->getExecutionContext($executionParams); $request = $executionParams->getRequestMarshaller()->marshal($executionParams->getRequest()); - \Log::channel('yeepay')->info(json_encode($request->getParameters())); + \Log::channel('yeepay')->error('提交的参数:', $request->getParameters()); /** @var ExecutionContext $httpExecutionContext */ $httpExecutionContext = $executionContext[0]; @@ -69,7 +69,6 @@ class ClientHandler $yopHttpResponse = $this->yopHttpClient->execute($request, $httpExecutionContext); /** @var ResponseUnMarshalParams $ResponseUnMarshalParams */ $ResponseUnMarshalParams = $executionContext[1]; - return $executionParams->getResponseUnMarshaller()->unmarshal($yopHttpResponse, $ResponseUnMarshalParams); } diff --git a/lib/Http/YopHttpClient.php b/lib/Http/YopHttpClient.php index 5dae874..43a2eb9 100644 --- a/lib/Http/YopHttpClient.php +++ b/lib/Http/YopHttpClient.php @@ -34,18 +34,18 @@ class YopHttpClient /** * YopHttpClient constructor. + * * @param ClientConfiguration $clientConfiguration */ public function __construct(ClientConfiguration $clientConfiguration) { - $this->logger = LogFactory::getLogger(get_class($this)); $this->clientConfiguration = $clientConfiguration; $guzzleClientConfig = [ RequestOptions::CONNECT_TIMEOUT => $clientConfiguration->getConnectionTimeoutInMillis() / 1000, RequestOptions::TIMEOUT, $clientConfiguration->getSocketTimeoutInMillis() / 1000, ]; - if (!empty($clientConfiguration->getProxyUrl())) { + if (! empty($clientConfiguration->getProxyUrl())) { $guzzleClientConfig[RequestOptions::PROXY] = $clientConfiguration->getProxyUrl(); } $this->guzzleClient = new Client($guzzleClientConfig); @@ -66,8 +66,10 @@ class YopHttpClient $executionContext->getEncryptor()->encrypt($request); } $executionContext->getSigner() - ->sign($request, $executionContext->getCredentials(), $executionContext->getSignOptions()); + ->sign($request, $executionContext->getCredentials(), $executionContext->getSignOptions()); try { + \Log::channel('yeepay')->error('头部信息', $request->getHeaders()); + $guzzleResponse = $this->sendRequest($request); } catch (ServerException $e) { $guzzleResponse = $e->getResponse(); @@ -87,12 +89,12 @@ class YopHttpClient private function sendRequest(Request $request) { $uri = $request->getEndpoint().HttpUtils::urlEncodeExceptSlash($request->getResourcePath()); - if (!empty($request->getMultipartFiles())) { + if (! empty($request->getMultipartFiles())) { if ($request->getHttpMethod() == HttpMethod::POST) { $body = []; - if (!empty($request->getParameters())) { + if (! empty($request->getParameters())) { foreach ($request->getParameters() as $k => $v) { - if (!empty($v)) { + if (! empty($v)) { foreach ($v as $value) { $body[] = ['name' => $k, 'contents' => $value]; } @@ -101,7 +103,7 @@ class YopHttpClient } foreach ($request->getMultipartFiles() as $k => $v) { $part = ['name' => $k]; - if (!empty($v)) { + if (! empty($v)) { foreach ($v as $value) { /** @var MultiPartFile $value */ $part['contents'] = $value->getContent(); @@ -121,11 +123,11 @@ class YopHttpClient } } $requestIsPostOrPut = $request->getHttpMethod() == HttpMethod::POST || $request->getHttpMethod() == HttpMethod::PUT; - $requestHasPayload = !empty($request->getContent()); - $putParamsInUri = !$requestIsPostOrPut || $requestHasPayload; + $requestHasPayload = ! empty($request->getContent()); + $putParamsInUri = ! $requestIsPostOrPut || $requestHasPayload; if ($putParamsInUri) { $encodedParameters = \GuzzleHttp\Psr7\Query::build(HttpUtils::encodedParameters($request->getParameters())); - if (!empty($encodedParameters)) { + if (! empty($encodedParameters)) { $uri = $uri.'?'.$encodedParameters; } } diff --git a/lib/Model/Transform/BaseResponseUnMarshaller.php b/lib/Model/Transform/BaseResponseUnMarshaller.php index 9afbbed..c69d44c 100644 --- a/lib/Model/Transform/BaseResponseUnMarshaller.php +++ b/lib/Model/Transform/BaseResponseUnMarshaller.php @@ -51,6 +51,7 @@ abstract class BaseResponseUnMarshaller implements ResponseUnMarshaller { $responseMetadata->setYopRequestId($yopHttpResponse->getHeader(Headers::YOP_REQUEST_ID)); $responseMetadata->setYopContentSha256($yopHttpResponse->getHeader(Headers::YOP_CONTENT_SHA256)); + #todo 关闭验签 // $responseMetadata->setYopSign($yopHttpResponse->getHeader(Headers::YOP_SIGN)); $responseMetadata->setYopVia($yopHttpResponse->getHeader(Headers::YOP_VIA)); $responseMetadata->setContentDisposition($yopHttpResponse->getHeader(Headers::CONTENT_DISPOSITION)); @@ -126,7 +127,8 @@ abstract class BaseResponseUnMarshaller implements ResponseUnMarshaller if (! empty($content)) { try { $data = json_decode($content, true); - dd($data); + \Log::channel('yeepay')->info('返回的错误信息', $data); + $yopServiceException = new YopServiceException($data['message'], $data['code']); $yopServiceException->setRequestId($data['requestId']); $yopServiceException->setSubErrorCode($data['subCode']); diff --git a/src/Commands/Account.php b/src/Commands/Account.php index c5f7202..546d46b 100644 --- a/src/Commands/Account.php +++ b/src/Commands/Account.php @@ -157,9 +157,10 @@ class Account extends InitConfig ->setReceiverAccountName($data['receiverAccountName']) ->setBankAccountType($data['bankAccountType'] ?? 'DEBIT_CARD') ->setNotifyUrl($data['notifyUrl']); + $response = $this->client->payOrder($request); $result = $response->getResult(); - Log::channel('yeepay')->info('PayOrder', $result); + Log::channel('yeepay')->info($result); if ($result['returnCode'] == 'UA00000') { return $this->success($result); } else {