+ Add new route : cacul de commission
This commit is contained in:
parent
17e39a5982
commit
43fde01352
|
@ -154,4 +154,29 @@ class TransactionController extends Controller
|
|||
->get(['id', 'montant' ,'numCarte' ,'commission_ag', 'type' ,'date']);
|
||||
return $this->successResponse($transactions);
|
||||
}
|
||||
|
||||
public function calculateCommission(Request $request)
|
||||
{
|
||||
$rules = [
|
||||
'id_wallet' => 'required|integer|min:1',
|
||||
'montant'=> 'required|numeric|min:0|not_in:0',
|
||||
'type' =>'required|in:credit,debit',
|
||||
];
|
||||
|
||||
$this->validate($request,$rules);
|
||||
|
||||
$walletAgent = Wallet::findOrFail($request->get('id_wallet'));
|
||||
$network_agent = NetworksAgent::findOrFail( $walletAgent->id_networkAgent);
|
||||
// Configuratrion du wallet
|
||||
$config = ConfigWallet::where('id_network',$network_agent->network_id)->firstOrFail();
|
||||
$commission = null;
|
||||
if($request->type == 'credit') {
|
||||
$commission = ( $request->montant * $config->taux_com_client_depot / 100 ) + $config->frais_min_banque_depot;
|
||||
}elseif ($request->type == 'debit'){
|
||||
$commission = $request->montant * $config->taux_com_client_retrait / 100 ;
|
||||
}
|
||||
$data['montant_calcule'] = $request->montant - $commission;
|
||||
$data['commission'] = $commission ;
|
||||
return $this->successResponse($data);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@ class WalletTransaction extends Model
|
|||
public function rules()
|
||||
{
|
||||
return [
|
||||
'montant'=> 'required|numeric|min:1',
|
||||
'montant'=> 'required|numeric|min:0|not_in:0',
|
||||
'numCarte'=>'required|integer',
|
||||
'cvv'=>'required|integer|min:100|max:9999',
|
||||
'expiration_date'=>'required|date_format:m/y|after_or_equal:today',
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
$router->group(['prefix' => '/transactions'] , function () use ($router){
|
||||
$router->post('','TransactionController@add');
|
||||
$router->get('{id_wallet}','TransactionController@lastTransactions');
|
||||
$router->post('commission','TransactionController@calculateCommission');
|
||||
});
|
||||
|
||||
// Credits routes
|
||||
|
|
Loading…
Reference in New Issue