Base URL
Toutes les requêtes doivent être adressées à :Authentification
Toutes les routes marchand nécessitent votre clé API secrète, transmise dans le headerAuthorization au format Bearer :
sk_test_... en environnement de test, sk_live_... en production. Retrouvez vos clés API dans votre tableau de bord, section Développeur.
Format des réponses
Toutes les réponses de l’API partagent la même enveloppe, qu’il s’agisse d’un succès ou d’une erreur.error prend deux formes selon le type d’erreur :
- Erreur métier (
{"message": "...", "code": "..."}) — un code d’erreur stable que vous pouvez tester dans votre code, ex.insufficient_balance,merchant_suspended. - Erreur de validation (
{"champ": ["message"], "autre_champ": ["message"]}) — une entrée par champ invalide du corps de la requête.
Codes d’erreur HTTP
Idempotence
Les endpoints de création sensibles (paiement, retrait, nouvelle tentative) exigent un headerIdempotency-Key : une valeur unique que vous générez par tentative logique d’opération (un UUID, par exemple). Si le réseau coupe et que vous rejouez la même requête avec la même clé, SasPay renvoie le résultat de la première tentative au lieu de créer un doublon.
409 Conflict — la clé est déjà associée à une autre requête. Si la première tentative est encore en cours de traitement, un rejeu concurrent renvoie aussi 409.
Limite de débit
Les appels authentifiés (clé API ou dashboard) sont limités à 300 requêtes par minute par compte par défaut. Un dépassement renvoie429 Too Many Requests. Espacez vos appels ou mettez en cache les réponses peu volatiles (ex. liste des pays/réseaux supportés).
Ressources
Paiements
Encaissez via checkout hébergé ou softpay
Liens de paiement
Créez des liens de paiement réutilisables
Retraits
Payez un bénéficiaire en mobile money
Wallet
Consultez et retirez votre solde
Webhooks
Recevez vos événements en temps réel
KYC
Soumettez votre dossier d’identité