Aller au contenu principal
Documentation API

4 endpoints

Sessions de paiement

Une commande e-commerce devient une session : vous redirigez l'acheteur vers le checkout hébergé et vous récupérez le résultat.

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

En clair

Le paiement intégré à votre site : une commande, une session.

Quand l'utiliser

Pour un site marchand ou une application où le paiement s'inscrit dans un tunnel de commande, avec une URL de retour et une URL d'annulation qui vous appartiennent. Une session expire par défaut 72 heures après sa création — `expiresAt` pour la raccourcir.

Comment l'intégrer

  1. 1Créez la session avec le montant et votre référence de commande — vos URL de retour sont optionnelles : sans elles, les valeurs par défaut de votre compte s'appliquent.
  2. 2Redirigez l'acheteur vers l'URL de checkout renvoyée.
  3. 3À son retour, affichez un état d'attente — la redirection dit que l'acheteur est revenu, pas que le paiement est acquis.
  4. 4Confirmez la commande sur réception du webhook, jamais sur la seule redirection.

Carte de test sandbox

La sandbox tourne sur de vrais rails, contre un environnement de test : les parcours sont réels, l'argent non. Une seule carte y est acceptée.

Seul ce PAN est accepté. Tout autre numéro — y compris les 4242… d'autres plateformes — est rejeté en amont — en général avec un 502 — et le code stable BAAS_CHARI_ERROR. Si vous rencontrez cette erreur en test, vérifiez d'abord la carte saisie.

POST

Annuler une session de paiement

Fait expirer la session afin qu'elle ne puisse plus être payée. Renvoie le statut mis à jour de la session.

ChampTypeEmplacementRequisDescription
sessionIdstringpathRequis
GET

Lister les sessions de paiement

Renvoie les sessions de paiement de l'appelant pour l'environnement de la clé, les plus récentes en premier. Filtrez éventuellement par origine de création avec ?origin=API ou ?origin=DASHBOARD.

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

Créer une session de paiement

Crée une session de paiement à usage unique pour une commande et renvoie son checkoutUrl hébergé. Fournissez un externalId facultatif, défini par vos soins (unique par marchand), pour rendre la création idempotente : un externalId en doublon renvoie la session existante avec 200 OK. Passez un en-tête Idempotency-Key facultatif pour sécuriser les nouvelles tentatives.

Schéma · CreateCheckoutSessionRequest

ChampTypeEmplacementRequisDescription
Idempotency-KeystringheaderOptionnelClé d'idempotence facultative ; rejouer la même valeur renvoie le premier résultat.
amountnumberbodyRequisMontant à encaisser, en MAD (unité principale).
orderIdstringbodyRequisVotre référence de commande ou référence métier pour ce checkout.
singleUsebooleanbodyOptionnelSession à usage unique (recommandé). Vaut true par défaut.
externalIdstringbodyOptionnelIdentifiant facultatif fourni par vos soins, unique par marchand ; une valeur en doublon rejoue la session existante. Distinct de orderId/externalReference, dont l'unicité n'est pas imposée.
configCheckoutSessionConfigbodyRequisAcheteur, URL de redirection et options du checkout.
config.customerCheckoutSessionCustomerbodyRequisL'acheteur débité.
config.urlsCheckoutSessionUrlsbodyOptionnelURL de redirection / de notification facultatives. Tout champ non renseigné reprend la valeur par défaut configurée par le marchand, puis celle de la plateforme.
config.keepAlivebooleanbodyOptionnelMaintient la session active après une tentative échouée afin que l'acheteur puisse réessayer. Vaut false par défaut.
config.frontendCheckoutSessionFrontendbodyOptionnelPersonnalisation visuelle facultative de la page de checkout hébergé.
config.settlementCheckoutSessionSettlementbodyOptionnelRépartition facultative — wallet du sous-marchand à créditer.
metadataobjectbodyOptionnelObjet de métadonnées libre (≤ 4 Ko) renvoyé tel quel dans le webhook de paiement.
expiresAtstring (date-time)bodyOptionnelExpiration de la session (ISO-8601 UTC). Doit être dans le futur ; par défaut 72 h après la création.
notifyOnFailurebooleanbodyOptionnelEnvoyer aussi un webhook payment.failed en cas d'échec du paiement. Vaut false par défaut.
GET

Récupérer une session de paiement

Récupère le statut actuel, le montant et l'expiration d'une session à partir de son identifiant.

ChampTypeEmplacementRequisDescription
sessionIdstringpathRequisIdentifiant de session.

Parler à un intégrateur

Une question sur l'intégration ?

Notre équipe technique répond aux intégrateurs, du premier appel en sandbox jusqu'à la mise en production.