fix: net amount while User - Retrait de carte vers wallet ou cash

This commit is contained in:
Djery-Tom 2023-09-14 13:33:11 +01:00
parent ca4c931d10
commit bc1a2f2972
1 changed files with 13 additions and 11 deletions

View File

@ -749,7 +749,8 @@ class iLinkTransactionController extends Controller
$taxe = $this->calculateTax($init_country != $final_country ? $taxesInternationales : $taxesNationales, $frais);
$transaction->taxe = $taxe;
$transaction->frais = $frais;
$transaction->montant_net = $montantRetrait = $transaction->montant + ($frais + $taxe);
$montantRetrait = $transaction->montant + ($frais + $taxe);
$transaction->montant_net = $this->toMoneyAmount($transaction->montant, $init_country, $final_country);
$transaction->montant_net_final_country = $this->toMoneyAmount($montantRetrait, $init_country, $final_country);
$identification = Identification::where('id_user', $user->id)->first();
@ -761,7 +762,7 @@ class iLinkTransactionController extends Controller
'exp_month' => date("m", strtotime($user->expiration_date)),
'exp_year' => date("Y", strtotime($user->expiration_date)),
'cvc' => $request->input('cvv'),
'amount' => $montantRetrait,
'amount' => $transaction->montant_net_final_country,
'currency' => $countryCurrency->currency_code,
'payment_method' => 'CARD',
'customer_id' => $user->id,
@ -781,7 +782,7 @@ class iLinkTransactionController extends Controller
$transaction->commission_banque = $this->calculateFees($init_country != $final_country ? $plr_bank_user_cart_cash_international : $plr_bank_user_cart_cash_national, $request->montant, $frais);
//Emettre une trame SSL pour recharger le compte de la banque partenaire du montant de sa commission
$walletUser->balance += $transaction->montant_net_final_country;
$walletUser->balance += $transaction->montant_net;
$transaction->commission_hyp = $this->calculateFees($init_country != $final_country ? $plr_hyp_user_cart_cash_international : $plr_hyp_user_cart_cash_national, $request->montant, $frais);
$walletHyperviseur->balance_com += $transaction->commission_hyp;
$transaction->id_wallet_hyp = $walletHyperviseur->id;
@ -792,7 +793,7 @@ class iLinkTransactionController extends Controller
$transaction->save();
$message = trans('messages.successful_user_remove_from_cart_to_wallet',
['id_transaction' => $transaction->id_transaction, 'amount' => $this->toMoney($transaction->montant, $init_country),
'net_init' => $this->toMoney($montantRetrait, $init_country),'net_final' => $this->toMoney($transaction->montant_net_final_country, $final_country),
'net_init' => $this->toMoney($transaction->montant, $init_country),'net_final' => $this->toMoney($transaction->montant_net_final_country, $final_country),
'fees' => $this->toMoney($frais + $taxe, $init_country), 'init_country' => $this->getCountryName($init_country), 'final_country' => $this->getCountryName($final_country),
'sender_code' => $user->user_code, 'cart_number' => wordwrap($transaction->numero_carte, 4, ' ', true)]);
$this->sendMail($user->email, trans('messages.successful_transaction'), $message);
@ -831,7 +832,8 @@ class iLinkTransactionController extends Controller
$taxe = $this->calculateTax($init_country != $final_country ? $taxesInternationales : $taxesNationales, $frais);
$transaction->taxe = $taxe;
$transaction->frais = $frais;
$transaction->montant_net = $montantRetrait = $transaction->montant + ($frais + $taxe);
$montantRetrait = $transaction->montant + ($frais + $taxe);
$transaction->montant_net = $this->toMoneyAmount($transaction->montant, $init_country, $final_country);
$transaction->montant_net_final_country = $this->toMoneyAmount($montantRetrait, $init_country, $final_country);
$countryCurrency = CountriesCurrency::findOrFail($init_country);
@ -844,7 +846,7 @@ class iLinkTransactionController extends Controller
'exp_month' => date("m", strtotime($user->expiration_date)),
'exp_year' => date("Y", strtotime($user->expiration_date)),
'cvc' => $request->input('cvv'),
'amount' => $montantRetrait,
'amount' => $transaction->montant_net_final_country,
'currency' => $countryCurrency->currency_code,
'payment_method' => 'CARD',
'customer_id' => $user->id,
@ -879,7 +881,7 @@ class iLinkTransactionController extends Controller
$transaction->save();
$message = trans('messages.successful_user_remove_from_cart_to_cash',
['id_transaction' => $transaction->id_transaction, 'amount' => $this->toMoney($transaction->montant, $init_country),
'net_init' => $this->toMoney($montantRetrait, $init_country),'net_final' => $this->toMoney($transaction->montant_net_final_country, $final_country),
'net_init' => $this->toMoney($transaction->montant_net, $init_country),'net_final' => $this->toMoney($transaction->montant_net_final_country, $final_country),
'fees' => $this->toMoney($frais + $taxe, $init_country), 'init_country' => $this->getCountryName($init_country), 'final_country' => $this->getCountryName($final_country),
'code' => wordwrap($code_retrait, 4, ' ', true),
'sender_code' => $user->user_code, 'cart_number' => wordwrap($transaction->numero_carte, 4, ' ', true)]);
@ -2349,9 +2351,9 @@ class iLinkTransactionController extends Controller
$frais += $fees;
$taxe = $this->calculateTax($init_country != $final_country ? $taxesInternationales : $taxesNationales, $frais);
$data['frais'] = round($frais + $taxe, 2);
$data['montant_net_init'] = round($request->montant + $data['frais'], 2);
$data['montant_net_init'] = $request->montant;
$data['exchange_rate'] = $this->getExchangeRate($init_country, $final_country);
$data['montant_net_final'] = $this->toMoneyWithCurrency($data['montant_net_init'], $init_country, $final_country);
$data['montant_net_final'] = $this->toMoneyWithCurrency(round($request->montant + $data['frais'], 2), $init_country, $final_country);
break;
case 11: // User - Retrait de carte vers cash
$final_country = $walletUser->user->network->country->id;
@ -2368,9 +2370,9 @@ class iLinkTransactionController extends Controller
$frais += $fees;
$taxe = $this->calculateTax($init_country != $final_country ? $taxesInternationales : $taxesNationales, $frais);
$data['frais'] = round($frais + $taxe, 2);
$data['montant_net_init'] = round($request->montant + $data['frais'], 2);
$data['montant_net_init'] = $request->montant;
$data['exchange_rate'] = $this->getExchangeRate($init_country, $final_country);
$data['montant_net_final'] = $this->toMoneyWithCurrency($data['montant_net_init'], $init_country, $final_country);
$data['montant_net_final'] = $this->toMoneyWithCurrency(round($request->montant + $data['frais'], 2), $init_country, $final_country);
break;
case 13: // Agent - Retrait de la carte vers cash
$plr_customer_cart_cash_national = $this->getPaliers($paliers_commission_wallets, 'customer_cart_cash_national');