增加输出日志

This commit is contained in:
2024-04-02 10:24:41 +08:00
parent f8299b36aa
commit c5df43ce48
5 changed files with 19 additions and 15 deletions

View File

@@ -186,7 +186,7 @@ class RsaSigner implements Signer
public function checkSignature(YopHttpResponse $httpResponse, $signature, $publicKey, SignOptions $options) public function checkSignature(YopHttpResponse $httpResponse, $signature, $publicKey, SignOptions $options)
{ {
$content = $httpResponse->readContent(); $content = $httpResponse->readContent();
\Log::channel('yeepay')->info($content); \Log::channel('yeepay')->error('返回的内容:', json_decode($content, true));
$content = str_replace([" ", "\n", "\t"], "", $content); $content = str_replace([" ", "\n", "\t"], "", $content);
if (openssl_verify($content, base64_decode($signature), $publicKey, $options->getDigestAlg()) == 1) { if (openssl_verify($content, base64_decode($signature), $publicKey, $options->getDigestAlg()) == 1) {

View File

@@ -60,7 +60,7 @@ class ClientHandler
{ {
$executionContext = $this->getExecutionContext($executionParams); $executionContext = $this->getExecutionContext($executionParams);
$request = $executionParams->getRequestMarshaller()->marshal($executionParams->getRequest()); $request = $executionParams->getRequestMarshaller()->marshal($executionParams->getRequest());
\Log::channel('yeepay')->info(json_encode($request->getParameters())); \Log::channel('yeepay')->error('提交的参数:', $request->getParameters());
/** @var ExecutionContext $httpExecutionContext */ /** @var ExecutionContext $httpExecutionContext */
$httpExecutionContext = $executionContext[0]; $httpExecutionContext = $executionContext[0];
@@ -69,7 +69,6 @@ class ClientHandler
$yopHttpResponse = $this->yopHttpClient->execute($request, $httpExecutionContext); $yopHttpResponse = $this->yopHttpClient->execute($request, $httpExecutionContext);
/** @var ResponseUnMarshalParams $ResponseUnMarshalParams */ /** @var ResponseUnMarshalParams $ResponseUnMarshalParams */
$ResponseUnMarshalParams = $executionContext[1]; $ResponseUnMarshalParams = $executionContext[1];
return $executionParams->getResponseUnMarshaller()->unmarshal($yopHttpResponse, $ResponseUnMarshalParams); return $executionParams->getResponseUnMarshaller()->unmarshal($yopHttpResponse, $ResponseUnMarshalParams);
} }

View File

@@ -34,18 +34,18 @@ class YopHttpClient
/** /**
* YopHttpClient constructor. * YopHttpClient constructor.
*
* @param ClientConfiguration $clientConfiguration * @param ClientConfiguration $clientConfiguration
*/ */
public function __construct(ClientConfiguration $clientConfiguration) public function __construct(ClientConfiguration $clientConfiguration)
{ {
$this->logger = LogFactory::getLogger(get_class($this)); $this->logger = LogFactory::getLogger(get_class($this));
$this->clientConfiguration = $clientConfiguration; $this->clientConfiguration = $clientConfiguration;
$guzzleClientConfig = [ $guzzleClientConfig = [
RequestOptions::CONNECT_TIMEOUT => $clientConfiguration->getConnectionTimeoutInMillis() / 1000, RequestOptions::CONNECT_TIMEOUT => $clientConfiguration->getConnectionTimeoutInMillis() / 1000,
RequestOptions::TIMEOUT, $clientConfiguration->getSocketTimeoutInMillis() / 1000, RequestOptions::TIMEOUT, $clientConfiguration->getSocketTimeoutInMillis() / 1000,
]; ];
if (!empty($clientConfiguration->getProxyUrl())) { if (! empty($clientConfiguration->getProxyUrl())) {
$guzzleClientConfig[RequestOptions::PROXY] = $clientConfiguration->getProxyUrl(); $guzzleClientConfig[RequestOptions::PROXY] = $clientConfiguration->getProxyUrl();
} }
$this->guzzleClient = new Client($guzzleClientConfig); $this->guzzleClient = new Client($guzzleClientConfig);
@@ -66,8 +66,10 @@ class YopHttpClient
$executionContext->getEncryptor()->encrypt($request); $executionContext->getEncryptor()->encrypt($request);
} }
$executionContext->getSigner() $executionContext->getSigner()
->sign($request, $executionContext->getCredentials(), $executionContext->getSignOptions()); ->sign($request, $executionContext->getCredentials(), $executionContext->getSignOptions());
try { try {
\Log::channel('yeepay')->error('头部信息', $request->getHeaders());
$guzzleResponse = $this->sendRequest($request); $guzzleResponse = $this->sendRequest($request);
} catch (ServerException $e) { } catch (ServerException $e) {
$guzzleResponse = $e->getResponse(); $guzzleResponse = $e->getResponse();
@@ -87,12 +89,12 @@ class YopHttpClient
private function sendRequest(Request $request) private function sendRequest(Request $request)
{ {
$uri = $request->getEndpoint().HttpUtils::urlEncodeExceptSlash($request->getResourcePath()); $uri = $request->getEndpoint().HttpUtils::urlEncodeExceptSlash($request->getResourcePath());
if (!empty($request->getMultipartFiles())) { if (! empty($request->getMultipartFiles())) {
if ($request->getHttpMethod() == HttpMethod::POST) { if ($request->getHttpMethod() == HttpMethod::POST) {
$body = []; $body = [];
if (!empty($request->getParameters())) { if (! empty($request->getParameters())) {
foreach ($request->getParameters() as $k => $v) { foreach ($request->getParameters() as $k => $v) {
if (!empty($v)) { if (! empty($v)) {
foreach ($v as $value) { foreach ($v as $value) {
$body[] = ['name' => $k, 'contents' => $value]; $body[] = ['name' => $k, 'contents' => $value];
} }
@@ -101,7 +103,7 @@ class YopHttpClient
} }
foreach ($request->getMultipartFiles() as $k => $v) { foreach ($request->getMultipartFiles() as $k => $v) {
$part = ['name' => $k]; $part = ['name' => $k];
if (!empty($v)) { if (! empty($v)) {
foreach ($v as $value) { foreach ($v as $value) {
/** @var MultiPartFile $value */ /** @var MultiPartFile $value */
$part['contents'] = $value->getContent(); $part['contents'] = $value->getContent();
@@ -121,11 +123,11 @@ class YopHttpClient
} }
} }
$requestIsPostOrPut = $request->getHttpMethod() == HttpMethod::POST || $request->getHttpMethod() == HttpMethod::PUT; $requestIsPostOrPut = $request->getHttpMethod() == HttpMethod::POST || $request->getHttpMethod() == HttpMethod::PUT;
$requestHasPayload = !empty($request->getContent()); $requestHasPayload = ! empty($request->getContent());
$putParamsInUri = !$requestIsPostOrPut || $requestHasPayload; $putParamsInUri = ! $requestIsPostOrPut || $requestHasPayload;
if ($putParamsInUri) { if ($putParamsInUri) {
$encodedParameters = \GuzzleHttp\Psr7\Query::build(HttpUtils::encodedParameters($request->getParameters())); $encodedParameters = \GuzzleHttp\Psr7\Query::build(HttpUtils::encodedParameters($request->getParameters()));
if (!empty($encodedParameters)) { if (! empty($encodedParameters)) {
$uri = $uri.'?'.$encodedParameters; $uri = $uri.'?'.$encodedParameters;
} }
} }

View File

@@ -51,6 +51,7 @@ abstract class BaseResponseUnMarshaller implements ResponseUnMarshaller
{ {
$responseMetadata->setYopRequestId($yopHttpResponse->getHeader(Headers::YOP_REQUEST_ID)); $responseMetadata->setYopRequestId($yopHttpResponse->getHeader(Headers::YOP_REQUEST_ID));
$responseMetadata->setYopContentSha256($yopHttpResponse->getHeader(Headers::YOP_CONTENT_SHA256)); $responseMetadata->setYopContentSha256($yopHttpResponse->getHeader(Headers::YOP_CONTENT_SHA256));
#todo 关闭验签
// $responseMetadata->setYopSign($yopHttpResponse->getHeader(Headers::YOP_SIGN)); // $responseMetadata->setYopSign($yopHttpResponse->getHeader(Headers::YOP_SIGN));
$responseMetadata->setYopVia($yopHttpResponse->getHeader(Headers::YOP_VIA)); $responseMetadata->setYopVia($yopHttpResponse->getHeader(Headers::YOP_VIA));
$responseMetadata->setContentDisposition($yopHttpResponse->getHeader(Headers::CONTENT_DISPOSITION)); $responseMetadata->setContentDisposition($yopHttpResponse->getHeader(Headers::CONTENT_DISPOSITION));
@@ -126,7 +127,8 @@ abstract class BaseResponseUnMarshaller implements ResponseUnMarshaller
if (! empty($content)) { if (! empty($content)) {
try { try {
$data = json_decode($content, true); $data = json_decode($content, true);
dd($data); \Log::channel('yeepay')->info('返回的错误信息', $data);
$yopServiceException = new YopServiceException($data['message'], $data['code']); $yopServiceException = new YopServiceException($data['message'], $data['code']);
$yopServiceException->setRequestId($data['requestId']); $yopServiceException->setRequestId($data['requestId']);
$yopServiceException->setSubErrorCode($data['subCode']); $yopServiceException->setSubErrorCode($data['subCode']);

View File

@@ -157,9 +157,10 @@ class Account extends InitConfig
->setReceiverAccountName($data['receiverAccountName']) ->setReceiverAccountName($data['receiverAccountName'])
->setBankAccountType($data['bankAccountType'] ?? 'DEBIT_CARD') ->setBankAccountType($data['bankAccountType'] ?? 'DEBIT_CARD')
->setNotifyUrl($data['notifyUrl']); ->setNotifyUrl($data['notifyUrl']);
$response = $this->client->payOrder($request); $response = $this->client->payOrder($request);
$result = $response->getResult(); $result = $response->getResult();
Log::channel('yeepay')->info('PayOrder', $result); Log::channel('yeepay')->info($result);
if ($result['returnCode'] == 'UA00000') { if ($result['returnCode'] == 'UA00000') {
return $this->success($result); return $this->success($result);
} else { } else {