From a2ec79943e7bb7ca969c63faf5ae8a3732151296 Mon Sep 17 00:00:00 2001 From: pro Date: Fri, 23 Jan 2026 16:23:37 +0900 Subject: [PATCH] =?UTF-8?q?fix:=EC=B9=B4=EB=93=9C=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EB=82=B4=EC=97=AD=20=EC=8A=B9=EC=9D=B8/=EC=B7=A8=EC=86=8C=20?= =?UTF-8?q?=ED=86=B5=EA=B3=84=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - API에서 ApprovalType이 "승인"/"취소" 한글 텍스트로 반환되는 문제 해결 - 기존: '1', '0', '' 만 승인으로 처리 (한글 "승인" 누락) - 수정: '2', '취소'가 아닌 경우 모두 승인으로 처리 Co-Authored-By: Claude Opus 4.5 --- .../Controllers/Barobill/EcardController.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Barobill/EcardController.php b/app/Http/Controllers/Barobill/EcardController.php index 1fd05e16..5794627c 100644 --- a/app/Http/Controllers/Barobill/EcardController.php +++ b/app/Http/Controllers/Barobill/EcardController.php @@ -487,18 +487,22 @@ private function parseTransactionLogs($resultData, $savedData = null): array $rawApprovalType = $log->ApprovalType ?? null; $approvalType = (string)($rawApprovalType ?? '1'); + // ApprovalType: 1=승인 or "승인", 2=취소 or "취소" + // API에서 한글 텍스트로 반환될 수 있으므로 취소가 아닌 경우 모두 승인으로 처리 + $isApproval = !in_array($approvalType, ['2', '취소'], true); + // 디버깅: ApprovalType 값 확인 (첫 번째 로그만) if (count($logs) === 0) { - Log::info('[ECard] ApprovalType 샘플', [ - 'raw' => $rawApprovalType, - 'rawType' => gettype($rawApprovalType), - 'casted' => $approvalType, + Log::info('[ECard] 첫 번째 로그 전체 데이터', [ + 'log_object' => json_encode($log), + 'ApprovalType_raw' => $rawApprovalType, + 'ApprovalType_type' => gettype($rawApprovalType), + 'ApprovalType_casted' => $approvalType, + 'isApproval' => $isApproval, 'amount' => $amount, ]); } - // ApprovalType: 1=승인, 2=취소 (빈값, 0, 1은 승인으로 처리) - $isApproval = in_array($approvalType, ['', '0', '1'], true); if ($isApproval) { $totalAmount += $amount; $approvalCount++;