+ Update users password
+ Add paying networks simulator + Add users banks
This commit is contained in:
parent
95b2ef9644
commit
042f17791f
|
@ -3,13 +3,14 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
|
||||||
|
use App\Models\Agent;
|
||||||
|
use App\Models\AgentPlus;
|
||||||
use App\Models\Identification;
|
use App\Models\Identification;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Traits\ApiResponser;
|
use App\Traits\ApiResponser;
|
||||||
use App\Traits\Helper;
|
use App\Traits\Helper;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
use Illuminate\Support\Facades\Date;
|
|
||||||
use Illuminate\Support\Facades\File;
|
use Illuminate\Support\Facades\File;
|
||||||
|
|
||||||
class UserController extends Controller
|
class UserController extends Controller
|
||||||
|
@ -47,7 +48,7 @@ class UserController extends Controller
|
||||||
$identification->status = 0;
|
$identification->status = 0;
|
||||||
|
|
||||||
$identification->save();
|
$identification->save();
|
||||||
$this->sendMail($user->email, trans('messages.successful_identification'),
|
$this->sendMail($user->email, trans('messages.successful_identification', ['name' => $identification->lastname . ' ' . $identification->firstname]),
|
||||||
trans('messages.successful_identification_message', ['name' => $identification->lastname . ' ' . $identification->firstname]));
|
trans('messages.successful_identification_message', ['name' => $identification->lastname . ' ' . $identification->firstname]));
|
||||||
return $this->successResponse(trans('messages.successful_identification', ['name' => $identification->lastname . ' ' . $identification->firstname]));
|
return $this->successResponse(trans('messages.successful_identification', ['name' => $identification->lastname . ' ' . $identification->firstname]));
|
||||||
}
|
}
|
||||||
|
@ -238,4 +239,37 @@ class UserController extends Controller
|
||||||
return $destination;
|
return $destination;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Mise a jour du mot de passe
|
||||||
|
|
||||||
|
public function updatePassword(Request $request)
|
||||||
|
{
|
||||||
|
$this->validate($request, [
|
||||||
|
'phone' => 'required',
|
||||||
|
'type' => 'required|in:user,agent',
|
||||||
|
'oldPassword' => 'required',
|
||||||
|
'newPassword' => 'required'
|
||||||
|
]);
|
||||||
|
|
||||||
|
if ($request->type == 'user') {
|
||||||
|
$user = User::where('phone', $request->phone)->firstOrFail();
|
||||||
|
} else {
|
||||||
|
$agent_plus = AgentPlus::where('phone', $request->phone)->orWhere('transactionNumber', $request->phone)->firstOrFail();
|
||||||
|
$user = Agent::findOrFail($agent_plus->id);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$this->checkPassword($request->oldPassword, $user->encrypted_password, $user->salt))
|
||||||
|
return $this->errorResponse(trans('messages.incorrect_user_password'));
|
||||||
|
|
||||||
|
$hash = $this->hashSSHA($request->newPassword);
|
||||||
|
$user->salt = $hash['salt'];
|
||||||
|
$user->encrypted_password = $hash['encrypted'];
|
||||||
|
$user->save();
|
||||||
|
|
||||||
|
$this->sendMail($user->email, trans('messages.password_update'),
|
||||||
|
trans('messages.successful_password_update') . ' ' . trans('messages.your_new_password', ['password' => $request->newPassword]));
|
||||||
|
|
||||||
|
return $this->successResponse(trans('messages.successful_password_update'));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,7 +102,7 @@ class WalletController extends Controller
|
||||||
|
|
||||||
// Wallets users iLink
|
// Wallets users iLink
|
||||||
public function showWalletUser($id_user){
|
public function showWalletUser($id_user){
|
||||||
$wallet = collect(DB::select('SELECT wu.*, u.user_code , u.numero_carte , u.expiration_date ,n2.name as network , cc.name as country, cc.currency_code from wallets_users wu
|
$wallet = collect(DB::select('SELECT wu.*, u.user_code , u.numero_carte , u.expiration_date ,n2.id as id_wallet_network, n2.name as network , cc.name as country, cc.currency_code from wallets_users wu
|
||||||
INNER JOIN users u ON u.id = wu.idUser
|
INNER JOIN users u ON u.id = wu.idUser
|
||||||
INNER JOIN networks n1 ON n1.id = u.network_id
|
INNER JOIN networks n1 ON n1.id = u.network_id
|
||||||
INNER JOIN networks n2 ON n2.country_id = n1.country_id
|
INNER JOIN networks n2 ON n2.country_id = n1.country_id
|
||||||
|
@ -122,13 +122,13 @@ class WalletController extends Controller
|
||||||
$demandes = DB::select("SELECT 'N' as type_historique, i.montant , i.user as destinataire , i.* FROM infos_users_demandes_credits i WHERE id_network = :id ;", ['id' => $id_network]);
|
$demandes = DB::select("SELECT 'N' as type_historique, i.montant , i.user as destinataire , i.* FROM infos_users_demandes_credits i WHERE id_network = :id ;", ['id' => $id_network]);
|
||||||
$savings = DB::select("SELECT 'E' as type_historique , i.montant , i.user as destinataire , i.* FROM infos_users_epargnes i WHERE id_network = :id;", ['id' => $id_network]);
|
$savings = DB::select("SELECT 'E' as type_historique , i.montant , i.user as destinataire , i.* FROM infos_users_epargnes i WHERE id_network = :id;", ['id' => $id_network]);
|
||||||
|
|
||||||
$transactions = DB::select("SELECT 'T' as type_historique, wit.id_transaction, tit.nom as operation , wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
$transactions = DB::select("SELECT 'T' as type_historique, wit.id_transaction, tit.nom as operation_fr , tit.name as operation_en , wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
||||||
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
||||||
wit.date as date_creation , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
wit.date as date_creation , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
||||||
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.network_emetteur = :id ;", ['id' => $id_network]);
|
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.network_emetteur = :id ;", ['id' => $id_network]);
|
||||||
|
|
||||||
$transactions_mapped = array_map(function ($data) {
|
$transactions_mapped = array_map(function ($data) {
|
||||||
|
$data->operation = app()->isLocale('en') ? $data->operation_en : $data->operation_fr;
|
||||||
$date = $data->date_creation;
|
$date = $data->date_creation;
|
||||||
unset($data->date_creation);
|
unset($data->date_creation);
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ class WalletController extends Controller
|
||||||
$data->date_creation = $date;
|
$data->date_creation = $date;
|
||||||
|
|
||||||
unset($data->type, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
unset($data->type, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
||||||
$data->montant_net_final_country, $data->montant_net, $data->nom_emetteur, $data->prenom_emetteur, $data->id_destinataire);
|
$data->montant_net_final_country, $data->montant_net, $data->nom_emetteur, $data->prenom_emetteur, $data->id_destinataire, $data->operation_fr, $data->operation_en);
|
||||||
return $data;
|
return $data;
|
||||||
}, $transactions);
|
}, $transactions);
|
||||||
|
|
||||||
|
@ -182,13 +182,13 @@ class WalletController extends Controller
|
||||||
$demandes = DB::select("SELECT 'N' as type_historique , i.montant ,i.user as destinataire , i.* FROM infos_users_demandes_credits i WHERE codeParrain = :code ;", ['code' => $walletSup->codeMembre]);
|
$demandes = DB::select("SELECT 'N' as type_historique , i.montant ,i.user as destinataire , i.* FROM infos_users_demandes_credits i WHERE codeParrain = :code ;", ['code' => $walletSup->codeMembre]);
|
||||||
|
|
||||||
|
|
||||||
$transactions = DB::select("SELECT 'T' as type_historique, wit.id_transaction, tit.nom as operation , wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
$transactions = DB::select("SELECT 'T' as type_historique, wit.id_transaction, tit.nom as operation_fr , tit.name as operation_en , wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
||||||
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
||||||
wit.date as date_creation , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
wit.date as date_creation , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
||||||
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.id_wallet_sup = :id ;", ['id' => $id_wallet]);
|
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.id_wallet_sup = :id ;", ['id' => $id_wallet]);
|
||||||
|
|
||||||
$transactions_mapped = array_map(function ($data) {
|
$transactions_mapped = array_map(function ($data) {
|
||||||
|
$data->operation = app()->isLocale('en') ? $data->operation_en : $data->operation_fr;
|
||||||
$date = $data->date_creation;
|
$date = $data->date_creation;
|
||||||
unset($data->date_creation);
|
unset($data->date_creation);
|
||||||
|
|
||||||
|
@ -212,7 +212,7 @@ class WalletController extends Controller
|
||||||
$data->destinataire = $data->numero_carte;
|
$data->destinataire = $data->numero_carte;
|
||||||
$data->date_creation = $date;
|
$data->date_creation = $date;
|
||||||
unset($data->type, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
unset($data->type, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
||||||
$data->montant_net_final_country, $data->montant_net, $data->nom_emetteur, $data->prenom_emetteur, $data->id_destinataire);
|
$data->montant_net_final_country, $data->montant_net, $data->nom_emetteur, $data->prenom_emetteur, $data->id_destinataire, $data->operation_fr, $data->operation_en);
|
||||||
return $data;
|
return $data;
|
||||||
}, $transactions);
|
}, $transactions);
|
||||||
|
|
||||||
|
@ -236,13 +236,13 @@ class WalletController extends Controller
|
||||||
$demandes = DB::select("SELECT 'N' as type_historique, i.montant , i.user as destinataire , i.* FROM infos_users_demandes_credits i WHERE id_network = :id ;", ['id' => $id_network]);
|
$demandes = DB::select("SELECT 'N' as type_historique, i.montant , i.user as destinataire , i.* FROM infos_users_demandes_credits i WHERE id_network = :id ;", ['id' => $id_network]);
|
||||||
$savings = DB::select("SELECT 'E' as type_historique , i.montant , i.user as destinataire , i.* FROM infos_users_epargnes i WHERE id_network = :id;", ['id' => $id_network]);
|
$savings = DB::select("SELECT 'E' as type_historique , i.montant , i.user as destinataire , i.* FROM infos_users_epargnes i WHERE id_network = :id;", ['id' => $id_network]);
|
||||||
|
|
||||||
$transactions = DB::select("SELECT 'T' as type_historique, wit.id_transaction, tit.nom as operation , wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
$transactions = DB::select("SELECT 'T' as type_historique, wit.id_transaction, tit.nom as operation_fr , tit.name as operation_en , wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
||||||
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
||||||
wit.date as date_creation , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
wit.date as date_creation , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
||||||
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.network_emetteur = :id ;", ['id' => $id_network]);
|
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.network_emetteur = :id ;", ['id' => $id_network]);
|
||||||
|
|
||||||
$transactions_mapped = array_map(function ($data) {
|
$transactions_mapped = array_map(function ($data) {
|
||||||
|
$data->operation = app()->isLocale('en') ? $data->operation_en : $data->operation_fr;
|
||||||
$date = $data->date_creation;
|
$date = $data->date_creation;
|
||||||
unset($data->date_creation);
|
unset($data->date_creation);
|
||||||
|
|
||||||
|
@ -270,7 +270,7 @@ class WalletController extends Controller
|
||||||
}
|
}
|
||||||
$data->date_creation = $date;
|
$data->date_creation = $date;
|
||||||
unset($data->type, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
unset($data->type, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
||||||
$data->montant_net_final_country, $data->montant_net, $data->nom_emetteur, $data->prenom_emetteur, $data->id_destinataire);
|
$data->montant_net_final_country, $data->montant_net, $data->nom_emetteur, $data->prenom_emetteur, $data->id_destinataire, $data->operation_fr, $data->operation_en);
|
||||||
return $data;
|
return $data;
|
||||||
}, $transactions);
|
}, $transactions);
|
||||||
|
|
||||||
|
@ -295,13 +295,13 @@ class WalletController extends Controller
|
||||||
$demandes = DB::select("SELECT 'N' as type_historique, i.montant , i.user as destinataire , i.* FROM infos_users_demandes_credits i WHERE codeParrain = :code ;", ['code' => $walletSup->codeMembre]);
|
$demandes = DB::select("SELECT 'N' as type_historique, i.montant , i.user as destinataire , i.* FROM infos_users_demandes_credits i WHERE codeParrain = :code ;", ['code' => $walletSup->codeMembre]);
|
||||||
|
|
||||||
|
|
||||||
$transactions = DB::select("SELECT 'T' as type_historique, wit.id_transaction, tit.nom as operation , wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
$transactions = DB::select("SELECT 'T' as type_historique, wit.id_transaction, tit.nom as operation_fr , tit.name as operation_en , wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
||||||
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
||||||
wit.date as date_creation , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
wit.date as date_creation , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
||||||
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.id_wallet_sup = :id ;", ['id' => $id_wallet]);
|
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.id_wallet_sup = :id ;", ['id' => $id_wallet]);
|
||||||
|
|
||||||
$transactions_mapped = array_map(function ($data) {
|
$transactions_mapped = array_map(function ($data) {
|
||||||
|
$data->operation = app()->isLocale('en') ? $data->operation_en : $data->operation_fr;
|
||||||
$date = $data->date_creation;
|
$date = $data->date_creation;
|
||||||
unset($data->date_creation);
|
unset($data->date_creation);
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ class WalletController extends Controller
|
||||||
$data->date_creation = $date;
|
$data->date_creation = $date;
|
||||||
|
|
||||||
unset($data->type, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
unset($data->type, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
||||||
$data->montant_net_final_country, $data->montant_net, $data->nom_emetteur, $data->prenom_emetteur, $data->id_destinataire);
|
$data->montant_net_final_country, $data->montant_net, $data->nom_emetteur, $data->prenom_emetteur, $data->id_destinataire, $data->operation_fr, $data->operation_en);
|
||||||
return $data;
|
return $data;
|
||||||
}, $transactions);
|
}, $transactions);
|
||||||
|
|
||||||
|
@ -348,4 +348,12 @@ class WalletController extends Controller
|
||||||
return $this->successResponse($result);
|
return $this->successResponse($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getWalletBanks($id_wallet_network)
|
||||||
|
{
|
||||||
|
$banks = DB::select("SELECT b.id as id_bank, b.nom as bank_name , bc.adresse as bank_address, c.name as country FROM networks_banks nb INNER JOIN banks_countries bc on bc.id = nb.id_bank_country INNER JOIN banks b ON b.id = bc.id_bank
|
||||||
|
INNER JOIN countries c ON bc.id_country = c.id WHERE nb.id_network = :id_network ;", ['id_network' => $id_wallet_network]);
|
||||||
|
|
||||||
|
return $this->successResponse($banks);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ class iLinkTransactionController extends Controller
|
||||||
private $PAYMENT_URL = "/adyen-api/v1/transaction/payement";
|
private $PAYMENT_URL = "/adyen-api/v1/transaction/payement";
|
||||||
private $PAYOUT_URL = "/adyen-api/v1/transaction/payout";
|
private $PAYOUT_URL = "/adyen-api/v1/transaction/payout";
|
||||||
private $REFUND_URL = "/adyen-api/v1/transaction/refund";
|
private $REFUND_URL = "/adyen-api/v1/transaction/refund";
|
||||||
|
private $PAYING_NETWORK_SIMULATOR_SEND_FRAME_URL = 'http://localhost:8084/receive_payment';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new controller instance.
|
* Create a new controller instance.
|
||||||
|
@ -153,8 +154,6 @@ class iLinkTransactionController extends Controller
|
||||||
$transaction->part_reseau_payeur = $frais * $reseauPayeur->taux_partage / 100;
|
$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);
|
$transaction->part_reseau_payeur_final_country = $this->toMoneyAmount($transaction->part_reseau_payeur, $init_country, $request->final_country);
|
||||||
$transaction->part_reseau_emetteur = $frais - $transaction->part_reseau_payeur;
|
$transaction->part_reseau_emetteur = $frais - $transaction->part_reseau_payeur;
|
||||||
$reseauPayeur->balance_com += $transaction->part_reseau_payeur_final_country;
|
|
||||||
$reseauPayeur->balance_compensation += $transaction->montant_net_final_country;
|
|
||||||
} else {
|
} else {
|
||||||
$transaction->part_reseau_payeur = 0;
|
$transaction->part_reseau_payeur = 0;
|
||||||
$transaction->part_reseau_payeur_final_country = 0;
|
$transaction->part_reseau_payeur_final_country = 0;
|
||||||
|
@ -162,6 +161,8 @@ class iLinkTransactionController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
$transaction->commission_hyp = $transaction->part_reseau_emetteur;
|
$transaction->commission_hyp = $transaction->part_reseau_emetteur;
|
||||||
|
$transaction->id_transaction = $this->getTransactionID();
|
||||||
|
|
||||||
if ($configPayeur->type == 'ilink') {
|
if ($configPayeur->type == 'ilink') {
|
||||||
$destinataire = User::where('user_code', $request->id_destinataire)->first();
|
$destinataire = User::where('user_code', $request->id_destinataire)->first();
|
||||||
if ($destinataire) { // Si c'est un wallet ilink
|
if ($destinataire) { // Si c'est un wallet ilink
|
||||||
|
@ -176,6 +177,11 @@ class iLinkTransactionController extends Controller
|
||||||
} else {
|
} else {
|
||||||
return $this->errorResponse(trans('errors.wallet_not_defined'));
|
return $this->errorResponse(trans('errors.wallet_not_defined'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Mise a jour des comissions et compensation
|
||||||
|
$reseauPayeur->balance_com += $transaction->part_reseau_payeur_final_country;
|
||||||
|
$reseauPayeur->balance_compensation += $transaction->montant_net_final_country;
|
||||||
|
|
||||||
//Hyperviseur payeur
|
//Hyperviseur payeur
|
||||||
$hyperviseurPayeur = AgentPlus::where('category', 'hyper')->where('network_id', $request->network_destinataire)->firstOrFail();
|
$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
|
if ($hyperviseurPayeur->id == $hyperviseur->id) { //Si c'est le reseau payeur est aussi emetteur
|
||||||
|
@ -188,15 +194,16 @@ class iLinkTransactionController extends Controller
|
||||||
$walletHyperviseurPayeur->save();
|
$walletHyperviseurPayeur->save();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//Emettre requete SSL vers wallet extene correspondant pour recharger le compte dont l'id est :
|
//Emettre requete SSL vers wallet extene correspondant pour recharger le compte du destinataire
|
||||||
// $transaction->id_destinataire ;
|
// La mise à jour des comissions de compensation se fera lors du traitement de la transaction
|
||||||
// et le montant est:
|
$transaction->status_reseau_payeur = 'EN_COURS';
|
||||||
// $montantDepot;
|
$result = $this->sendFrame($this->PAYING_NETWORK_SIMULATOR_SEND_FRAME_URL, $transaction);
|
||||||
|
if ($result->getStatusCode() != 200)
|
||||||
|
return $this->errorResponse(trans('errors.unexpected_error'));
|
||||||
}
|
}
|
||||||
$walletHyperviseur->balance_com += $transaction->part_reseau_emetteur;
|
$walletHyperviseur->balance_com += $transaction->part_reseau_emetteur;
|
||||||
$walletUser->balance -= $transaction->montant;
|
$walletUser->balance -= $transaction->montant;
|
||||||
$transaction->id_wallet_hyp = $walletHyperviseur->id;
|
$transaction->id_wallet_hyp = $walletHyperviseur->id;
|
||||||
$transaction->id_transaction = $this->getTransactionID();
|
|
||||||
|
|
||||||
$walletHyperviseur->save();
|
$walletHyperviseur->save();
|
||||||
$walletUser->save();
|
$walletUser->save();
|
||||||
|
@ -306,8 +313,6 @@ class iLinkTransactionController extends Controller
|
||||||
$transaction->part_reseau_payeur = $frais * $reseauPayeur->taux_partage / 100;
|
$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);
|
$transaction->part_reseau_payeur_final_country = $this->toMoneyAmount($transaction->part_reseau_payeur, $init_country, $request->final_country);
|
||||||
$transaction->part_reseau_emetteur = $frais - $transaction->part_reseau_payeur;
|
$transaction->part_reseau_emetteur = $frais - $transaction->part_reseau_payeur;
|
||||||
$reseauPayeur->balance_com += $transaction->part_reseau_payeur_final_country;
|
|
||||||
$reseauPayeur->balance_compensation += $transaction->montant_net_final_country;
|
|
||||||
} else {
|
} else {
|
||||||
$transaction->part_reseau_payeur = 0;
|
$transaction->part_reseau_payeur = 0;
|
||||||
$transaction->part_reseau_payeur_final_country = 0;
|
$transaction->part_reseau_payeur_final_country = 0;
|
||||||
|
@ -317,7 +322,12 @@ class iLinkTransactionController extends Controller
|
||||||
$transaction->commission_hyp = $transaction->part_reseau_emetteur;
|
$transaction->commission_hyp = $transaction->part_reseau_emetteur;
|
||||||
$transaction->commission_hyp_final_country = $this->toMoneyAmount($transaction->commission_hyp, $init_country, $request->final_country);
|
$transaction->commission_hyp_final_country = $this->toMoneyAmount($transaction->commission_hyp, $init_country, $request->final_country);
|
||||||
|
|
||||||
|
$transaction->id_transaction = $this->getTransactionID();
|
||||||
if ($configPayeur->type == 'ilink') {
|
if ($configPayeur->type == 'ilink') {
|
||||||
|
//Mise a jour des comissions et compensation
|
||||||
|
$reseauPayeur->balance_com += $transaction->part_reseau_payeur_final_country;
|
||||||
|
$reseauPayeur->balance_compensation += $transaction->montant_net_final_country;
|
||||||
|
|
||||||
//Hyperviseur payeur
|
//Hyperviseur payeur
|
||||||
$hyperviseurPayeur = AgentPlus::where('category', 'hyper')->where('network_id', $request->network_destinataire)->firstOrFail();
|
$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
|
if ($hyperviseurPayeur->id == $hyperviseur->id) { //Si c'est le reseau payeur est aussi emetteur
|
||||||
|
@ -330,10 +340,12 @@ class iLinkTransactionController extends Controller
|
||||||
$walletHyperviseurPayeur->save();
|
$walletHyperviseurPayeur->save();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//Emettre requete SSL vers wallet extene correspondant pour recharger le compte dont l'id est :
|
//Emettre requete SSL vers wallet extene correspondant pour recharger le compte du destinataire
|
||||||
// $transaction->id_destinataire ;
|
// La mise à jour des comissions de compensation se fera lors du traitement de la transaction
|
||||||
// et le montant est:
|
$transaction->status_reseau_payeur = 'EN_COURS';
|
||||||
// $montantDepot;
|
$result = $this->sendFrame($this->PAYING_NETWORK_SIMULATOR_SEND_FRAME_URL, $transaction);
|
||||||
|
if ($result->getStatusCode() != 200)
|
||||||
|
return $this->errorResponse(trans('errors.unexpected_error'));
|
||||||
}
|
}
|
||||||
$walletUser->balance -= $transaction->montant;
|
$walletUser->balance -= $transaction->montant;
|
||||||
$walletHyperviseur->balance_com += $transaction->commission_hyp;
|
$walletHyperviseur->balance_com += $transaction->commission_hyp;
|
||||||
|
@ -343,7 +355,7 @@ class iLinkTransactionController extends Controller
|
||||||
$transaction->code_retrait_salt = $hash['salt'];
|
$transaction->code_retrait_salt = $hash['salt'];
|
||||||
|
|
||||||
$transaction->id_wallet_hyp = $walletHyperviseur->id;
|
$transaction->id_wallet_hyp = $walletHyperviseur->id;
|
||||||
$transaction->id_transaction = $this->getTransactionID();
|
|
||||||
if (isset($reseauPayeur))
|
if (isset($reseauPayeur))
|
||||||
$reseauPayeur->save();
|
$reseauPayeur->save();
|
||||||
$walletHyperviseur->save();
|
$walletHyperviseur->save();
|
||||||
|
@ -919,8 +931,6 @@ class iLinkTransactionController extends Controller
|
||||||
$transaction->part_reseau_payeur = $frais * $reseauPayeur->taux_partage / 100;
|
$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);
|
$transaction->part_reseau_payeur_final_country = $this->toMoneyAmount($transaction->part_reseau_payeur, $init_country, $request->final_country);
|
||||||
$transaction->part_reseau_emetteur = $frais - $transaction->part_reseau_payeur;
|
$transaction->part_reseau_emetteur = $frais - $transaction->part_reseau_payeur;
|
||||||
$reseauPayeur->balance_com += $transaction->part_reseau_payeur_final_country;
|
|
||||||
$reseauPayeur->balance_compensation += $transaction->montant_net_final_country;
|
|
||||||
} else {
|
} else {
|
||||||
$transaction->part_reseau_payeur = 0;
|
$transaction->part_reseau_payeur = 0;
|
||||||
$transaction->part_reseau_payeur_final_country = 0;
|
$transaction->part_reseau_payeur_final_country = 0;
|
||||||
|
@ -931,7 +941,12 @@ class iLinkTransactionController extends Controller
|
||||||
$commisionSuper = floatval($transaction->part_reseau_emetteur * $config->taux_com_sup_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);
|
$commisionHyper = floatval($transaction->part_reseau_emetteur * $config->taux_com_hyp_envoi_cash / 100);
|
||||||
|
|
||||||
|
$transaction->id_transaction = $this->getTransactionID();
|
||||||
if ($configPayeur->type == 'ilink') {
|
if ($configPayeur->type == 'ilink') {
|
||||||
|
//Mise a jour des comissions et compensation
|
||||||
|
$reseauPayeur->balance_com += $transaction->part_reseau_payeur_final_country;
|
||||||
|
$reseauPayeur->balance_compensation += $transaction->montant_net_final_country;
|
||||||
|
|
||||||
//Hyperviseur payeur
|
//Hyperviseur payeur
|
||||||
$hyperviseurPayeur = AgentPlus::where('category', 'hyper')->where('network_id', $request->network_destinataire)->firstOrFail();
|
$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
|
if ($hyperviseurPayeur->id == $hyperviseur->id) { //Si c'est le reseau payeur est aussi emetteur
|
||||||
|
@ -944,10 +959,12 @@ class iLinkTransactionController extends Controller
|
||||||
$walletHyperviseurPayeur->save();
|
$walletHyperviseurPayeur->save();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//Emettre requete SSL vers wallet extene correspondant pour recharger le compte dont l'id est :
|
//Emettre requete SSL vers wallet extene correspondant pour recharger le compte du destinataire
|
||||||
// $transaction->id_destinataire ;
|
// La mise à jour des comissions de compensation se fera lors du traitement de la transaction
|
||||||
// et le montant est:
|
$transaction->status_reseau_payeur = 'EN_COURS';
|
||||||
// $montantDepot;
|
$result = $this->sendFrame($this->PAYING_NETWORK_SIMULATOR_SEND_FRAME_URL, $transaction);
|
||||||
|
if ($result->getStatusCode() != 200)
|
||||||
|
return $this->errorResponse(trans('errors.unexpected_error'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -977,7 +994,7 @@ class iLinkTransactionController extends Controller
|
||||||
$walletAgent->save();
|
$walletAgent->save();
|
||||||
$walletSuperviseur->save();
|
$walletSuperviseur->save();
|
||||||
$walletHyperviseur->save();
|
$walletHyperviseur->save();
|
||||||
$transaction->id_transaction = $this->getTransactionID();
|
|
||||||
$transaction->save();
|
$transaction->save();
|
||||||
$message = trans('messages.successful_agent_send_cash',
|
$message = trans('messages.successful_agent_send_cash',
|
||||||
['sender_name' => $request->prenom_emetteur . ' ' . $request->nom_emetteur, 'receiver_name' => $request->prenom_destinataire . ' ' . $request->nom_destinataire,
|
['sender_name' => $request->prenom_emetteur . ' ' . $request->nom_emetteur, 'receiver_name' => $request->prenom_destinataire . ' ' . $request->nom_destinataire,
|
||||||
|
@ -1003,11 +1020,12 @@ class iLinkTransactionController extends Controller
|
||||||
$user = User::findOrFail($id_user);
|
$user = User::findOrFail($id_user);
|
||||||
$wallet_user = WalletsUser::where('idUser',$user->id)->firstOrFail();
|
$wallet_user = WalletsUser::where('idUser',$user->id)->firstOrFail();
|
||||||
|
|
||||||
$transactions = DB::select('SELECT id_wallet_user , operation , id_transaction ,network_destinataire, init_country , final_country, date , id , montant , frais , taxe , pays_init , pays_final,
|
$transactions = DB::select('SELECT id_wallet_user , operation_fr , operation_en, id_transaction ,network_destinataire, init_country , final_country, date , id , montant , frais , taxe , pays_init , pays_final,
|
||||||
destinataire_phone , destinataire_name , nom_destinataire, prenom_destinataire, montant_net ,montant_net_final_country FROM infos_ilink_transaction WHERE id_wallet_user = :id_wallet AND type <> 12 AND type <> 14
|
destinataire_phone , destinataire_name , nom_destinataire, prenom_destinataire, montant_net ,montant_net_final_country FROM infos_ilink_transaction WHERE id_wallet_user = :id_wallet AND type <> 12 AND type <> 14
|
||||||
ORDER BY date DESC LIMIT 10;', ['id_wallet' => $wallet_user->id]);
|
ORDER BY date DESC LIMIT 10;', ['id_wallet' => $wallet_user->id]);
|
||||||
|
|
||||||
foreach ($transactions as $data){
|
foreach ($transactions as $data){
|
||||||
|
$data->operation = app()->isLocale('en') ? $data->operation_en : $data->operation_fr;
|
||||||
$date = $data->date;
|
$date = $data->date;
|
||||||
unset($data->date);
|
unset($data->date);
|
||||||
|
|
||||||
|
@ -1032,21 +1050,22 @@ class iLinkTransactionController extends Controller
|
||||||
$data->final_country = $data->pays_final;
|
$data->final_country = $data->pays_final;
|
||||||
$data->reseau_payeur = isset($data->network_destinataire) ? $this->getNetworkName($data->network_destinataire).' '.$data->final_country : null;
|
$data->reseau_payeur = isset($data->network_destinataire) ? $this->getNetworkName($data->network_destinataire).' '.$data->final_country : null;
|
||||||
$data->date = $date;
|
$data->date = $date;
|
||||||
unset($data->type, $data->destinataire_name, $data->id_wallet_user,$data->network_destinataire,$data->nom_destinataire, $data->prenom_destinataire ,$data->taxe,$data->numero_carte,
|
unset($data->type, $data->destinataire_name, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
||||||
$data->montant_net_final_country, $data->montant_net,$data->pays_init, $data->pays_final ,$data->id_destinataire ,$data->destinataire_phone);
|
$data->montant_net_final_country, $data->montant_net, $data->pays_init, $data->pays_final, $data->id_destinataire, $data->destinataire_phone, $data->operation_fr, $data->operation_en);
|
||||||
}
|
}
|
||||||
return $this->successResponse($transactions);
|
return $this->successResponse($transactions);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function lastAgentTransactions($id_wallet_agent)
|
public function lastAgentTransactions($id_wallet_agent)
|
||||||
{
|
{
|
||||||
$transactions = DB::select('SELECT wit.id_transaction, tit.nom as operation , wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
$transactions = DB::select('SELECT wit.id_transaction, tit.nom as operation_fr , tit.name as operation_en, wit.montant ,wit.nom_emetteur, wit.prenom_emetteur, wit.id_wallet_user,wit.frais,wit.taxe,wit.id_destinataire,
|
||||||
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
wit.nom_destinataire, wit.prenom_destinataire, wit.type , wit.id_wallet_user, wit.init_country, wit.final_country , wit.network_destinataire , wit.montant_net_final_country ,
|
||||||
wit.date , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
wit.date , wit.id , wit.numero_carte, wit.montant_net FROM wallet_ilink_transaction wit
|
||||||
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.id_wallet_ag = :id_wallet
|
INNER JOIN type_ilink_transaction tit ON wit.type = tit.id WHERE wit.id_wallet_ag = :id_wallet
|
||||||
ORDER BY wit.date DESC LIMIT 10;', ['id_wallet' => $id_wallet_agent]);
|
ORDER BY wit.date DESC LIMIT 10;', ['id_wallet' => $id_wallet_agent]);
|
||||||
|
|
||||||
foreach ($transactions as $data){
|
foreach ($transactions as $data){
|
||||||
|
$data->operation = app()->isLocale('en') ? $data->operation_en : $data->operation_fr;
|
||||||
$date = $data->date;
|
$date = $data->date;
|
||||||
unset($data->date);
|
unset($data->date);
|
||||||
$wallet_user = isset($data->id_wallet_user) ? WalletsUser::findOrFail($data->id_wallet_user) : null ;
|
$wallet_user = isset($data->id_wallet_user) ? WalletsUser::findOrFail($data->id_wallet_user) : null ;
|
||||||
|
@ -1066,8 +1085,8 @@ class iLinkTransactionController extends Controller
|
||||||
$data->final_country = $data->montant_net_final_country ? $this->getCountryName($data->final_country) : '';
|
$data->final_country = $data->montant_net_final_country ? $this->getCountryName($data->final_country) : '';
|
||||||
$data->reseau_payeur = isset($data->network_destinataire) ? $this->getNetworkName($data->network_destinataire) . ' ' . $data->final_country : null;
|
$data->reseau_payeur = isset($data->network_destinataire) ? $this->getNetworkName($data->network_destinataire) . ' ' . $data->final_country : null;
|
||||||
$data->date = $date;
|
$data->date = $date;
|
||||||
unset($data->type, $data->id_wallet_user, $data->network_destinataire,$data->nom_destinataire, $data->prenom_destinataire ,$data->taxe,$data->numero_carte,
|
unset($data->type, $data->id_wallet_user, $data->network_destinataire, $data->nom_destinataire, $data->prenom_destinataire, $data->taxe, $data->numero_carte,
|
||||||
$data->montant_net_final_country, $data->montant_net,$data->nom_emetteur, $data->prenom_emetteur ,$data->id_destinataire);
|
$data->montant_net_final_country, $data->montant_net, $data->nom_emetteur, $data->prenom_emetteur, $data->id_destinataire, $data->operation_fr, $data->operation_en);
|
||||||
}
|
}
|
||||||
return $this->successResponse($transactions);
|
return $this->successResponse($transactions);
|
||||||
}
|
}
|
||||||
|
@ -1456,4 +1475,34 @@ class iLinkTransactionController extends Controller
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Recevoir le traitement d'une transaction venant d'un reseau payeur
|
||||||
|
public function receiveRequestProcessingResult(Request $request)
|
||||||
|
{
|
||||||
|
$this->validate($request, [
|
||||||
|
'id_transaction' => 'required',
|
||||||
|
'status' => 'required|in:NON_TRAITEE,TRAITEE'
|
||||||
|
]);
|
||||||
|
$transaction = WalletIlinkTransaction::where('id_transaction', $request->id_transaction)->firstOrFail();
|
||||||
|
if (!in_array($transaction->type, [1, 3, 17]))
|
||||||
|
return $this->errorResponse(trans('errors.forbidden'));
|
||||||
|
|
||||||
|
if ($transaction->status_reseau_payeur != 'EN_COURS')
|
||||||
|
return $this->errorResponse(trans('errors.request_already_processed'));
|
||||||
|
// modifier l'etat et mettre les comptes comissions et compensatios du reseau payeur
|
||||||
|
|
||||||
|
$transaction->status_reseau_payeur = $request->status;
|
||||||
|
if ($request->status == 'TRAITEE') {
|
||||||
|
//Mise a jour des comissions et compensation
|
||||||
|
$config = ConfigWallet::where('id_network', $transaction->network_emetteur)->firstOrFail();
|
||||||
|
$reseauPayeur = PayingNetwork::where('id_network', $transaction->network_destinataire)->where('id_configWallet', $config->id)->firstOrFail();
|
||||||
|
|
||||||
|
$reseauPayeur->balance_com += $transaction->part_reseau_payeur_final_country;
|
||||||
|
$reseauPayeur->balance_compensation += $transaction->montant_net_final_country;
|
||||||
|
$reseauPayeur->save();
|
||||||
|
}
|
||||||
|
$transaction->save();
|
||||||
|
return $this->successResponse(trans('messages.success_treated_demand'));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Reliese Model.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Carbon\Carbon;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Agent
|
||||||
|
*
|
||||||
|
* @property int $id
|
||||||
|
* @property string $uid
|
||||||
|
* @property string|null $firstname
|
||||||
|
* @property string|null $lastname
|
||||||
|
* @property string|null $email
|
||||||
|
* @property float|null $longitude
|
||||||
|
* @property float|null $latitude
|
||||||
|
* @property string $adresse
|
||||||
|
* @property float|null $balance
|
||||||
|
* @property string|null $encrypted_password
|
||||||
|
* @property string|null $salt
|
||||||
|
* @property int|null $active
|
||||||
|
* @property Carbon|null $date_created
|
||||||
|
* @property Carbon|null $open_hours
|
||||||
|
* @property Carbon|null $close_hours
|
||||||
|
* @property int $town_id
|
||||||
|
* @property int|null $number_super
|
||||||
|
* @property int|null $number_geoBysuper
|
||||||
|
*
|
||||||
|
* @property Town $town
|
||||||
|
*
|
||||||
|
* @package App\Models
|
||||||
|
*/
|
||||||
|
class Agent extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'agents';
|
||||||
|
public $timestamps = false;
|
||||||
|
|
||||||
|
protected $casts = [
|
||||||
|
'longitude' => 'float',
|
||||||
|
'latitude' => 'float',
|
||||||
|
'balance' => 'float',
|
||||||
|
'active' => 'int',
|
||||||
|
'town_id' => 'int',
|
||||||
|
'number_super' => 'int',
|
||||||
|
'number_geoBysuper' => 'int'
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $dates = [
|
||||||
|
'date_created',
|
||||||
|
'open_hours',
|
||||||
|
'close_hours'
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $hidden = [
|
||||||
|
'encrypted_password'
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'uid',
|
||||||
|
'firstname',
|
||||||
|
'lastname',
|
||||||
|
'email',
|
||||||
|
'longitude',
|
||||||
|
'latitude',
|
||||||
|
'adresse',
|
||||||
|
'balance',
|
||||||
|
'encrypted_password',
|
||||||
|
'salt',
|
||||||
|
'active',
|
||||||
|
'date_created',
|
||||||
|
'open_hours',
|
||||||
|
'close_hours',
|
||||||
|
'town_id',
|
||||||
|
'number_super',
|
||||||
|
'number_geoBysuper'
|
||||||
|
];
|
||||||
|
|
||||||
|
public function town()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Town::class);
|
||||||
|
}
|
||||||
|
}
|
|
@ -39,6 +39,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||||
* @property float $part_reseau_emetteur
|
* @property float $part_reseau_emetteur
|
||||||
* @property float $part_reseau_payeur
|
* @property float $part_reseau_payeur
|
||||||
* @property float $part_reseau_payeur_final_country
|
* @property float $part_reseau_payeur_final_country
|
||||||
|
* @property string status_reseau_payeur
|
||||||
* @property string $numero_carte
|
* @property string $numero_carte
|
||||||
* @property Carbon $expiration_date
|
* @property Carbon $expiration_date
|
||||||
* @property int $init_country
|
* @property int $init_country
|
||||||
|
@ -132,6 +133,7 @@ class WalletIlinkTransaction extends Model
|
||||||
'part_reseau_emetteur',
|
'part_reseau_emetteur',
|
||||||
'part_reseau_payeur',
|
'part_reseau_payeur',
|
||||||
'part_reseau_payeur_final_country',
|
'part_reseau_payeur_final_country',
|
||||||
|
'status_reseau_payeur',
|
||||||
'numero_carte',
|
'numero_carte',
|
||||||
'expiration_date',
|
'expiration_date',
|
||||||
'init_country',
|
'init_country',
|
||||||
|
@ -217,7 +219,7 @@ class WalletIlinkTransaction extends Model
|
||||||
'nom_destinataire'=>'required',
|
'nom_destinataire'=>'required',
|
||||||
'prenom_destinataire'=>'required',
|
'prenom_destinataire'=>'required',
|
||||||
'type_document_destinataire'=>'required',
|
'type_document_destinataire'=>'required',
|
||||||
'id_document_destinataire'=>'required'
|
// 'id_document_destinataire'=>'required'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,7 +234,7 @@ class WalletIlinkTransaction extends Model
|
||||||
return [
|
return [
|
||||||
'final_country' =>'required|integer|min:0|not_in:0',
|
'final_country' =>'required|integer|min:0|not_in:0',
|
||||||
'type_document_destinataire'=>'required',
|
'type_document_destinataire'=>'required',
|
||||||
'id_document_destinataire'=>'required',
|
// 'id_document_destinataire'=>'required',
|
||||||
'id_destinataire' =>'required_without:phone_destinataire',
|
'id_destinataire' =>'required_without:phone_destinataire',
|
||||||
'network_destinataire'=>'required|integer|min:0|not_in:0',
|
'network_destinataire'=>'required|integer|min:0|not_in:0',
|
||||||
];
|
];
|
||||||
|
@ -244,7 +246,7 @@ class WalletIlinkTransaction extends Model
|
||||||
'nom_destinataire'=>'required',
|
'nom_destinataire'=>'required',
|
||||||
'prenom_destinataire'=>'required',
|
'prenom_destinataire'=>'required',
|
||||||
'type_document_destinataire'=>'required',
|
'type_document_destinataire'=>'required',
|
||||||
'id_document_destinataire'=>'required',
|
// 'id_document_destinataire'=>'required',
|
||||||
'id_destinataire' =>'required_without:phone_destinataire',
|
'id_destinataire' =>'required_without:phone_destinataire',
|
||||||
'network_destinataire'=>'required|integer|min:0|not_in:0',
|
'network_destinataire'=>'required|integer|min:0|not_in:0',
|
||||||
];
|
];
|
||||||
|
|
|
@ -17,6 +17,7 @@ use App\Models\User;
|
||||||
use App\Models\UsersDemandesCredit;
|
use App\Models\UsersDemandesCredit;
|
||||||
use App\Models\Wallet;
|
use App\Models\Wallet;
|
||||||
use App\Models\WalletAgent;
|
use App\Models\WalletAgent;
|
||||||
|
use App\Models\WalletIlinkTransaction;
|
||||||
use App\Models\WalletsUser;
|
use App\Models\WalletsUser;
|
||||||
use Brick\Math\RoundingMode;
|
use Brick\Math\RoundingMode;
|
||||||
use Brick\Money\Context\AutoContext;
|
use Brick\Money\Context\AutoContext;
|
||||||
|
@ -383,4 +384,42 @@ trait Helper
|
||||||
return $title . "\n" . $message;
|
return $title . "\n" . $message;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function sendFrame($paying_network_url, WalletIlinkTransaction $transaction)
|
||||||
|
{
|
||||||
|
$client = new \GuzzleHttp\Client();
|
||||||
|
|
||||||
|
$trame = new \stdClass();
|
||||||
|
$trame->ID = $transaction->id_transaction;
|
||||||
|
|
||||||
|
if (isset($transaction->id_wallet_user)) {
|
||||||
|
$wallet_user = collect(DB::select("SELECT * FROM wallet_user WHERE id_wallet = :id",
|
||||||
|
['id' => $transaction->id_wallet_user]))->first();
|
||||||
|
$identification = Identification::where('id_user', $wallet_user->id)->firstOrFail();
|
||||||
|
|
||||||
|
$trame->id_emetteur = $wallet_user->user_code;
|
||||||
|
$trame->type_document_emetteur = $identification->identity_document;
|
||||||
|
$trame->id_document_emetteur = $identification->id_identity_document;
|
||||||
|
$trame->prenom_emetteur = $identification->firstname;
|
||||||
|
$trame->nom_emetteur = $identification->lastname;
|
||||||
|
$trame->email_emetteur = $wallet_user->email;
|
||||||
|
} else {
|
||||||
|
$trame->type_document_emetteur = $transaction->type_document_emetteur;
|
||||||
|
$trame->id_document_emetteur = $transaction->id_document_emetteur;
|
||||||
|
$trame->prenom_emetteur = $transaction->prenom_emetteur;
|
||||||
|
$trame->nom_emetteur = $transaction->nom_emetteur;
|
||||||
|
$trame->email_emetteur = $transaction->email_emetteur;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$trame->id_destinataire = $transaction->id_destinataire;
|
||||||
|
$trame->type_document_destinataire = $transaction->type_document_destinataire;
|
||||||
|
$trame->id_document_destinataire = $transaction->id_document_destinataire;
|
||||||
|
$trame->montant = $transaction->montant_net_final_country;
|
||||||
|
$trame->currency = CountriesCurrency::findOrFail($transaction->final_country)->currency_code;
|
||||||
|
|
||||||
|
return $client->request('POST', $paying_network_url, ['json' => $trame]);
|
||||||
|
|
||||||
|
// return $response->getBody()->getContents();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,4 +66,6 @@ Paying network : :network :country',
|
||||||
"international_daily_regulations_limits_reached" => "You have reached your international daily limit.",
|
"international_daily_regulations_limits_reached" => "You have reached your international daily limit.",
|
||||||
"international_weekly_regulations_limits_reached" => "You have reached your international weekly limit.",
|
"international_weekly_regulations_limits_reached" => "You have reached your international weekly limit.",
|
||||||
"international_monthly_regulations_limits_reached" => "You have reached your international monthly limit.",
|
"international_monthly_regulations_limits_reached" => "You have reached your international monthly limit.",
|
||||||
|
"forbidden" => 'Forbidden',
|
||||||
|
"request_already_processed" => "This request has already been processed",
|
||||||
];
|
];
|
||||||
|
|
|
@ -244,4 +244,7 @@ Savings Information :
|
||||||
- Net amount saved : :net",
|
- Net amount saved : :net",
|
||||||
"successful_broken_saving" => "Broken savings",
|
"successful_broken_saving" => "Broken savings",
|
||||||
"reload_your_account" => "The repayment of nano credit failed for insufficient balance, please recharge your account",
|
"reload_your_account" => "The repayment of nano credit failed for insufficient balance, please recharge your account",
|
||||||
|
"successful_password_update" => "Your password has been updated successfully.",
|
||||||
|
"your_new_password" => "Your new password is: password.",
|
||||||
|
"password_update" => "Update your password",
|
||||||
];
|
];
|
||||||
|
|
|
@ -66,4 +66,6 @@ Réseau payeur : :network :country',
|
||||||
"international_daily_regulations_limits_reached" => "Vous avez atteint votre limite journalière internationale.",
|
"international_daily_regulations_limits_reached" => "Vous avez atteint votre limite journalière internationale.",
|
||||||
"international_weekly_regulations_limits_reached" => "Vous avez atteint votre limite hebdomadaire internationale.",
|
"international_weekly_regulations_limits_reached" => "Vous avez atteint votre limite hebdomadaire internationale.",
|
||||||
"international_monthly_regulations_limits_reached" => "Vous avez atteint votre limite mensuelle internationale.",
|
"international_monthly_regulations_limits_reached" => "Vous avez atteint votre limite mensuelle internationale.",
|
||||||
|
"forbidden" => "Interdit d'access",
|
||||||
|
"request_already_processed" => "Cette requete a déja ete traitée",
|
||||||
];
|
];
|
||||||
|
|
|
@ -246,4 +246,7 @@ Informations sur l'epargne :
|
||||||
",
|
",
|
||||||
"successful_broken_saving" => "Epargne cassée",
|
"successful_broken_saving" => "Epargne cassée",
|
||||||
"reload_your_account" => "Le remboursement de nano credit a echoué pour solde insuffisant, veuillez recharger votre compte.",
|
"reload_your_account" => "Le remboursement de nano credit a echoué pour solde insuffisant, veuillez recharger votre compte.",
|
||||||
|
"successful_password_update" => "Votre mot de passe a été mis à jour avec succès.",
|
||||||
|
"your_new_password" => "Votre nouveau mot de passe est :password.",
|
||||||
|
"password_update" => "Mise à jour de votre mot de passe"
|
||||||
];
|
];
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
// return $router->app->version();
|
// return $router->app->version();
|
||||||
//});
|
//});
|
||||||
// Helper routes
|
// Helper routes
|
||||||
|
$router->post('update_password', 'UserController@updatePassword');
|
||||||
$router->get('agent_codes/{agent_code}', 'HelperController@agentCodes');
|
$router->get('agent_codes/{agent_code}', 'HelperController@agentCodes');
|
||||||
$router->get('countries', 'HelperController@countries');
|
$router->get('countries', 'HelperController@countries');
|
||||||
$router->get('countries/{dial_code}','HelperController@country');
|
$router->get('countries/{dial_code}','HelperController@country');
|
||||||
|
@ -36,7 +37,8 @@ $router->group(['prefix' => '/transactions'] , function () use ($router){
|
||||||
$router->get('user/{id_wallet_user}','iLinkTransactionController@lastUserTransactions');
|
$router->get('user/{id_wallet_user}','iLinkTransactionController@lastUserTransactions');
|
||||||
$router->get('agent/{id_wallet_agent}','iLinkTransactionController@lastAgentTransactions');
|
$router->get('agent/{id_wallet_agent}','iLinkTransactionController@lastAgentTransactions');
|
||||||
$router->post('check_retraits','iLinkTransactionController@getTransactionRetrait');
|
$router->post('check_retraits','iLinkTransactionController@getTransactionRetrait');
|
||||||
$router->delete('{id_transaction}','iLinkTransactionController@cancel');
|
$router->delete('{id_transaction}', 'iLinkTransactionController@cancel');
|
||||||
|
$router->post('receive_request_processing_result', 'iLinkTransactionController@receiveRequestProcessingResult');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -64,6 +66,8 @@ $router->group(['prefix' => '/wallets'] , function () use ($router){
|
||||||
// Wallets users iLink
|
// Wallets users iLink
|
||||||
$router->group(['prefix' => '/users'], function () use ($router) {
|
$router->group(['prefix' => '/users'], function () use ($router) {
|
||||||
$router->get('{id_user}', 'WalletController@showWalletUser');
|
$router->get('{id_user}', 'WalletController@showWalletUser');
|
||||||
|
//Liste des banques
|
||||||
|
$router->get('banks/{id_wallet_network}', 'WalletController@getWalletBanks');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue