+ Update Agent - Envoi de cash vers cash
This commit is contained in:
parent
6189c78de8
commit
c27d611ca8
|
@ -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);
|
||||
$taxe = ($init_country != $request->final_country) ? $this->calculateTax($taxesInternationales, $frais) : $this->calculateTax($taxesNationales, $frais);
|
||||
$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_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;
|
||||
$transaction->commission_ag = $commisionAgent;
|
||||
$walletSuperviseur->balance_com += $commisionSuper;
|
||||
|
@ -810,6 +845,8 @@ class iLinkTransactionController extends Controller
|
|||
$transaction->taxe = $taxe;
|
||||
$transaction->date = new \DateTime();
|
||||
$transaction->status_retrait = 0;
|
||||
if (isset($reseauPayeur))
|
||||
$reseauPayeur->save();
|
||||
$walletAgent->save();
|
||||
$walletSuperviseur->save();
|
||||
$walletHyperviseur->save();
|
||||
|
|
Loading…
Reference in New Issue