Aller au contenu principal
Documentation API

7 endpoints

Abonnements

Un lien de paiement envoyé par e-mail à chaque échéance, avec ses rappels, ses pauses et son historique.

Les intitulés et descriptions d'endpoints viennent du contrat OpenAPI, en anglais — ils ne peuvent pas diverger de l'API.

Commencer en mode test

Votre clé de test se crée depuis le portail, dès l’activation de votre compte.

En clair

Envoyer au même client un lien de paiement à intervalle régulier.

Quand l'utiliser

Pour tout revenu récurrent : abonnement mensuel, forfait, mensualisation d'une prestation.

Comment l'intégrer

  1. 1Créez l'abonnement pour un client existant — avec un e-mail valide : c'est là que part chaque échéance —, sa périodicité et son montant.
  2. 2À chaque échéance, ChariPay génère un lien de paiement à usage unique et l'envoie au client ; le premier paiement fait passer l'abonnement de INCOMPLETE à ACTIVE.
  3. 3Tant qu'une échéance est impayée, un rappel part chaque jour et aucune nouvelle période ne s'ouvre ; le lien reste payable 14 jours après l'échéance, puis l'abonnement est annulé — suivez subscription.payment_succeeded, subscription.payment_failed et subscription.canceled.
  4. 4Suspendez, reprenez ou résiliez selon la vie du contrat ; consultez les échéances pour votre facturation.
  5. 5En sandbox, une date de début au jour même ouvre la première échéance immédiatement ; une périodicité DAILY fait venir la suivante dès le lendemain.
POST

Reprendre un abonnement

Reprend le cycle de facturation d'un abonnement mis en pause. Les périodes écoulées pendant la pause ne sont pas facturées rétroactivement.

ChampTypeEmplacementRequisDescription
referencestringpathRequis
POST

Mettre un abonnement en pause

Suspend l'abonnement : aucune nouvelle période n'est ouverte et aucun lien de paiement n'est envoyé jusqu'à /resume.

ChampTypeEmplacementRequisDescription
referencestringpathRequis
POST

Annuler un abonnement

Met fin définitivement à l'abonnement. Aucun autre lien de paiement n'est généré.

ChampTypeEmplacementRequisDescription
referencestringpathRequis
GET

Lister les abonnements

Renvoie les abonnements de l'appelant pour l'environnement de la clé, sous forme de Page paginée.

ChampTypeEmplacementRequisDescription
originenumqueryOptionnelFiltrer par origine de création (API ou DASHBOARD).Valeurs APIDASHBOARD
pageablePageablequeryRequis
POST200

Créer un abonnement

Démarre un abonnement pour un client existant ; le statut renvoyé reste INCOMPLETE jusqu'au paiement de la première période. À chaque échéance, un lien de paiement à usage unique est généré pour la période et envoyé par e-mail au client, qui le règle sur le checkout hébergé avec 3DS. Tant qu'une période reste impayée, un rappel est envoyé chaque jour par e-mail et aucune période suivante n'est ouverte ; un lien resté impayé 14 jours après son échéance annule l'abonnement. Si la date de début est aujourd'hui ou antérieure, la première échéance est ouverte immédiatement et renvoyée dans currentCharge. Fournissez un externalId optionnel propre au client (unique par marchand) pour rendre la création idempotente : un externalId en double renvoie l'abonnement existant avec 200 OK.

Schéma · CreateSubscriptionRequest

ChampTypeEmplacementRequisDescription
clientIdstring (uuid)bodyRequisUUID du client à facturer (créez-le d'abord via /v1/clients). Le client doit avoir une adresse e-mail : le lien de paiement de chaque période y est envoyé.
amountnumberbodyRequisMontant du lien de paiement de chaque période, en unités principales de MAD.
descriptionstringbodyRequisDescription affichée sur chaque lien de paiement généré.
frequencyenumbodyRequisPériodicité de facturation.Valeurs DAILYWEEKLYMONTHLYYEARLY
startDatestring (date)bodyRequisDate de la première période de facturation (YYYY-MM-DD).
endDatestring (date)bodyOptionnelDate de fin facultative ; sans limite si omise.
channelsarray of enumbodyRequisCanaux utilisés pour envoyer au client le lien de paiement de chaque période. EMAIL est le canal pris en charge.
externalIdstringbodyOptionnelVotre identifiant d'abonnement, unique par marchand et par environnement. Créer un abonnement avec un externalId déjà existant renvoie l'abonnement existant. Il est renvoyé tel quel dans ExternalId de chaque webhook de paiement d'abonnement, à des fins de rapprochement.
metadataobjectbodyOptionnelAttributs de rapprochement facultatifs, propres au marchand (4 Ko maximum une fois sérialisés), renvoyés tels quels dans metadata à chaque webhook de paiement d'abonnement. Utilisez des identifiants opaques comme customerId ou contractId ; n'y incluez ni données de carte, ni CVV, ni identifiants de connexion, ni données personnelles superflues.
GET

Lister les échéances d'un abonnement

Renvoie toutes les échéances générées par l'abonnement (un lien de paiement à usage unique par période de facturation), période la plus récente en premier.

ChampTypeEmplacementRequisDescription
referencestringpathRequis
GET

Récupérer un abonnement

Récupère un abonnement avec son état dans le cycle de vie et son échéance ouverte : le lien de paiement de la période en cours, s'il y en a un.

ChampTypeEmplacementRequisDescription
referencestringpathRequisRéférence de l'abonnement.

Parler à un intégrateur

Faites votre premier appel en mode test

Créez votre compte, générez votre clé de test depuis le portail et lancez votre première requête aujourd'hui — ou parlez à un intégrateur.

  • Gratuit, sans engagement
  • Mode test dès l'inscription
  • Aucune validation à attendre