Back to projects
PluginIdeaCase study

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.

Tech stack

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

Plugin details

Target framework
Better Auth
Minimum version
1.3
Distribution channel
npm
Package name
better-auth-subscription-plans
Extension points
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

Roadmap

  1. 1

    Étude de l'hôte

    To do

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

  2. 2

    Conception du plugin

    To do

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

  3. 3

    Développement

    To do

    Implémentation des fonctionnalités du plugin

  4. 4

    Tests

    To do

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

  5. 5

    Packaging

    To do

    Build, manifest final, CHANGELOG, documentation d'installation

  6. 6

    Publication

    To do

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

  7. 7

    Maintenance

    To do

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

Design artifacts

API specifications

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

Architecture decisions

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

Decided on Sep 30, 2026
Context

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

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

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

Consequences

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