'float', 'montant_depot' => 'float', 'montant_retrait' => 'float', 'status_retrait' => 'int', 'network_destinataire' => 'int', 'network_emetteur' => 'int', 'frais' => 'float', 'taxe' => 'float', 'part_reseau_emetteur' => 'float', 'part_reseau_payeur' => 'float', 'init_country' => 'int', 'final_country' => 'int', 'commission_banque' => 'float', 'commission_ag' => 'float', 'commission_sup' => 'float', 'commission_hyp' => 'float', 'id_wallet_user' => 'int', 'id_wallet_ag' => 'int', 'id_wallet_sup' => 'int', 'id_wallet_hyp' => 'int', 'canceled' => 'int', 'type' => 'int' ]; protected $dates = [ 'date_retrait', 'expiration_date', 'date' ]; protected $fillable = [ 'montant', 'montant_depot', 'montant_retrait', 'encrypted_code_retrait', 'code_retrait_salt', 'status_retrait', 'date_retrait', 'id_destinataire', 'type_id_destinataire', 'network_destinataire', 'type_document_destinataire', 'id_document_destinataire', 'nom_destinataire', 'prenom_destinataire', 'nom_emetteur', 'prenom_emetteur', 'email_emetteur', 'network_emetteur', 'type_document_emetteur', 'id_document_emetteur', 'frais', 'taxe', 'part_reseau_emetteur', 'part_reseau_payeur', 'numero_carte', 'expiration_date', 'init_country', 'final_country', 'commission_banque', 'commission_ag', 'commission_sup', 'commission_hyp', 'id_wallet_user', 'id_wallet_ag', 'id_wallet_sup', 'id_wallet_hyp', 'canceled', 'type', 'date' ]; public function country() { return $this->belongsTo(Country::class, 'final_country'); } public function wallet() { return $this->belongsTo(Wallet::class, 'id_wallet_sup'); } public function wallets_user() { return $this->belongsTo(WalletsUser::class, 'id_wallet_user'); } public function type_ilink_transaction() { return $this->belongsTo(TypeIlinkTransaction::class, 'type'); } public function network() { return $this->belongsTo(Network::class, 'network_emetteur'); } // Regles de validation //Envoi de cash vers wallet iLink public function cash_wallet_rules() { return [ 'user_code'=>'required', 'init_country' =>'required|integer|min:0|not_in:0', 'final_country' =>'required|integer|min:0|not_in:0', ]; } public function card_rules() { return [ 'numero_carte'=>'required', 'cvv'=>'required_if:facade,front|size:3', 'expiration_date'=>'required_if:facade,front|date_format:m/y|after_or_equal:today', ]; } public function cash_cash_rules() { return [ 'init_country' =>'required|integer|min:0|not_in:0', 'final_country' =>'required|integer|min:0|not_in:0', 'nom_emetteur'=>'required', 'prenom_emetteur'=>'required', 'type_document_emetteur'=>'required', 'id_document_emetteur'=>'required', 'nom_destinataire'=>'required', 'prenom_destinataire'=>'required', 'type_document_destinataire'=>'required', 'id_document_destinataire'=>'required', 'id_destinataire' => 'required', ]; } public function remove_cash_rules(){ return [ 'id_transaction' =>'required|integer|min:0|not_in:0', 'code_retrait' =>'required|size:16', ]; } public function send_wallet_wallet_rules(){ return [ 'init_country' =>'required|integer|min:0|not_in:0', 'final_country' =>'required|integer|min:0|not_in:0', 'id_destinataire' =>'required|integer|min:0|not_in:0', 'network_destinataire'=>'required|integer|min:0|not_in:0', ]; } }