From 6257a00b76d97241829a00bb7cdac2d41112b6c5 Mon Sep 17 00:00:00 2001 From: Djery-Tom Date: Wed, 4 Oct 2023 12:32:23 +0100 Subject: [PATCH] fix: add verification of reseau payeur in ilink transactions --- .../Controllers/iLinkTransactionController.php | 14 ++++++++++++++ resources/lang/en/errors.php | 3 ++- resources/lang/fr/errors.php | 3 ++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/iLinkTransactionController.php b/app/Http/Controllers/iLinkTransactionController.php index 718021d..a757ccc 100755 --- a/app/Http/Controllers/iLinkTransactionController.php +++ b/app/Http/Controllers/iLinkTransactionController.php @@ -267,6 +267,9 @@ class iLinkTransactionController extends Controller $frais = ($init_country != $request->final_country) ? $this->calculateFees($plr_user_wallet_wallet, $request->montant) : $this->calculateFees($plr_user_wallet_wallet_national, $request->montant); $reseauPayeur = PayingNetwork::where('id_network', $request->network_destinataire)->where('id_configWallet', $config->id)->first(); + if(empty($reseauPayeur)){ + return $this->errorResponse(__('errors.service_unavailable_in_country')); + } $configPayeur = ConfigWallet::where('id_network', $request->network_destinataire)->firstOrFail(); $fees = 0; @@ -478,6 +481,10 @@ class iLinkTransactionController extends Controller $configPayeur = ConfigWallet::where('id_network', $request->network_destinataire)->firstOrFail(); $reseauPayeur = PayingNetwork::where('id_network', $request->network_destinataire)->where('id_configWallet', $config->id)->first(); + if(empty($reseauPayeur)){ + return $this->errorResponse(__('errors.service_unavailable_in_country')); + } + $fees = 0; if ($configPayeur->type != 'ilink') { $fees = $this->getBasicTransactionFees([ @@ -1333,6 +1340,10 @@ class iLinkTransactionController extends Controller $configPayeur = ConfigWallet::where('id_network', $request->network_destinataire)->firstOrFail(); $reseauPayeur = PayingNetwork::where('id_network', $request->network_destinataire)->where('id_configWallet', $config->id)->first(); + if(empty($reseauPayeur)){ + return $this->errorResponse(__('errors.service_unavailable_in_country')); + } + $frais = ($init_country != $request->final_country) ? $this->calculateFees($plr_agent_cash_cash, $request->montant) : $this->calculateFees($plr_agent_cash_cash_national, $request->montant); $fees = 0; if ($configPayeur->type != 'ilink') { @@ -1834,6 +1845,9 @@ class iLinkTransactionController extends Controller $configPayeur = ConfigWallet::where('id_network', $request->network_destinataire)->firstOrFail(); $reseauPayeur = PayingNetwork::where('id_network', $request->network_destinataire)->where('id_configWallet', $config->id)->first(); + if(empty($reseauPayeur)){ + return $this->errorResponse(__('errors.service_unavailable_in_country')); + } if ($configPayeur->type != 'ilink') { $balance = $this->checkBalance([ diff --git a/resources/lang/en/errors.php b/resources/lang/en/errors.php index f757b9a..fd88106 100755 --- a/resources/lang/en/errors.php +++ b/resources/lang/en/errors.php @@ -89,5 +89,6 @@ Paying network : :network :country', "transaction_already_completed" => "This transaction has already been completed", 'paying_network_api_failed' => "Request to API paying network failed", 'transaction_not_supported' => "This transaction is not supported", - 'payment_invalid' => "Invalid payment" + 'payment_invalid' => "Invalid payment", + 'service_unavailable_in_country' => 'Service not available in this country', ]; diff --git a/resources/lang/fr/errors.php b/resources/lang/fr/errors.php index c1bb592..610e918 100755 --- a/resources/lang/fr/errors.php +++ b/resources/lang/fr/errors.php @@ -89,5 +89,6 @@ Réseau payeur : :network :country', "transaction_already_completed" => "Cette transaction a déjà été éffectuée", 'paying_network_api_failed' => "La requête vers l'API du réseau payeur a échouée", 'transaction_not_supported' => "Cette transaction n'est pas supportée", - 'payment_invalid' => "Paiement invalide" + 'payment_invalid' => "Paiement invalide", + 'service_unavailable_in_country' => 'Service non disponible dans ce pays', ];