'float', 'commission_banque' => 'float', 'commission_ag' => 'float', 'commission_sup' => 'float', 'commission_hyp' => 'float', 'id_wallet' => 'int', 'id_wallet_sup' => 'int', 'id_wallet_hyp' => 'int' ]; protected $dates = [ 'date', 'expiration_date' ]; protected $fillable = [ 'montant', 'numCarte', 'expiration_date', 'commission_banque', 'commission_ag', 'commission_sup', 'commission_hyp', 'type', 'date', 'statut', 'result', 'id_wallet', 'id_wallet_sup', 'id_wallet_hyp', 'canceled' ]; public function wallet() { return $this->belongsTo(Wallet::class, 'id_wallet'); } public function wallet_sup() { return $this->belongsTo(Wallet::class, 'id_wallet_sup'); } public function wallet_hyp() { return $this->belongsTo(Wallet::class, 'id_wallet_hyp'); } // public function getTaxeAttribute($value) // { // return ucfirst($value); // } // // public function setTaxeAttribute($value) // { // $this->attributes['taxe'] = (int) $value; // } public function rules() { //Verifier si ce sont les infos de la face avant ou arriere de la carte qui sont envoyés // front -> Face avant : Numero de carte , cvv , etc... // back -> Face arriere : Numero de serie return [ 'facade'=>'required|in:front,back', 'montant'=> 'required|numeric|min:0|not_in:0', 'numCarte'=>'required', 'cvv'=>'required_if:facade,front|size:3', 'expiration_date'=>'required_if:facade,front|date_format:m/y|after_or_equal:today', 'type' =>'required|in:credit,debit', 'id_wallet' => 'required|integer|min:0|not_in:0' ]; } }