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
- 1Créez le lien avec le montant et une description ; ajoutez votre
externalIdpour pouvoir rejouer l'appel sans risque. - 2Partagez le lien reçu — ou son QR code, ou l'affiche PDF prête à imprimer pour un encaissement au comptoir.
- 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 webhookpayment.succeededvous confirme l'encaissement — même mécanique que la carte. - 4Recevez le webhook de paiement réussi et rapprochez-le de votre commande par l'
externalIdque vous avez fourni. - 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.
- POST
/v1/payment-links/{reference}/sendEnvoyer un lien de paiement par e-mail - POST
/v1/payment-links/{reference}/cancelAnnuler un lien de paiement - GET
/v1/payment-linksLister les liens de paiement - POST
/v1/payment-linksCréer un lien de paiement - GET
/v1/payment-links/{reference}/qrQR code du lien de paiement - GET
/v1/payment-links/{reference}/posterAffiche du lien de paiement (PDF) - GET
/v1/payment-links/{reference}Récupérer un lien de paiement
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
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
reference | string | path | Requis | |
email | string | body | Optionnel | E-mail du destinataire ; à défaut, l'e-mail du client enregistré sur le lien est utilisé. |
Annuler un lien de paiement
Désactive le lien afin qu'il ne puisse plus être payé. Idempotent ; renvoie le lien mis à jour.
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
reference | string | path | Requis | Référence du lien de paiement. |
Lister les liens de paiement
Renvoie les liens de paiement de l'appelant pour l'environnement de la clé, du plus récent au plus ancien, sous forme de Page paginée.
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
origin | enum | query | Optionnel | Filtrer par origine de création (API ou DASHBOARD).Valeurs APIDASHBOARD |
pageable | Pageable | query | Requis |
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
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
Idempotency-Key | string | header | Optionnel | Clé d'idempotence facultative ; rejouer la même valeur renvoie le premier résultat. |
amount | number | body | Requis | Montant à encaisser, en MAD (unité principale). |
description | string | body | Requis | Courte description affichée à l'acheteur. |
singleUse | boolean | body | Optionnel | true = le lien est consommé après un paiement réussi ; false = réutilisable. Vaut true par défaut. |
paymentMethod | enum | body | Optionnel | Moyen de paiement affiché par défaut sur le checkout hébergé. Vaut CARD par défaut.Valeurs CARDCASH |
customerName | string | body | Optionnel | Nom de l'acheteur (facultatif). |
customerEmail | string | body | Optionnel | E-mail de l'acheteur, facultatif. |
customerPhone | string | body | Optionnel | Téléphone de l'acheteur, facultatif (E.164). |
expiresAt | string (date-time) | body | Optionnel | Expiration facultative (ISO-8601 UTC). Doit être dans le futur. |
acceptUrl | string | body | Optionnel | L'acheteur est redirigé ici après un paiement réussi (https:// uniquement). |
declineUrl | string | body | Optionnel | L'acheteur est redirigé ici après un paiement échoué ou refusé (https:// uniquement). |
notificationUrl | string | body | Optionnel | Cible webhook propre au lien (https:// uniquement), en plus des endpoints enregistrés. |
externalId | string | body | Optionnel | Identifiant facultatif fourni par l'appelant, unique par marchand. Créer un lien avec un externalId déjà existant renvoie le lien existant (rejeu idempotent). |
metadata | object | body | Optionnel | Objet metadata libre et facultatif, renvoyé tel quel en lecture et dans le webhook de paiement lorsque le lien est payé. |
QR code du lien de paiement
Renvoie un QR code PNG encodant la payUrl du lien, destinée à l'acheteur.
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
reference | string | path | Requis |
Affiche du lien de paiement (PDF)
Renvoie une affiche A4 imprimable (PDF) avec le QR code et le montant, à afficher en caisse.
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
reference | string | path | Requis |
Récupérer un lien de paiement
Récupère un lien de paiement à partir de sa référence.
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
reference | string | path | Requis | Référence du lien de paiement. |
Une question sur l'intégration ?
Notre équipe technique répond aux intégrateurs, du premier appel en sandbox jusqu'à la mise en production.