Skip to main content

URL de base

En mode sandbox, utilisez les clés pk_test_* / sk_test_* et les numéros de test pour simuler des transactions sans argent réel.

Authentification

Toutes les requêtes API doivent inclure vos clés API. Vous avez deux options :

Option 1 : Header X-API-Key (recommandé)

Option 2 : Bearer Token

Le format est clé_publique:clé_secrète. Les deux clés sont nécessaires pour l’authentification.

Exemple de requête authentifiée

Certains endpoints publics (comme /payments/providers ou /countries/active) ne nécessitent pas d’authentification.

Format des requêtes

  • Content-Type : application/json
  • Encodage : UTF-8
  • Méthodes : GET, POST, PUT, DELETE

Format des réponses

Toutes les réponses sont en JSON avec une structure cohérente :

Réponse réussie

Réponse d’erreur

Pagination

Les endpoints qui retournent des listes supportent la pagination :

Codes de statut HTTP

Gestion des erreurs

Les erreurs retournent un objet JSON avec les détails :

Codes d’erreur courants

Rate limiting

Les en-têtes de réponse incluent :

Idempotence

Pour éviter les paiements en double, incluez l’en-tête X-Idempotency-Key avec une valeur unique (par exemple, votre ID de commande) :
Les clés d’idempotence expirent après 24h. Utilisez votre ID de commande comme clé pour garantir l’unicité.

Flux de paiement (Collect)

  1. Récupérer les méthodesGET /payments/providers
  2. Initier le paiementPOST /payments/initiate
  3. Rediriger le client vers redirectUrl retourné
  4. Recevoir le webhook de confirmation
  5. Vérifier le statutGET /payments/status/:transactionId

Flux de payout (Décaissement)

  1. Obtenir un devisPOST /payouts/quote
  2. Confirmer le payoutPOST /payouts/initiate (avec quoteId)
  3. Recevoir le webhook de confirmation
  4. Vérifier le statutGET /payouts/status/:payoutId
Le flux quote-based garantit que le marchand connaît le montant exact débité avant de confirmer. Le devis est valide 5 minutes.

Support