Abonnements
AM gère le cycle de vie des abonnements Stripe pour les comptes, afin que vous vous concentriez sur la tarification et le contrôle d’accès plutôt que sur le traitement des webhooks.
Créez des sessions de checkout, laissez les clients gérer leurs offres et gardez l’accès aux comptes synchronisé avec Stripe.
Flux d’abonnement
Endpoints
| Endpoint | But |
|---|---|
POST /api/accounts/:account_id/subscriptions/stripe/checkout-session | Démarrer le checkout d’abonnement |
POST /api/accounts/:account_id/subscriptions/stripe/portal-session | Ouvrir le portail client |
POST /api/accounts/:account_id/subscriptions/stripe/checkout-session-sync | Synchroniser la session checkout vers l’abonnement |
POST /api/accounts/:account_id/subscriptions/sync | Synchroniser les abonnements depuis Stripe |
POST /api/accounts/:account_id/subscriptions/change | Changer d’offre ou de tarification |
POST /api/accounts/:account_id/subscriptions/cancel | Annuler l’abonnement |
GET /api/accounts/:account_id/subscriptions | Lister les abonnements |
GET /api/accounts/:account_id/subscriptions/features | Lister les fonctionnalités actives |
GET /api/accounts/:account_id/subscriptions/identity | Obtenir l’identité client Stripe |
POST /api/applications/:application_id/subscriptions/stripe/webhook | Récepteur webhook Stripe |
Session de checkout
Crée une session Stripe Checkout pour de nouveaux abonnements :
// Request
{
price_id: "price_...",
success_url: "https://app.example.com/success",
cancel_url: "https://app.example.com/cancel"
}
// Response
{
url: "https://checkout.stripe.com/..."
}
Redirigez les utilisateurs vers l’URL retournée. Après paiement, Stripe redirige vers votre URL de succès.
Portail client
Laissez les clients gérer eux-mêmes :
- Mise à jour du moyen de paiement
- Consultation des factures
- Annulation de l’abonnement
- Changement d’offre
// Request
{
return_url: "https://app.example.com/settings";
}
// Response
{
url: "https://billing.stripe.com/...";
}
Identité d’abonnement
Chaque compte possède une identité d’abonnement qui mappe le compte au client Stripe. Elle sert à résoudre les webhooks Stripe et à synchroniser l’état de facturation.
Événements webhook
AM traite les webhooks Stripe et réessaie en cas d’échec :
| Event | Action |
|---|---|
checkout.session.completed | Lier le client et créer l’abonnement |
customer.subscription.* | Synchroniser les données d’abonnement |
invoice.paid | Synchroniser la facture + mettre à jour l’accès |
invoice.payment_failed | Mettre à jour la fenêtre d’accès |