0% ont trouvé ce document utile (0 vote)
10 vues2 pages

TP Interface

Le document décrit le développement d'un système de traitement de paiements pour une boutique en ligne, nécessitant la création d'une interface IPaiement et de classes concrètes pour différents modes de paiement. Il inclut des spécifications pour chaque type de paiement, telles que les règles métier et les propriétés requises. Enfin, un gestionnaire de paiements est proposé pour gérer les transactions et un programme de test pour valider le système.

Transféré par

pantewills1
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues2 pages

TP Interface

Le document décrit le développement d'un système de traitement de paiements pour une boutique en ligne, nécessitant la création d'une interface IPaiement et de classes concrètes pour différents modes de paiement. Il inclut des spécifications pour chaque type de paiement, telles que les règles métier et les propriétés requises. Enfin, un gestionnaire de paiements est proposé pour gérer les transactions et un programme de test pour valider le système.

Transféré par

pantewills1
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exercice : Système de Traitement de Paiements

Contexte
Vous développez un système de paiement pour une boutique en ligne qui doit supporter
différents moyens de paiement. L'objectif est de créer une architecture flexible permettant
d'ajouter facilement de nouveaux modes de paiement.

Ainsi vous devez créer une interface IPaiement et l'utiliser pour standardiser le traitement
des différents types de paiements.

Partie 1 : Création de l'interface

Créez une interface nommée IPaiement qui définit les méthodes suivantes :

 bool EffectuerPaiement(decimal montant) : pour traiter un paiement


 string ObtenirStatut() : pour connaître l'état du paiement
 void AnnulerPaiement() : pour annuler une transaction

Partie 2 : Implémentation des classes

Implémentez trois classes concrètes qui réalisent cette interface :

1. PaiementCarteBancaire
o Propriétés : NumeroCarte (string), DateExpiration (DateTime),
Cryptogramme (string)
o Règles métier :
 Montant maximum : 5000€ par transaction
 La carte ne doit pas être expirée
 Le cryptogramme doit faire 3 caractères
2. PaiementPayPal
o Propriétés : Email (string)
o Règles métier :
 Montant maximum : 2000€ par transaction
 L'email doit être au format valide (contient @ et .)
 Simulation d'une connexion au compte PayPal
3. PaiementCryptomonnaie
o Propriétés : AdressePortefeuille (string), TypeCrypto (enum Bitcoin,
Ethereum, Litecoin)
o Règles métier :
 Frais de transaction : 1% pour Bitcoin, 2% pour Ethereum, 1.5% pour
Litecoin
 L'adresse du portefeuille ne doit pas être vide
 Simulation d'une confirmation sur la blockchain

Partie 3 : Gestionnaire de paiements

Créez une classe GestionnairePaiements qui doit :


 Permettre d'ajouter différents moyens de paiement (qui implémentent tous
IPaiement)
 Proposer une méthode TraiterPaiements(decimal montant) qui tente chaque
moyen de paiement jusqu'à ce qu'un paiement réussisse
 Maintenir un historique des 10 dernières transactions (réussies ou échouées)
 Permettre d'annuler la dernière transaction réussie

Partie 4 : Programme de test

Créez un programme principal qui :

1. Crée différentes instances de paiement


2. Les ajoute au gestionnaire
3. Tente de traiter un paiement de 1500€
4. Affiche le statut de chaque tentative
5. Affiche l'historique des transactions
6. Annule le paiement si réussi et vérifie le nouveau statut

Vous aimerez peut-être aussi