Guide d'intégration
Ce qu'il faut savoir pour connecter votre application à DarePay : prérequis, authentification et cycle de vie d'un paiement.
Présentation de DarePay
DarePay est une API de paiement qui permet à une application cliente d'initier des paiements, de consulter leur statut et de recevoir automatiquement le résultat final d'une transaction.
L'intégration est conçue pour rester simple : votre application communique uniquement avec l'API DarePay. La gestion technique des opérateurs de paiement, des comptes de règlement et des règles de redistribution est prise en charge directement par DarePay.
Avant l'intégration
Réunissez ces quatre éléments avant d'écrire la première ligne de code.
https://darepay.devetu.org/api
La clé API reste côté serveurElle ne doit jamais être intégrée directement dans une application frontend publique (site web, application mobile, JavaScript exécuté dans le navigateur).
Authentification
Les routes protégées de DarePay s'authentifient avec l'en-tête HTTP X-API-Key. Envoyez ces trois en-têtes avec chaque requête :
X-API-Key: VOTRE_CLE_API Content-Type: application/json Accept: application/json
| En-tête | Obligatoire | Description |
|---|---|---|
X-API-Key | Oui | Clé d'authentification attribuée à votre application. |
Content-Type | Oui pour les requêtes JSON | Utiliser application/json. |
Accept | Recommandé | Utiliser application/json. |
Une clé absente ou invalide renvoie HTTP 401. Vérifiez alors l'en-tête X-API-Key. Voir tous les codes d'erreur.
Cycle d'un paiement
Un paiement passe par sept étapes, de la création de votre référence à la réception du callback. Cliquez sur une étape pour la situer dans le schéma.
Statuts de paiement
Un paiement démarre en PENDING et se termine dans l'un des deux états finaux. Un état final ne change plus : DarePay empêche le remplacement de SUCCESS par FAILED, et inversement.
Le paiement est encore en cours de traitement.
Le paiement a été effectué avec succès.
Le paiement a échoué. Le motif est indiqué dans failure_reason lorsqu'il est disponible.
PENDING n'est pas un paiement réussiNe livrez rien et ne validez aucune commande tant que vous n'avez pas reçu SUCCESS par callback ou via la route de statut.
Premier appel
Voici la requête d'initiation complète. Choisissez votre langage : le choix est mémorisé sur toutes les pages.
Réponse attendue
{
"success": true,
"message": "Paiement initié avec succès.",
"payment": {
"id": 15,
"reference": "CMD2026001",
"transaction_id": "PAY1009261274771",
"status": "PENDING",
"amount": "10000.00",
"currency": "XAF"
}
}
Conservez le transaction_id retourné, puis attendez le callback. Pour modifier les paramètres et observer les réponses, utilisez le simulateur de la référence API.