Aller au contenu principal
Documentation API

7 endpoints

Liens de paiement

Un montant, une description, un lien à envoyer. Le client paie sur une page hébergée par ChariPay — vous n'hébergez aucune donnée de carte.

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

En clair

Une page de paiement prête à partager — sans site web.

Quand l'utiliser

Pour une facture, un devis, une vente à distance, un encaissement par WhatsApp ou un paiement en agence. C'est l'intégration la plus rapide : un appel suffit pour encaisser.

Comment l'intégrer

  1. 1Créez le lien avec le montant et une description ; ajoutez votre externalId pour pouvoir rejouer l'appel sans risque.
  2. 2Partagez le lien reçu — ou son QR code, ou l'affiche PDF prête à imprimer pour un encaissement au comptoir.
  3. 3Pour un encaissement en espèces, créez le lien avec paymentMethod: CASH : le payeur reçoit un code (cashinCode) à présenter en agence, et le webhook payment.succeeded vous confirme l'encaissement — même mécanique que la carte.
  4. 4Recevez le webhook de paiement réussi et rapprochez-le de votre commande par l'externalId que vous avez fourni.
  5. 5Annulez le lien si la vente ne se fait pas : un lien annulé ne peut plus être payé.

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.

POST202

Envoyer un lien de paiement par e-mail

Envoie le lien de paiement par e-mail à l'adresse indiquée ou, en l'absence de corps de requête, à l'e-mail client enregistré sur le lien. Renvoie 202 Accepted.

Schéma · SendPaymentLinkRequest

ChampTypeEmplacementRequisDescription
referencestringpathRequis
emailstringbodyOptionnelE-mail du destinataire ; à défaut, l'e-mail du client enregistré sur le lien est utilisé.
POST

Annuler un lien de paiement

Désactive le lien afin qu'il ne puisse plus être payé. Idempotent ; renvoie le lien mis à jour.

ChampTypeEmplacementRequisDescription
referencestringpathRequisRéférence du lien de paiement.
POST200

Créer un lien de paiement

Crée un lien de paiement réutilisable (ou à usage unique). Fournissez un externalId facultatif défini côté client (unique par marchand) pour rendre la création idempotente : un externalId en doublon renvoie le lien existant avec 200 OK au lieu d'en créer un nouveau. Renvoie le lien, y compris son payUrl destiné à l'acheteur.

Schéma · CreatePaymentLinkRequest

ChampTypeEmplacementRequisDescription
Idempotency-KeystringheaderOptionnelClé d'idempotence facultative ; rejouer la même valeur renvoie le premier résultat.
amountnumberbodyRequisMontant à encaisser, en MAD (unité principale).
descriptionstringbodyRequisCourte description affichée à l'acheteur.
singleUsebooleanbodyOptionneltrue = le lien est consommé après un paiement réussi ; false = réutilisable. Vaut true par défaut.
paymentMethodenumbodyOptionnelMoyen de paiement affiché par défaut sur le checkout hébergé. Vaut CARD par défaut.Valeurs CARDCASH
customerNamestringbodyOptionnelNom de l'acheteur (facultatif).
customerEmailstringbodyOptionnelE-mail de l'acheteur, facultatif.
customerPhonestringbodyOptionnelTéléphone de l'acheteur, facultatif (E.164).
expiresAtstring (date-time)bodyOptionnelExpiration facultative (ISO-8601 UTC). Doit être dans le futur.
acceptUrlstringbodyOptionnelL'acheteur est redirigé ici après un paiement réussi (https:// uniquement).
declineUrlstringbodyOptionnelL'acheteur est redirigé ici après un paiement échoué ou refusé (https:// uniquement).
notificationUrlstringbodyOptionnelCible webhook propre au lien (https:// uniquement), en plus des endpoints enregistrés.
externalIdstringbodyOptionnelIdentifiant facultatif fourni par l'appelant, unique par marchand. Créer un lien avec un externalId déjà existant renvoie le lien existant (rejeu idempotent).
metadataobjectbodyOptionnelObjet metadata libre et facultatif, renvoyé tel quel en lecture et dans le webhook de paiement lorsque le lien est payé.

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.