Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
E-commerce #6 : Simulation de paiement
En vrai, le paiement passe par une API externe (Stripe, PayPal...). Ici on simule les regles metier de differents moyens de paiement.
Chaque moyen de paiement a ses limites : - Carte bancaire : maximum 1000 euros - PayPal : maximum 500 euros - Virement : pas de limite
Crée une classe ProcesseurPaiement avec : - __init__(self, mode) : mode peut etre 'carte', 'paypal' ou 'virement' - payer(montant, commande) -> bool : - Si montant <= 0 : refuse (retourne False) - Si carte et montant >= 1000 : refuse - Si paypal et montant >= 500 : refuse - Virement : accepte toujours - Si accepte : met commande.statut = 'payee' et retourne True - Sinon : retourne False
Exemple : c = Commande() pp = ProcesseurPaiement('carte') pp.payer(Decimal('99'), c) # True, c.statut = 'payee' pp.payer(Decimal('1500'), c) # False
Tests (2/4)
Carte OK
from decimal import Decimal
c = Commande()
pp = ProcesseurPaiement('carte')
assert pp.payer(Decimal('99'), c) == True
assert c.statut == 'payee'
Carte refusee
from decimal import Decimal
c = Commande()
pp = ProcesseurPaiement('carte')
assert pp.payer(Decimal('1500'), c) == False
assert c.statut != 'payee'