Un port, pas un SDK
Le coeur du module est une interface, PaymentGateway. Toutes les opérations dont l'app a besoin pour encaisser y sont déclarées: créer un client, capturer une carte sans débit, créer une intention de paiement, ouvrir un checkout hébergé, prélever hors session, vérifier un webhook. Les routes, les crons et les pages publiques dépendent de cette interface, jamais de stripe.* en dur. Ajouter un provider, c'est écrire une classe qui implémente le port et l'enregistrer, sans toucher au reste.