Retour aux projets
PluginIdéeCas d'étude

better-auth-subscription — Plans d abonnement avec provider manuel

Plugin Better Auth pour gérer des plans d abonnement avec un provider de paiement manuel : soumission de preuve de paiement et approbation par les admins.

Plugin pour Better Auth qui ajoute la gestion de plans d abonnement payants avec un provider de paiement « manuel » : l utilisateur souscrit, soumet une preuve de paiement (virement, mobile money…), et un admin approuve ou rejette depuis le back-office. Le statut d abonnement est exposé dans la session et contrôlable côté serveur.

Stack technique

Vue  · client réactifTypeScript  · langageDrizzle ORM  · ORM des tables d abonnement

Détails du plugin

Framework ciblé
Better Auth
Version minimale
1.3
Canal de distribution
npm
Nom du package
better-auth-subscription-plans
Points d'extension
Hooks betterAuth() : databaseHooks.user/session, endpoints personnalisés /subscription/*, plugin client react, middleware de contrôle d accès
Permissions
Accès en écriture aux tables subscription et payment_proof de l application hôte

Feuille de route

  1. 1

    Étude de l'hôte

    À faire

    Analyse du framework cible : points d'extension, hooks, contraintes

  2. 2

    Conception du plugin

    À faire

    API du plugin, système d'extension, manifest

  3. 3

    Développement

    À faire

    Implémentation des fonctionnalités du plugin

  4. 4

    Tests

    À faire

    Tests unitaires et matrice de compatibilité avec les versions de l'hôte

  5. 5

    Packaging

    À faire

    Build, manifest final, CHANGELOG, documentation d'installation

  6. 6

    Publication

    À faire

    Publication sur le canal de distribution (npm, marketplace…)

  7. 7

    Maintenance

    À faire

    Support, compatibilité avec les nouvelles versions de l'hôte

Artefacts de conception

Spécifications API

Spec — endpoints du plugin

Endpoints ajoutés par le plugin

MéthodeCheminRôle
POST/api/subscription/subscribeSouscrire à un plan (statut pending_proof)
POST/api/subscription/proofSoumettre une preuve de paiement
PATCH/api/admin/subscription/:id/approveApprobation admin (activation)
PATCH/api/admin/subscription/:id/rejectRejet admin avec motif

Décisions d'architecture

Provider manuel avec approbation humaine plutôt que passerelle de paiement

Décidé le 30 sept. 2026
Contexte

Les marchés cibles (Afrique de l Ouest) utilisent virement et mobile money, sans API de paiement fiable pour les micro-abonnements.

Options envisagées
  • Intégration Stripe (peu adopté localement)
  • Passerelles mobile money (coûts d intégration, couverture partielle)
  • Provider manuel avec preuve + approbation admin
Décision

Provider manuel : l utilisateur soumet une preuve, l admin approuve — comme le fait déjà le CMS pour les commandes de cours.

Conséquences

Activation non instantanée (délai admin) ; nécessite un back-office d approbation ; zéro dépendance à une passerelle.