Skip to main content

API Reference

L’API SahelPay est une API REST qui utilise JSON pour les requêtes et réponses.

Base URL

Le mode est déterminé par la clé (sk_test_... ou sk_live_...). Pour le simulateur SahelPay sans appel opérateur, ajoutez metadata.sahelpay_mock: true à la création du paiement ; metadata.sandbox: true appelle l’environnement de test d’Orange.

Authentification

Toutes les requêtes marchandes incluent votre clé secrète :
Une clé live n’est acceptée qu’avec un compte ouvert en production et un abonnement payé en cours (voir Authentification).

Format des réponses

Succès

Erreur

Voir Codes d’erreur.

Codes HTTP

Rate limiting

Limite par défaut : 100 requêtes par minute. Certaines routes sont plus strictes, notamment POST /v1/payments (10 par minute), POST /v1/payments/{id}/reconcile (10 par minute) et POST /v1/webhooks/test (5 par minute). Au-delà : 429 RATE_LIMIT_EXCEEDED.

Idempotence

X-Idempotency-Key (128 caractères maximum) est obligatoire sur POST /v1/payments et POST /v1/withdrawals, recommandé sur POST /v1/secure-orders. La même clé rejouée avec la même demande renvoie le même résultat ; avec une demande différente, la requête est refusée (409).

Endpoints disponibles

Paiements

Liens de paiement

Retraits

Paiement sécurisé à la livraison (pilote)

Abonnements clients

Programme Partenaires SPAY

Customer Portal

Remboursements

Webhooks

Utilitaires

Non disponibles : POST /v1/payouts (payouts automatiques, refusés), les splits et le flux OPR en production.