Passer au contenu principal
L’API SandPay est documentée par une spec OpenAPI 3.1 versionnée dans le repo et auto-rendue par Mintlify. Chaque endpoint produit sa propre page de référence interactive (essai en direct, schémas de requête/réponse, exemples).

Base URL

EnvironnementURL
Sandboxhttps://api.sandpay.dev
Les clés sp_sk_test_... produisent des transactions simulées — aucune somme d’argent ne circule.

Authentification

Bearer token sur chaque requête :
Authorization: Bearer sp_sk_test_a1b2c3d4...
Voir Authentification pour le détail du format de clé, de la rotation et des erreurs.

Versionnage

L’API est versionnée dans l’URL : tous les endpoints publics vivent sous /v1/. Les changements compatibles (ajout de champs, ajout d’endpoints) sont déployés directement sur /v1. Les breaking changes déclenchent une nouvelle version (/v2) avec une période de chevauchement d’au moins 12 mois.

Endpoints disponibles

MéthodeEndpointDescription
GET/v1/healthSonde de santé (pas d’auth requise).
POST/v1/paymentsCréer un paiement simulé.
GET/v1/payments/{id}Récupérer un paiement par son tx_id.
GET/v1/paymentsLister les paiements (cursor pagination).
POST/v1/payments/{id}/refundRembourser tout ou partie d’une collecte.
POST/v1/disbursementsPayout libre (marchand → un msisdn).
GET/v1/metaVersion d’API + capabilities (sans auth).

Raw operator response (raw)

Chaque ressource Payment (en POST, GET ou liste) inclut un champ raw avec la shape native de l’opérateur (MTN MoMo, Orange Money, Moov, Airtel). En sandbox cette shape est synthétisée pour correspondre à la vraie structure opérateur, avec _simulated: true au top-level. Voir Scénarios pour des exemples par opérateur.

Rate limits

PlanLimite par minute
Trial / Free100 req/min
Pro1 000 req/min
Pro Lifetime1 000 req/min
Customsur demande
Au-delà du seuil, l’API renvoie 429 rate_limited avec un en-tête Retry-After. Voir Erreurs pour la stratégie de retry.

Quotas

Indépendamment du rate limit, chaque organisation a un quota mensuel de simulations (renouvelé le 1er du mois). Le dépassement renvoie 402 quota_exceeded. Mettez à niveau le plan depuis /settings/billing pour l’augmenter.

Spec OpenAPI

La spec brute est versionnée dans le repo : docs-site/openapi/sandpay.yaml. Mintlify l’utilise pour générer automatiquement les pages détaillées de chaque endpoint dans la sidebar de cette section.

Voir aussi