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++;