Créer une intention de paiement
Crée une nouvelle intention de paiement et renvoie l’objet complet, dont le paymentLink à présenter au client. L’en-tête HTTP Idempotency-Key permet de rejouer une requête sans dupliquer l’intention. La liste acceptedCoins peut être restreinte côté marchand : seuls les actifs actifs sur le compte sont conservés.
Autorisations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
En-têtes
Clé d'idempotence (recommandée) pour éviter la création de doublons en cas de rejeu.
Corps
Indique si le montant demandé est libellé dans une devise fiat (fiat) ou dans une cryptomonnaie (crypto). Détermine la manière dont currencyRequested est interprété.
fiat, crypto "fiat"
Devise du montant demandé. Si requestedCurrencyType vaut fiat, indiquez un code devise (XOF, EUR, USD). S'il vaut crypto, indiquez un code de cryptomonnaie (USDT.TRC20, BTC, USDT.BEP20).
"XOF"
Montant à encaisser, exprimé dans currencyRequested. Chaîne de caractères, jamais un nombre JSON : un montant passé en number est arrondi par la précision flottante. Jusqu'à 18 décimales, et strictement supérieur à zéro.
^(?=.*[1-9])\d{1,18}(\.\d{1,18})?$"25000"
Restreint la liste des cryptomonnaies proposées au client final au moment du paiement. Deux formats sont acceptés, et combinables dans la même liste :
- Nom de la crypto seul (ex.
USDT) : accepte tous les réseaux de cette crypto activés sur votre compte (USDT.TRC20, USDT.BEP20, USDT.ERC20, USDT.POLYGON…). Pratique pour laisser le client choisir son réseau sans les lister un par un. - Code réseau précis
CRYPTO.RESEAU(ex.USDT.TRC20) : accepte uniquement ce réseau. Seuls les cryptos/réseaux actifs sur votre compte sont retenus ; une valeur inconnue ou inactive est ignorée. Si aucune n'est valide, la requête est rejetée (400). Champ omis : toutes les cryptomonnaies activées sur votre compte sont proposées.
Référence libre côté marchand (numéro de commande, identifiant ERP…). Reprise telle quelle dans les réponses de l'API, les webhooks et le tableau de bord.
"commande-4821"
URL vers laquelle le client final est redirigé une fois le paiement terminé.
"https://boutique.example.com/commande/4821/merci"
Clé d'idempotence. Rejouer la même clé retourne la demande de paiement déjà créée au lieu d'en créer une seconde — indispensable pour un retry réseau sûr. Peut aussi être transmise via l'en-tête Idempotency-Key.
"intent-2026-07-08-0001"
Durée de validité du paiement, en minutes. Minimum 15. Au-delà de ce délai sans paiement complet, la demande expire. La durée est conservée et s'applique aussi après que le client a choisi sa cryptomonnaie. Omis : durée par défaut de la plateforme.
15 <= x <= 1008030
Email du client final, pré-rempli sur la page de paiement et utilisé pour les notifications liées à ce paiement.
254"client@example.com"
Prénom du client final, pré-rempli sur la page de paiement.
80"Awa"
Nom du client final, pré-rempli sur la page de paiement.
80"Diallo"
Quand false, la page de paiement SAUTE l'étape de saisie des informations client et va directement au paiement. N'est autorisé que si vous fournissez ces informations vous-même : customerFirstName, customerLastName et customerEmail deviennent alors obligatoires (l'identité reste tracée pour un éventuel remboursement). Défaut true : la page collecte les informations.
false
Données arbitraires (paires clé/valeur) attachées à la demande de paiement. Restituées telles quelles dans les réponses de l'API et les webhooks. Limité à 64 Ko.
Langue de la page de paiement (widget) envoyée au client final. Omis, hérite de la langue par défaut du marchand.
fr, en "en"
Réponse
Intention de paiement créée.
Identifiant unique de l'intention de paiement.
État courant de l'intention (waiting_address_selection, pending, confirming, completed, expired, unmatched, cancelled).
Montant demandé exprimé dans la devise initiale — chaîne décimale.
Code de la devise initialement demandée (fiat ou crypto).
Type de devise initialement demandée ("fiat" ou "crypto").
Équivalent crypto figé après sélection de l'actif par le client. null tant que l'actif n'est pas choisi ou si la devise demandée est déjà une crypto.
Code de l'actif crypto choisi par le client (ex. "USDT.TRX"). null tant que l'actif n'est pas sélectionné.
Liste des actifs crypto que ce paiement accepte (proposés au client).
Montant total reçu sur ce paiement — chaîne décimale.
Montant net cumulé revenant au marchand — chaîne décimale.
Frais totaux retenus par la plateforme — chaîne décimale.
Montant reçu dans la fourchette acceptable (litige : portion acceptée).
Montant reçu hors fourchette acceptable (litige : portion rejetée).
Montant à rembourser au client en cas de décision de remboursement.
Frais appliqués à la portion acceptée.
Frais appliqués à la portion rejetée (utilisé lors d'un remboursement partiel).
Origine de l'intention (api, dashboard, invoice, product, pos, ...).
Référence libre fournie par le marchand pour rapprocher ce paiement.
Identifiant de la facture associée, le cas échéant.
Identifiant du produit associé, le cas échéant.
Identifiant du terminal POS associé, le cas échéant.
Statut de litige éventuel (none, pending_decision, encashed, refunded). Différent du statut principal car un litige peut être ouvert sur un paiement déjà complété.
Détail du résultat de paiement (montants reçus, écarts, ...).
Adresse de remboursement fournie par le client (masquée). null si non saisie ou pas encore connue.
Identifiant de l'utilisateur ayant statué sur le litige (le cas échéant).
Date à laquelle la décision de litige a été prise — ISO 8601.
Identifiant du payout généré lors d'un remboursement de litige.
Email du client (si pré-rempli ou saisi dans le widget).
URL de redirection après paiement (passée par le marchand).
Date de création — ISO 8601.
Date d'expiration de l'intention — ISO 8601.
URL du widget de paiement à présenter au client.
Historique horodaté des transitions de statut.
Liste des dépôts entrants reçus sur cette intention.