Aller au contenu principal

API Reference

Documentation complète de l'API REST YengaPay.

Base URL

EnvironnementURL
Productionhttps://api.yengapay.com/api/v1

Authentification

Toutes les requêtes API nécessitent une clé API dans le header Authorization :

curl -X GET https://api.yengapay.com/api/v1/project \
-H "Authorization: Bearer sk_live_votre_cle_secrete"

Format des requêtes

  • Content-Type : application/json
  • Encoding : UTF-8

Format des réponses

Succès

{
"id": "pi_abc123",
"status": "COMPLETED",
"amount": 1000,
"currency": "XOF",
"createdAt": "2024-01-15T10:30:00Z"
}

Erreur

{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid amount",
"details": {
"field": "amount",
"reason": "Amount must be at least 100"
},
"requestId": "req_xyz789"
}
}

Codes de statut HTTP

CodeDescription
200Succès
201Créé
400Requête invalide
401Non authentifié
403Non autorisé
404Non trouvé
429Trop de requêtes
500Erreur serveur

Pagination

Les endpoints de liste supportent la pagination :

GET /v1/payments?page=1&limit=20

Paramètres

ParamètreTypeDéfautDescription
pageinteger1Numéro de page
limitinteger20Éléments par page (max: 100)

Réponse paginée

{
"data": [...],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"totalPages": 8
}
}

Rate Limiting

EnvironnementLimite
Sandbox100 req/min
Production1000 req/min

Headers de réponse :

  • X-RateLimit-Limit : Limite totale
  • X-RateLimit-Remaining : Requêtes restantes
  • X-RateLimit-Reset : Timestamp de reset

Endpoints

Payment Intent

MéthodeEndpointDescription
POST/payment-intentCréer un PaymentIntent
GET/payment-intent/:idRécupérer un PaymentIntent
DELETE/payment-intent/:idAnnuler un PaymentIntent

Direct Payment

MéthodeEndpointDescription
POST/direct-payment/initInitialiser une session
POST/direct-payment/payDéclencher le paiement
POST/direct-payment/otpEnvoyer l'OTP
GET/direct-payment/:id/statusVérifier le statut

Payout

MéthodeEndpointDescription
POST/payoutCréer un décaissement
POST/payout/bulkCréer des décaissements bulk
GET/payout/:idRécupérer un décaissement
GET/payoutLister les décaissements

Campaign

MéthodeEndpointDescription
POST/campaignCréer une campagne
POST/campaign/:id/recipientsAjouter des bénéficiaires
POST/campaign/:id/executeExécuter la campagne
GET/campaign/:idRécupérer une campagne

Cash Out

MéthodeEndpointDescription
POST/cashoutCréer un retrait
GET/cashout/:idRécupérer un retrait

Project

MéthodeEndpointDescription
GET/projectRécupérer le projet
GET/project/balanceRécupérer le solde
GET/project/operatorsLister les opérateurs

Webhooks

MéthodeEndpointDescription
GET/webhooksLister les webhooks
POST/webhooksCréer un webhook
DELETE/webhooks/:idSupprimer un webhook
POST/webhooks/:id/testTester un webhook

Documentation interactive

Utilisez la documentation Swagger pour tester les endpoints directement :

SDKs

Nous recommandons d'utiliser nos SDKs officiels plutôt que d'appeler l'API directement :