🚀 Démarrage Rapide
Bienvenue dans la documentation développeur d'Efaina. Cette page rassemble en un seul endroit les actions indispensables pour tester l'intégration : récupérer un token, créer un wallet puis lancer un paiement.
Prérequis​
Avant de commencer, vérifiez que vous disposez de :
- Un compte Efaina actif avec les droits développeur
- Un environnement de développement (Node.js, Python, PHP, etc.)
- Un outil de test API (Postman, Insomnia, curl…)
- Une URL HTTPS accessible pour recevoir les webhooks (un tunnel type ngrok convient pour les tests)
Étape 1 : Génération du Token d'Accès​
La majorité des endpoints nécessitent un token d'accès porteur du scope adéquat (Sandbox ou Production).
- Connectez-vous Ă votre tableau de bord Efaina.
- Rendez-vous dans Développeur > Clé API.
- Générez un token (sandbox ou production).
- Stockez-le dans votre gestionnaire de secrets, en dehors du dépôt Git.
Étape 2 : Création de votre Premier Wallet​
Un wallet (portefeuille virtuel) est nécessaire pour recevoir et gérer vos paiements.
Via l'Interface Web​
- Dans votre tableau de bord > Wallets
- Cliquez sur Créer un wallet et remplissez les informations requises
Via l'API​
curl --request POST \
"https://efn.efaina.com/api/public/v1/wallets/store" \
--header "Authorization: Bearer VOTRE_TOKEN" \
--header "Accept: application/json" \
--form "phone=034----------" \
--form "last_name=Randria" \
--form "first_name=Lova" \
--form "city=Antananarivo" \
--form "address=Lot II B 23" \
--form "company=MyCompany SARL" \
--form "cash_out[info][name]=Randria Lova" \
--form "cash_out[info][phone]=0341234567" \
--form "cash_out[info][first_choice]=mobile_money"
L'objet cash_out définit où partiront les fonds lors d'un retrait : renseignez-le avec soin. Les champs non listés dans la référence sont ignorés.
Étape 3 : Premier Paiement de Test​
Création d'un Checkout​
curl --request POST \
"https://efn.efaina.com/api/public/v1/pay/create-checkout" \
--header "Authorization: Bearer VOTRE_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": \"125000\",
\"comment\": \"Invoice #INV-2024-001\",
\"wallet_id\": \"a3bb189e-b1be-49d4-aec2-a9b02d7a5c20\",
\"company\": \"MyCompany SARL\",
\"return_urls\": {
\"return_to_merchant_url\": \"https:\\/\\/merchant.example.com\\/payment\\/callback\"
}
}"
{
"statusHttp": "success",
"message": "Success",
"response": {
"status": "success",
"checkout_url": "https://pay.example.com/checkout?token=eyJ0b2tlbiI6...",
"transaction": "72b46ff8-1bc2-4a33-bc63-022eb743a4a5"
}
}
Redirigez votre client vers checkout_url, et conservez transaction : c'est l'identifiant que vous retrouverez dans les webhooks et sur GET /details-transaction/{transaction}. Le lien de paiement expire au bout d'une heure.
Étape 4 : Configuration des Webhooks​
Pour recevoir les notifications en temps réel :
- Dans votre tableau de bord > Développeur > Webhook
- Ajoutez votre URL d'endpoint (ex:
https://api.votresite.com/webhooks/efaina) - Renseignez un token de sécurité et stockez-le côté serveur : nous le renverrons dans l'en-tête
Webhook-Token - Répondez rapidement (idéalement sous quelques secondes) et traitez en asynchrone : un endpoint lent finit par expirer côté appelant
Logguez systématiquement les payloads reçus (masquez les données sensibles) pour faciliter le support.
Étape 5 : Test Complet​
- Initiez un paiement via le
checkout_urlrécupéré. - Validez la transaction avec les identifiants de test.
- Confirmez la réception du webhook :
checkout.completedpuistransaction.completed. - Vérifiez l'historique dans votre dashboard.
- Consultez
GET /api/public/v1/details-transaction/{transaction}pour vérifier la cohérence avec votre base.
Le client peut fermer son onglet avant la redirection. Seul l'événement transaction.completed — ou une relecture de la transaction — atteste du paiement.
Prochaines Étapes​
Maintenant que vous avez les bases :
- Lisez les conventions de l'API — enveloppe de réponse, codes d'erreur, pagination
- Explorez les APIs disponibles
- Découvrez les webhooks
- Isolez vos intégrations avec les applications
Commencez toujours par l'environnement de test (sandbox) avant la production.
Notre équipe support est joignable via le chat du dashboard ou à l'adresse contact@efaina.com.