ADR-012 - Stripe pour la gestion des paiements
- Statut : Accepté
- Date : 2026-04-05
Contexte
Cerops inclut une marketplace où des services et produits agricoles peuvent être échangés. La plateforme doit gérer des abonnements et/ou des transactions entre utilisateurs. Le traitement des paiements est un domaine sensible qui nécessite conformité PCI-DSS, gestion des remboursements et des litiges.
Décision
Nous utilisons Stripe comme solution de paiement, intégré via le plugin @better-auth/stripe côté serveur.
Alternatives considérées
- PayPal : notoriété internationale, mais API moins développeur-friendly et intégration plus complexe
- Mollie : bonne alternative européenne, APIs modernes, mais écosystème de plugins moins riche
- Paiement custom : contrôle total, mais développement long, conformité PCI-DSS à gérer manuellement — risque de sécurité majeur
- LemonSqueezy : solution SaaS tout-en-un pour les abonnements, mais moins flexible pour une marketplace B2B
Conséquences
- Conformité PCI-DSS déléguée à Stripe : les données de carte ne transitent jamais par nos serveurs
- Gestion des abonnements, des remboursements et des webhooks via l’API Stripe
- Intégration simplifiée via
@better-auth/stripequi synchronise les abonnements avec les sessions utilisateurs - Stripe Elements / Stripe.js pour les formulaires de paiement côté client
- Commission Stripe sur chaque transaction (1.4% + 0.25€ pour les cartes européennes) — à intégrer dans la politique tarifaire
- Dépendance forte à un service tiers : une panne Stripe impacte directement les paiements de la plateforme
- Les paiements sont en euros par défaut — la gestion multi-devises nécessiterait une configuration supplémentaire
- Les webhooks Stripe nécessitent un endpoint public accessible — à prévoir dans l’infrastructure de déploiement