+ Update Agent - Envoi de cash vers cash

This commit is contained in:
Djery-Tom 2020-07-03 20:14:11 +01:00
parent 6189c78de8
commit c27d611ca8
1 changed files with 41 additions and 4 deletions

View File

@ -783,12 +783,47 @@ class iLinkTransactionController extends Controller
$frais = ($init_country != $request->final_country) ? $this->calculateFees($plr_agent_cash_cash, $request->montant) : $this->calculateFees($plr_agent_cash_cash_national, $request->montant); $frais = ($init_country != $request->final_country) ? $this->calculateFees($plr_agent_cash_cash, $request->montant) : $this->calculateFees($plr_agent_cash_cash_national, $request->montant);
$taxe = ($init_country != $request->final_country) ? $this->calculateTax($taxesInternationales, $frais) : $this->calculateTax($taxesNationales, $frais); $taxe = ($init_country != $request->final_country) ? $this->calculateTax($taxesInternationales, $frais) : $this->calculateTax($taxesNationales, $frais);
$montantRetrait = $request->montant - $frais - $taxe; $montantRetrait = $request->montant - $frais - $taxe;
$commisionAgent = floatval($frais * $config->taux_com_ag_envoi_cash / 100);
$commisionSuper = floatval($frais * $config->taux_com_sup_envoi_cash / 100);
$commisionHyper = floatval($frais * $config->taux_com_hyp_envoi_cash / 100);
$transaction->montant_net = $montantRetrait; $transaction->montant_net = $montantRetrait;
$transaction->montant_net_final_country = $this->toMoneyAmount($transaction->montant_net, $init_country, $request->final_country); $transaction->montant_net_final_country = $this->toMoneyAmount($transaction->montant_net, $init_country, $request->final_country);
$configPayeur = ConfigWallet::where('id_network', $request->network_destinataire)->firstOrFail();
if ($init_country != $request->final_country) {
$reseauPayeur = PayingNetwork::where('id_network', $request->network_destinataire)->where('id_configWallet', $config->id)->firstOrFail();
$transaction->part_reseau_payeur = $frais * $reseauPayeur->taux_partage / 100;
$transaction->part_reseau_emetteur = $frais - $transaction->part_reseau_payeur;
} else {
$transaction->part_reseau_payeur = 0;
$transaction->part_reseau_emetteur = $frais;
}
$transaction->part_reseau_payeur_final_country = $this->toMoneyAmount($transaction->part_reseau_payeur, $init_country, $request->final_country);
if (isset($reseauPayeur))
$reseauPayeur->balance_com += $transaction->part_reseau_payeur_final_country;
if ($configPayeur->type == 'ilink') {
//Hyperviseur payeur
$hyperviseurPayeur = AgentPlus::where('category', 'hyper')->where('network_id', $request->network_destinataire)->firstOrFail();
if ($hyperviseurPayeur->id == $hyperviseur->id) { //Si c'est le reseau payeur est aussi emetteur
$walletHyperviseur->balance_com += $transaction->part_reseau_payeur;
$transaction->id_wallet_hyp_payeur = $walletHyperviseur->id;
} else {
$wallet_agent_hypPayeur = WalletAgent::where('agent_id', $hyperviseurPayeur->id)->firstOrFail();
$walletHyperviseurPayeur = Wallet::findOrFail($wallet_agent_hypPayeur->wallet_id);
$walletHyperviseurPayeur->balance_com += $this->toMoneyAmount($transaction->part_reseau_payeur, $init_country, $request->final_country);
$transaction->id_wallet_hyp_payeur = $walletHyperviseurPayeur->id;
$walletHyperviseurPayeur->save();
}
} else {
//Emettre requete SSL vers wallet extene correspondant pour recharger le compte dont l'id est :
// $transaction->id_destinataire ;
// et le montant est:
// $montantDepot;
}
$commisionAgent = floatval($transaction->part_reseau_emetteur * $config->taux_com_ag_envoi_cash / 100);
$commisionSuper = floatval($transaction->part_reseau_emetteur * $config->taux_com_sup_envoi_cash / 100);
$commisionHyper = floatval($transaction->part_reseau_emetteur * $config->taux_com_hyp_envoi_cash / 100);
$walletAgent->balance_com += $commisionAgent; $walletAgent->balance_com += $commisionAgent;
$transaction->commission_ag = $commisionAgent; $transaction->commission_ag = $commisionAgent;
$walletSuperviseur->balance_com += $commisionSuper; $walletSuperviseur->balance_com += $commisionSuper;
@ -810,6 +845,8 @@ class iLinkTransactionController extends Controller
$transaction->taxe = $taxe; $transaction->taxe = $taxe;
$transaction->date = new \DateTime(); $transaction->date = new \DateTime();
$transaction->status_retrait = 0; $transaction->status_retrait = 0;
if (isset($reseauPayeur))
$reseauPayeur->save();
$walletAgent->save(); $walletAgent->save();
$walletSuperviseur->save(); $walletSuperviseur->save();
$walletHyperviseur->save(); $walletHyperviseur->save();