From b317ef751c5ab48d9891fa013cfb27395f390073 Mon Sep 17 00:00:00 2001 From: ramazanayyildiz <48105049+ramazanayyildiz@users.noreply.github.com> Date: Tue, 5 Aug 2025 11:28:23 +0300 Subject: [PATCH] fix(GarantiPosService): check response status along with mdstatus for approval Update payment status logic to verify both mdstatus and response fields to determine success. This prevents false positives when mdstatus is 1 but response is not "APPROVED". --- src/Services/GarantiPosService.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Services/GarantiPosService.php b/src/Services/GarantiPosService.php index 7146c53..4a81e57 100644 --- a/src/Services/GarantiPosService.php +++ b/src/Services/GarantiPosService.php @@ -548,8 +548,8 @@ public function handleResponse(HttpRequest $request) return ! in_array($key, $paramsToRemoved); }, ARRAY_FILTER_USE_KEY); - $responseStatus = $request->mdstatus == 1 ? self::RESPONSE_STATUS_SUCCESS : self::RESPONSE_STATUS_ERROR; - $recordStatus = $request->mdstatus == 1 ? $this->getStatusEnum()::COMPLETED : $this->getStatusEnum()::FAILED; + $responseStatus = $request->mdstatus == 1 && strtoupper($request->response) == "APPROVED" ? self::RESPONSE_STATUS_SUCCESS : self::RESPONSE_STATUS_ERROR; + $recordStatus = $request->mdstatus == 1 && strtoupper($request->response) == "APPROVED" ? $this->getStatusEnum()::COMPLETED : $this->getStatusEnum()::FAILED; $responseMessage = $this->mdStatuses[$request->mdstatus]; $this->payment->update([