Référence API
L'API DarePay est organisée autour de routes REST simples. Elle accepte des corps JSON, renvoie des réponses JSON et utilise les codes HTTP standards.
https://darepay.devetu.org/apiLes routes protégées exigent l'en-tête X-API-Key. Chaque paiement est identifié par votre référence métier : elle sert à l'initier, à consulter son statut et à le rapprocher du callback.
Simulateur intégréModifiez les paramètres des routes ci-dessous : la requête se met à jour en direct et le bouton Envoyer affiche la réponse correspondante. Tout est simulé dans votre navigateur, aucune requête n'est envoyée à DarePay.
X-API-Key: VOTRE_CLE_API Content-Type: application/json Accept: application/json
Erreurs
DarePay utilise les codes de réponse HTTP pour indiquer le résultat d'une requête. Les codes 2xx signalent un succès, les 4xx une erreur liée aux données envoyées, et 500 une erreur interne.
| HTTP | Signification | Action recommandée |
|---|---|---|
| 200 | Requête traitée avec succès | Lire la réponse retournée par DarePay. |
| 400 | Requête invalide | Vérifier les données envoyées. |
| 401 | Clé API absente ou invalide | Vérifier l'en-tête X-API-Key. |
| 404 | Paiement introuvable | Vérifier la référence utilisée. |
| 409 | Un paiement existe déjà avec cette référence | Ne pas initier un nouveau paiement avec la même référence. |
| 422 | Erreur de validation métier | Corriger les données ou vérifier l'état de la transaction. |
| 500 | Erreur interne | Ne pas conclure automatiquement à un échec ; vérifier le statut avant de retenter. |
Erreur 500 ou coupure réseau ?Le paiement a peut-être été créé. Consultez son statut avec la même référence avant toute nouvelle tentative. Procédure de reprise
Initialiser un paiement
/api/paymentsCette route permet à votre application d'initier une nouvelle transaction de paiement. DarePay valide la requête, initialise la transaction et renvoie son statut initial.
X-API-KeystringObligatoireClé d'authentification attribuée à votre application. Renseignez-la dans le panneau de requête.
Content-TypestringObligatoireUtiliser
application/json.AcceptstringRecommandéUtiliser
application/json.
successbooleanIndique que la requête a été traitée.
messagestringMessage lisible, par exemple « Paiement initié avec succès. »
-
paymentobjectLe paiement créé.
idintegerIdentifiant interne du paiement dans DarePay.
referencestringRéférence métier fournie par votre application.
transaction_idstringIdentifiant unique de la transaction. À conserver.
statusenumStatut initial, souvent
PENDING.amountstringMontant du paiement, au format décimal (
"10000.00").currencystringDevise du paiement.
PENDING signifie que la demande est en cours de traitement. Votre application ne doit pas considérer ce statut comme un paiement réussi.
Consulter le statut d'un paiement
/api/payments/{reference}/statusCette route récupère le statut actuel d'un paiement à partir de la référence métier utilisée lors de l'initiation. Utilisez-la en cas de doute : après une erreur réseau, une erreur 500 ou un callback attendu qui tarde.
-
referencestringObligatoireLa référence métier transmise dans
POST /api/payments.Référence du paiement
successbooleanIndique que la requête a été traitée.
paymentobjectLe paiement, avec les mêmes champs que la réponse d'initiation :
id,reference,transaction_id,status,amount,currency.
| Statut | Signification |
|---|---|
| PENDING | Le paiement est encore en cours de traitement. |
| SUCCESS | Le paiement a été effectué avec succès. |
| FAILED | Le paiement a échoué. |
Callback de résultat
POST https://votre-application.example.com/api/darepay/callbackVotre application fournit une URL de callback accessible en HTTPS. DarePay appelle cette URL lorsqu'un paiement atteint un état final. C'est la notification principale du résultat.
payment_idintegerIdentifiant interne du paiement dans DarePay.
referencestringRéférence métier fournie par votre application.
transaction_idstringIdentifiant unique de la transaction.
statusenumRésultat final :
SUCCESSouFAILED.amountstringMontant du paiement.
currencystringDevise du paiement.
failure_reasonstring | nullMotif de l'échec lorsqu'il est disponible.
nullen cas de succès.
HTTP200 OKRépondez rapidement après réception et traitement de la notification.
receivedbooleanDoit valoir
true.referencestringLa même référence métier que celle reçue dans le callback, à l'identique.
transaction_idstringLe même identifiant de transaction que celui reçu dans le callback.
Sans confirmation valide, DarePay renvoie le callback, jusqu'à trois envois au total. Règles de confirmation · Tester votre réponse
{
"payment_id": 15,
"reference": "CMD2026001",
"transaction_id": "PAY1009261274771",
"status": "SUCCESS",
"amount": "10000.00",
"currency": "XAF",
"failure_reason": null
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"received": true,
"reference": "CMD2026001",
"transaction_id": "PAY1009261274771"
}
Résumé des interfaces
| Interface | Méthode | Utilité | Authentification |
|---|---|---|---|
/api/payments | POST | Initialiser un paiement | X-API-Key |
/api/payments/{reference}/status | GET | Consulter le statut d'un paiement | X-API-Key |
| URL callback de votre application | POST | Recevoir le résultat final | Endpoint exposé par votre application |