L’API de FedaPay permet d’intégrer facilement des solutions de paiement sécurisées dans votre site web ou application. Ce guide vous expliquera en détail comment configurer et gérer la collecte de paiements à l’aide de l’API, de la création initiale à la finalisation du processus, en passant par les fonctionnalités avancées comme les paiements sans redirection. Que vous soyez développeur ou responsable de produits, vous trouverez ici tout le nécessaire pour utiliser FedaPay de manière optimale.

Étapes pour Créer et Gérer une Collecte de Paiement

Les étapes de configuration d’une collecte se divisent en plusieurs processus essentiels.

1

Initialisation de la Collecte : Création d'une Requête

La première étape consiste à envoyer une requête de création de collecte via l’API. Cette requête nécessite certains paramètres obligatoires :

  • description : une brève description de l’objet de la collecte

  • amount : le montant, toujours en nombre entier

  • currency : la devise, indiquée par son numéro ou code ISO (référez-vous au Tableau des Devises FedaPay pour les détails)

  • callback_url : un lien de retour facultatif pour rediriger le client après le paiement

  • customer : le client concerné par la collecte

Si le client n’est pas encore enregistré dans votre système, vous pouvez créer simultanément son profil en ajoutant des informations comme le nom, prénom, email, et numéro de téléphone.

Exemple de requête pour créer une collecte

Retrouvez plus d’informations dans notre Reference API

Remplacez YOUR_SECRETE_API_KEY par votre clé API et utilisez l’URL du serveur approprié (sandbox ou live).

Si le client est déjà enregistré, utilisez simplement son ID ou email pour l’associer à la collecte.

Attention :

Le paramètre customer n’est pas obligatoire. Cependant, lorsque vous créer une transaction avec un customer, assurez-vous que l’adresse email est unique. En effet, FedaPay considère qu’il s’agit du meme customer si les emails sont identique. Si vous envoyer la meme adresse email et que vous renseignez des nom, prénom et numéros de téléphone différents, FedaPay mettra simplement à jour le customer avec les nouvelles informations.

2

Génération du Token et du Lien de Paiement

Une fois la requête envoyée, l’API renvoie un identifiant unique pour la collecte. Utilisez cet identifiant pour demander un lien et un token de paiement pour rediriger le client vers la page de paiement sécurisée.

Le lien ainsi généré peut être utilisé pour rediriger les utilisateurs vers la page de paiement de FedaPay.

3

Redirection vers la Page de Paiement

Ce lien redirige votre client vers une page de paiement sécurisée, où il pourra finaliser la collecte. Si vous avez spécifié un callback_url, votre client sera redirigé automatiquement à l’issue du paiement.

4

Utilisation du Lien de Retour (Callback URL)

Le callback_url permet de rediriger le client vers une page spécifique à la fin du paiement, avec le statut et l’ID de la collecte en paramètres. Par exemple :

  • Paiement approuvé : https://www.monsite.com/?id=258&status=approved

  • Paiement annulé : https://www.monsite.com/?id=259&status=canceled

Attention : Pour des raisons de sécurité, ne vous fiez pas au statut renvoyé par l’URL. Effectuez toujours une vérification directe auprès de l’API pour obtenir le statut réel.

5

Récupération des Détails d’une Collecte

Pour récupérer les informations complètes d’une collecte, effectuez une requête avec l’ID de cette collecte.

Exemple de requête pour récupérer les détails d’une collecte

Paiements sans Redirection

Pour offrir une expérience fluide sans redirection, vous pouvez intégrer directement le formulaire de paiement dans votre application pour certaines méthodes spécifiques (MTN Bénin, Moov Bénin, Moov Togo, et MTN Côte d’Ivoire). Ce mode de paiement est particulièrement utile pour les sites e-commerce qui souhaitent garder l’utilisateur sur leur plateforme tout au long du processus, sans redirection vers une autre page.

Envoi d’un Paiement Mobile Sans Redirection

Le processus de paiement mobile sans redirection se divise en deux étapes principales dans l’environnement Live ou Sandbox :

1

Créer une collecte de paiement

La première étape consiste à créer une collecte via l’API de FedaPay. Cela génère un token qui est nécessaire pour effectuer la transaction.

2

Déclencher le paiement

Une fois que vous avez le token de paiement, vous devez envoyer une requête à l’API FedaPay pour traiter le paiement. La requête se fait en utilisant une des méthodes de paiement spécifiques

Voici un exemple de code pour envoyer un paiement mobile sans redirection

Attention :

Remplacez METHODE_PAIEMENT par la méthode de paiement choisie (par exemple mtn_benin, moov_benin, etc.).

VOTRE_CLE_API_SECRETE doit être remplacée par votre clé API secrète (en mode sandbox pour les tests ou en mode live pour les transactions en production).

Lorsque vous êtes prêt à passer en production, remplacez l’URL de sandbox par l’URL en mode Live :

  • Sandbox : https://sandbox-api.fedapay.com

  • Live : https://api.fedapay.com/v1/transactions/ID

Important : Veillez à tester minutieusement vos intégrations dans l’environnement sandbox avant de les déployer en production

Attention :

Le paramètre phone_number n’est pas obligatoire pour la requête d’envoie de notification de paiement. Cependant, s’il n’est pas mentionné, FedaPay essaiera d’envoyer la notification au numéro lié au client associé à la transaction lors de sa création.

Remarque : Le paiement sans redirection ne prend pas en charge tous les opérateurs. Consulter la section Méthodes de Paiement pour en savoir un peu plus.

Récupération Automatique du Statut d’une Collecte

Pour vérifier le statut final d’une collecte, surtout lors d’un paiement sans redirection :

Cycle de Vie d’une Collecte : Les Statuts

Chaque collecte passe par différents statuts :

  • pending : En attente (statut par défaut à la création)

  • approved : Approuvée (paiement réussi)

  • declined : Déclinée (solde insuffisant ou autre problème de paiement)

  • canceled : Annulée (interruption volontaire ou accidentelle par le client)

  • refunded : Remboursée (somme reversée au client)

  • transferred : Transférée (montant transféré sur le compte marchand)

Pour consulter le statut en temps réel, rendez-vous dans le tableau de bord FedaPay sous la section Collectes ou utilisez l’API pour vérifier avec l’ID de la collecte.