From 20a23ea3739effc6ea85f57da16027869f0ec249 Mon Sep 17 00:00:00 2001 From: Djery-Tom Date: Wed, 4 Oct 2023 23:49:55 +0100 Subject: [PATCH] fix: missing recipient while doing ilink world transaction v3 --- .../iLinkTransactionController.php | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/iLinkTransactionController.php b/app/Http/Controllers/iLinkTransactionController.php index 154c342..3e60c07 100755 --- a/app/Http/Controllers/iLinkTransactionController.php +++ b/app/Http/Controllers/iLinkTransactionController.php @@ -481,10 +481,6 @@ 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([ @@ -516,6 +512,11 @@ class iLinkTransactionController extends Controller $transaction->commission_hyp = $transaction->part_reseau_emetteur; $transaction->commission_hyp_final_country = $this->toMoneyAmount($transaction->commission_hyp, $init_country, $request->final_country); + // Verifier si le reseau payeur existe si c'est pas un reseau ilink + if ($configPayeur->type != 'ilink' && empty($reseauPayeur)) { + return $this->errorResponse(__('errors.service_unavailable_in_country')); + } + $transaction->id_transaction = $this->getTransactionID(); if ($configPayeur->type == 'ilink') { //Mise a jour des comissions et compensation @@ -1340,10 +1341,6 @@ 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') { @@ -1363,6 +1360,11 @@ class iLinkTransactionController extends Controller $transaction->montant_net = $montantRetrait; $transaction->montant_net_final_country = $this->toMoneyAmount($transaction->montant_net, $init_country, $request->final_country); + // Verifier si le reseau payeur existe si c'est pas un reseau ilink + if ($configPayeur->type != 'ilink' && empty($reseauPayeur)) { + return $this->errorResponse(__('errors.service_unavailable_in_country')); + } + if (isset($reseauPayeur)) { $transaction->part_reseau_payeur = $frais * $reseauPayeur->taux_partage / 100; $transaction->part_reseau_payeur_final_country = $this->toMoneyAmount($transaction->part_reseau_payeur, $init_country, $request->final_country); @@ -1845,9 +1847,6 @@ 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([ @@ -1904,6 +1903,12 @@ class iLinkTransactionController extends Controller $transaction->id_transaction = $this->getTransactionID(); $transaction->type_id_destinataire = $request->input('type_id_destinataire'); + + // Verifier si le reseau payeur existe si c'est pas un reseau ilink + if ($configPayeur->type != 'ilink' && empty($reseauPayeur)) { + return $this->errorResponse(__('errors.service_unavailable_in_country')); + } + // Retirer l'argent de la carte $identification = Identification::where('id_user', $user->id)->first(); $country = CountriesCurrency::findOrFail($init_country);