Intégrez le Paiement en Une Minute dans Votre Application avec Flexpay !
J’ai créé ce package npm open-source pour Flexpay, un agrégateur de paiement en République démocratique du Congo. Cette bibliothèque vous aide à collecter des paiements via Airtel Money, Orange Money, Africell et M-PESA en seulement quelques lignes de code et en peu de temps.
Pour commencer, vous devez être familier avec Node.js et avoir un compte marchand créé pour vous par Flexpay (vous pouvez les contacter pour cela). Ils vous fourniront une clé API et un identifiant de marchand que vous utiliserez dans les lignes suivantes.
Assez parlé, passons au code. Installez le package Flexpay en exécutant :
npm install flexpay
Ensuite, importez Flexpay dans votre code et instanciez un objet avec votre clé API, votre identifiant de marchand et l’URL de votre webhook.
import { Flexpay } from "flexpay";
const flexpay = new Flexpay({
webhookUrl: "VOTRE_URL_DE_WEBHOOK",
apiKey: "VOTRE_CLÉ_API",
merchant: "VOTRE_IDENTIFIANT_MARCHAND",
});
L’URL de webhook est un endpoint que vous définissez vous-même, où vous serez informé du résultat de la collecte de paiement, qu’il s’agisse de succès ou d’échec.
Maintenant, collectons un paiement. Pour collecter un paiement, vous avez besoin de : du montant (en string), de la devise (ici, vous pouvez utiliser soit USD pour les dollars américains, soit CDF pour le franc congolais), du numéro de téléphone à partir duquel vous collectez le paiement, et d’une référence de paiement unique. Passez toutes les valeurs dans la méthode pay
comme dans le snippet de code ci-dessous.
try {
flexpay.pay({
amount: "montant",
currency: "USD",
phone: "NUMÉRO_DE_TÉLÉPHONE",
reference: "RÉFÉRENCE_DE_PAIEMENT",
});
} catch (e) {}
Si tout va bien, le numéro que vous avez utilisé recevra directement un USSD Push demandant d’insérer le mot de passe du compte mobile money pour valider le paiement.
Enfin, votre URL de webhook sera notifiée par une requête POST sur le statut de la transaction. Cette même bibliothèque vous permet de parser la requête et de vérifier le statut de la transaction de collecte de paiement.
const paymentResult = Flexpay.parse(request.body);
console.log("Paiement :", paymentResult.isSuccessFull);
Point bonus: Dans certains scénarios, vous voudrez peut-être vérifier le statut du paiement sans vous fier à la notification de webhook. La bibliothèque dispose d’une méthode check
qui vous aide à vérifier le statut. Vous devez simplement passer le orderNumber
en tant que paramètre dans la méthode check
, comme illustré ci-dessous.
try {
const check = await flexpay.check(orderNumber);
} catch (e) {}
Félicitations ! Vous pouvez désormais intégrer les solutions de paiement dans vos applications en quelques secondes grâce à cette bibliothèque.