diff --git a/app/Modules/HalkbankOnlinePayment/Repositories/HalkbankOnlinePaymentRepository.php b/app/Modules/HalkbankOnlinePayment/Repositories/HalkbankOnlinePaymentRepository.php index 823ca64..fefc17e 100644 --- a/app/Modules/HalkbankOnlinePayment/Repositories/HalkbankOnlinePaymentRepository.php +++ b/app/Modules/HalkbankOnlinePayment/Repositories/HalkbankOnlinePaymentRepository.php @@ -75,7 +75,7 @@ class HalkbankOnlinePaymentRepository implements PaymentProviderContract public function checkPayment(string $orderId): Response { try { - $paymentCheckResponse = Http::asForm()->post('https://mpi.gov.tm/payment/rest/getOrderStatus.do', [ + $paymentCheckResponse = Http::asForm()->post('https://mpi.gov.tm/payment/rest/getOrderStatusExtended.do', [ 'language' => 'ru', 'orderId' => $orderId, 'userName' => $this->username, @@ -100,7 +100,7 @@ class HalkbankOnlinePaymentRepository implements PaymentProviderContract return new Response(new GuzzleResponse( 503, ['Content-Type' => 'application/json'], - sprintf('{"ErrorCode":"99","ErrorMessage":"%s"}', $e->getMessage()) + sprintf('{"errorCode":"99","errorMessage":"FAILED_REQUEST"}', $e->getMessage()) )); } diff --git a/app/Modules/OnlinePayment/Repositories/OnlinePaymentRepository.php b/app/Modules/OnlinePayment/Repositories/OnlinePaymentRepository.php index 3608f87..50581ce 100644 --- a/app/Modules/OnlinePayment/Repositories/OnlinePaymentRepository.php +++ b/app/Modules/OnlinePayment/Repositories/OnlinePaymentRepository.php @@ -194,15 +194,15 @@ class OnlinePaymentRepository $paymentHistory = OnlinePayment::where('orderId', $orderId)->first(); // Resolve related resource model dynamically + /** @var \Illuminate\Database\Eloquent\Model Find related resource */ $modelClass = $paymentHistory->online_paymantable_type; $modelId = $paymentHistory->online_paymantable_id; if (! class_exists($modelClass)) { - return $this->paymentFailed('(INVALID RESOURCE TYPE)'); + return $this->paymentFailed('(RELATED RESOURCE CLASS NOT FOUND)'); } - /** @var \Illuminate\Database\Eloquent\Model Find related resource */ - $relatedResource = $modelClass::find($modelId); + $relatedResource = (new $modelClass)->find(id: $modelId); // Check if resource could not be found or does not exist if (! $relatedResource) { @@ -222,11 +222,11 @@ class OnlinePaymentRepository $this->provider->setPassword($bankBranch->billing_password); $response = $this->provider->checkPayment($orderId); - if ($response['ErrorCode'] == '99') { + if ($response['errorCode'] == '99') { return $this->paymentFailed('(REQUEST FAILURE)'); } - return $response['ErrorCode'] == '0' + return $response['paymentAmountInfo']['depositedAmount'] > 0 ? $this->paymentSuccessful($relatedResource, $paymentHistory, $bankBranch) : $this->paymentFailed(__('Payment has failed'), $paymentHistory, $bankBranch); }