À l’ère du numérique, nous voyons constamment des solutions innovantes pour révolutionner la façon dont nous interagissons avec l’argent.

La plateforme Mobile Money du fournisseur de réseau africain MTN est à l'avant-garde de cette évolution. Il permet aux utilisateurs d'effectuer diverses transactions financières à l'aide de leurs appareils mobiles, telles que l'envoi et la réception d'argent, le paiement de factures, l'achat de temps d'antenne et de données, ainsi que l'épargne ou l'emprunt d'argent.

Le API MTN MoMo permet aux développeurs d'intégrer de manière transparente les nombreuses fonctionnalités de MTN Mobile Money dans les applications et les systèmes. De la facilitation des transactions à permettre le commerce numériqueson potentiel est immense.

Malgré tout, le API MTN MoMo a ses défis techniques, notamment des problèmes de sécurité liés aux violations de données et aux problèmes de temps d'arrêt et de fonctionnalités. Naviguer dans ses subtilités peut être intimidant, et il existe des domaines dans lesquels la clarté et la fonctionnalité pourraient être améliorées. En tant que technologue, vous pouvez contribuer à résoudre les problèmes de l'API MTN MoMo en contribuant à l'open source, comme des projets sur GitHub.

Dans ce didacticiel, nous améliorerons l'API MTN MoMo Open en utilisant Facteur comme notre plate-forme API principale, bien que vous puissiez utiliser n'importe quelle plate-forme client avec laquelle vous êtes à l'aise. J'effectuerai des tests dans l'environnement sandbox dans ce guide. Si vous décidez de passer en direct, préparez-vous à un processus simple et explicite.

Publicité

Rendez-vous au Développeur MTN MoMo plate-forme et créez votre compte pour lancer les choses. Lors de votre inscription, vous aurez accès à divers produits de l'écosystème de l'API MoMo, notamment les collections, les décaissements, les widgets de collecte et les envois de fonds, conçus pour adapter les fonctionnalités aux besoins de votre application. L'abonnement à ces produits est indispensable pour obtenir les clés primaires et secondaires nécessaires à l'intégration transparente de ce service.

Représentation visuelle des produits souscrits.

Représentation visuelle des produits souscrits.

Nous nous concentrons sur le produit de recouvrement, qui facilite le recouvrement des paiements à distance auprès des consommateurs de vos services. Bien que les points de terminaison de l'API diffèrent, la logique opérationnelle reste uniforme pour tous les produits.

Notre premier objectif est de générer un utilisateur et une clé API pour l'authentification OAuth 2.0. Chaque fois que Ocp-Apim-Subscription-Key est mentionné, il s'agit de l'UUID (Universally Unique Identifier) ​​V4 que nous générerons plus tard. De la même manière, X-Reference-Id désigne la clé primaire obtenue pour l'abonnement post-produit. Même si cela peut paraître complexe, n’ayez crainte. Nous franchirons chaque étape ensemble.

Le produit Collections offre une gamme de points de terminaison API qui peuvent améliorer les fonctionnalités de nos applications.

Liste des points de terminaison exposés par le produit de collections.

Liste des points de terminaison exposés par le produit de collections.

Cependant, nous ne pouvons pas encore les utiliser sans créer un utilisateur API, ce que nous ferons ensuite.

Préparez votre plateforme API préférée, comme le facteuret accédez à l'URL https://sandbox.momodeveloper.mtn.com/v1_0/apiuser pour lancer une requête POST. Assurez-vous d'inclure le X-Reference-Id et le Ocp-Apim-Subscription-Key dans les en-têtes de requête. Le X-Reference-Id correspond à l'UUID V4 que vous pouvez générer à partir d'un fichier gratuit Site Web du générateur d'UUID. En revanche, le Ocp-Apim-Subscription-Key représente la clé primaire acquise après l'abonnement au produit. Suite à la documentation, il est essentiel d'inclure une fonction de rappel dans le corps de la requête pour s'exécuter en cas d'exécution réussie de la requête. À des fins de démonstration, une fonction de rappel générique sera utilisée. Si besoin, vous pouvez obtenir votre fonction de rappel personnalisée depuis un site gratuit et accessible. générateur de fonction de rappel.

Représentation visuelle des en-têtes à inclure dans la demande de création d'utilisateur API.

Représentation visuelle des en-têtes à inclure dans la demande de création d'utilisateur API. (les miens sont cachés)

Après l'envoi de la demande, un code d'état 201 créé par la ressource confirmera la création réussie d'un utilisateur API. Cependant, vous remarquerez peut-être que le corps de la réponse manque d’informations utilisateur essentielles aux demandes ultérieures. Pour acquérir ces données critiques, exécutez une requête GET à l'URL https://sandbox.momodeveloper.mtn.com/v1_0/apiuser/{X-Reference-Id}, en remplaçant 'X-Reference-Id' par l'UUID de la création de l'utilisateur. N'oubliez pas d'inclure le Ocp-Apim-Subscription-Key dans les en-têtes pour l'authentification.

Représentation visuelle du corps de la réponse de la demande « obtenir des informations sur l'utilisateur ».

Représentation visuelle du corps de la réponse de la requête « obtenir des informations sur l'utilisateur ».

Après avoir créé un nouvel utilisateur et récupéré ses informations, il est temps de plonger dans les fonctionnalités des produits de la collection. Bien besoin d'une clé API et d'un jeton de porteur pour chaque requête API pour commencer. Ces éléments essentiels agissent comme notre passe d'accès, permettant à l'API de reconnaître la source de la demande et de nous accorder l'accès aux ressources nécessaires.

Pour commencer, nous allons générer une clé API en faisant une requête POST à ​​l'URL https://sandbox.momodeveloper.mtn.com/v1_0/apiuser/{X-Reference-Key}/apikey, en remplaçant « X-Reference-Key » par l'UUID. N'oubliez pas d'inclure la clé d'abonnement dans les en-têtes de requête.

Représentation visuelle de la clé API reçue dans la réponse

Représentation visuelle de la clé API reçue dans la réponse.

Ensuite, nous allons créer un jeton de porteur pour authentifier chaque requête auprès des différents points de terminaison du produit de collecte. Pour cette étape, nous aborderons les choses un peu différemment. Nous lancerons une requête POST vers l'URL https://sandbox.momodeveloper.mtn.com/collection/token/, y compris la clé d'abonnement dans les en-têtes. En utilisant l'authentification de base, nous définirons le nom d'utilisateur comme X-Reference-Id et la clé API récemment générée comme mot de passe.

Figure 5 : Représentation visuelle du jeton du porteur renvoyé par la requête POST.

Représentation visuelle du jeton du porteur renvoyé par la requête POST.

Nous pouvons désormais utiliser les points de terminaison du produit de recouvrement, en particulier le point de terminaison « demande de paiement », bien qu'avec les informations fournies, vous puissiez également utiliser tous les autres points de terminaison. Commençons par envoyer une requête POST à ​​l'URL https://sandbox.momodeveloper.mtn.com/collection/v1_0/requesttopay. Cette requête fonctionne dans trois états distincts :

1. État d'approbation: où le consommateur fournit son code PIN, confirmant la transaction et la marquant comme réussie. 2. État en attente: où la demande attend l'approbation ou le rejet du consommateur. 3. État de rejet: où le consommateur refuse la demande.

Dans les en-têtes de requête, à côté du standard X-Reference-Id et la clé d'abonnement, nous présenterons l'environnement cible récupéré lors de la récupération des informations utilisateur. De plus, nous mettrons à jour la méthode d'autorisation pour l'authentification du jeton du porteur à l'aide du jeton du porteur nouvellement acquis. Nous inclurons un objet JSON avec les propriétés spécifiées dans le corps de la requête. N'hésitez pas à personnaliser les valeurs selon vos besoins.

Représentation visuelle de la demande de « demande de paiement » réussie.

Représentation visuelle de la demande de « demande de paiement » réussie.

Avant de conclure, expliquons brièvement les propriétés de l'objet JSON soumis comme corps de la requête « demande de paiement » :

Le « montant » désigne l'argent débité du compte du consommateur, tandis que « devise » désigne le nom de la devise de la transaction. « Identifiant externe » sert de référence pour la transaction, facilitant le rapprochement et l'inclusion dans les rapports d'historique des transactions. Dans l'objet « payeur » imbriqué, « partyIdType » peut être « MSISDN » pour un numéro de téléphone validé ou « EMAIL » pour une adresse e-mail vérifiée. Le « partyId » représente le numéro de téléphone du consommateur. Le champ « payerMessage » contient le message pour l'historique des transactions du payeur, et enfin, « payeeNote » comprend une note pour l'historique des transactions du bénéficiaire. Personnalisez ces propriétés selon vos besoins pour vos transactions.

Dans le monde dynamique de la finance numérique, l’API ouverte MTN MoMo change la donne pour ceux qui sont prêts à redéfinir les services financiers.

Malgré le potentiel de la plateforme MTN Mobile Money et de son API, nous avons identifié des obstacles techniques à surmonter, depuis la documentation complexe jusqu'à l'amélioration des fonctionnalités. C'est à nous, la communauté technologique, de faire avancer ces améliorations et de façonner l'avenir de la FinTech grâce à une collaboration open source.

Lisez l'ultime d'Andela guide pour embaucher les meilleurs ingénieurs FinTech appliquer les progrès technologiques pour améliorer les produits et services financiers actuels et créer de nouveaux.

YOUTUBE.COM/THENEWSTACK

La technologie évolue vite, ne manquez aucun épisode. Abonnez-vous à notre chaîne YouTube pour diffuser tous nos podcasts, interviews, démos et bien plus encore.

S'ABONNER

Groupe Créé avec Sketch.

->Google Actualités

5/5 - (308 votes)
Publicité
Article précédentAprès avoir vu Elden Ring Symphonic Adventure, je ne me suis jamais senti aussi prêt pour Shadow of the Erdtree
Article suivantOù sont Dark Vador et Chewbacca dans Fortnite : comment les trouver et obtenir le sabre laser de Vador

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici