Logo Blue Finalse
Console 
  Français   English


Javascript


  • DÉMARRER
  • Authentification
  • Hello World
  • Tarification
  • Rate Limit
  • CAS D'UTILISATION
  • Intégration UI FPay
  • Intégration UI personalisé
  • Interopérabilité  New
  • Liens et QRCodes de Paiement
  • Argent des tiers  New
  • Audit & Tableau de bord  New
  • REFÉRENCES
  • Attempt
  • AuthAccess
  • Deposit
  • FundRequest
  • QuasiTransfer
  • Transaction
  • Transfer
  • Wallet
Logo Blue FinalseLogo Blue Finalse
Javascript
Console 
  Français   English
  • DÉMARRER
  • Authentification
  • Hello World
  • Tarification
  • Rate Limit
  • CAS D'UTILISATION
  • Intégration UI FPay
  • Intégration UI personalisé
  • Interopérabilité  New
  • Liens et QRCodes de Paiement
  • Argent des tiers  New
  • Audit & Tableau de bord  New
  • REFÉRENCES
  • Attempt
  • AuthAccess
  • Deposit
  • FundRequest
  • QuasiTransfer
  • Transaction
  • Transfer
  • Wallet

Hello World

Objectif  

En Premier lieu
Le but de cette prémière application sera de récupérer de manière programmatique de l'argent sur votre portefeuille Mtn Money afin de faire un dépôt sur votre compte principal FPay.
Bien évidemment, nous supportons les 3 opérateurs et l'opérateur MTNMoney a juste été sélectionné à titre illustratif pour les besoins de cet exemple.

Votre Environnement  


Javascript

Pré Requis  

Javascript
Ce SDK nécessite
Node >=9.5

Authentification
Nous supposons que vous avez bien évidemment ouvert votre compte FPay et que vous êtes en possession de votre  token et de votre secretKey  obtenus lors de la creation de l'objet AuthAccess comme expliqué  sur la page d'Authentification.

Initialisation  

  • NPM
  • Yarn
npm install @finalse/sdk-node
yarn add @finalse/sdk-node

Code  

const sdk = require('@finalse/sdk-node');
// or alternatively 
// import * as sdk from '@finalse/sdk-node';

const fPay = sdk.FPayClient(sdk.Auth({token: '<token>', secretKey: '<secretKey>' }));
const depositPromise = 
    fPay.deposit.initiate({
        amount: "10_000 XOF",
        source: "CI MtnMoney +2250500000000",
        h1: "Premier Dépôt via API"
    });
depositPromise.then(deposit => {
    console.log(deposit.toString());
});

Quelques Remarques  

  • On remarque déjà que la valeur du champ h1 est le titre, la justification, le libellé de cette opération. Lors de nos opérations, il nous faudra choisir une valeur descriptive claire pour nous retrouver et mieux nous organiser plus tard.
  • On remarque ensuite que lorsqu'on précise le montant "10_000 XOF", il est possible d'ajouter le caractère facultatif  "_"  pour éffectuer une separation visuelle.
  • On remarque également que si nous voulons recupérer de l'argent depuis un compte Orange Money en Côte d'Ivoire, Il nous faudra tout simplement changer la valeur du champ source  par la valeur suivante:  "CI OrangeMoney +22507xxxxxxxx".  Parce que  CI est le code ISO 3166 Alpha 2 de la Côte d'Ivoire, il est nul besoin d'expliquer ce qui se serait passé si nous avions mis la valeur  "CI MoovMoney +22501xxxxxxxx" ou encore la valeur  "BF OrangeMoney +22678xxxxxxxx" . Simple, Logique n'est ce pas ?

Ce sera tout   

Félicitation, Vous pouvez exécuter le code précédent car vous venez d'éffectuer votre première intégration avec notre API. L'objet Deposit ainsi créé est désormais visible sur votre console . Sur le téléphone, vous recevrez un message vous invitant à valider la transaction. Veuillez composer *133# puis 1 puis votre code secret Momo pour valider la transaction.
Veuillez confirmer votre opération MTN Money

Que s'est-il passé ?   

En arrière-plan, voici un aperçu ce qui vient de se passer juste avec le code ci-dessus :

  • Authentification des serveurs en utilisant des signatures basées sur la cryptographie à clé publique
  • Connexion sécurisée avec des suites de chiffrement garantissant une confidentialité persistante
  • Signature de la requête avec un algorithme basé sur la fonction de hachage cryptographique SHA-512
  • Ajout d'un mecanisme permettant d'éviter les attaques par rejeu
  • Ajout d'un mecanisme permettant d'éviter les attaques temporelles

Bonus  

Nous vous proposons la version longue du code précedent qui fait exactement  la même chose que le code ci dessus, juste pour vous montrer un aperçu des possibilités de FPay

const sdk = require('@finalse/sdk-node');
// or alternatively 
// import * as sdk from '@finalse/sdk-node';

const fPay = sdk.FPayClient(sdk.Auth({token: '<token>', secretKey: '<secretKey>' }));
const depositPromise = 
    fPay.deposit.initiate({
        amount: {
            currency: "XOF",
            value: "10_000"
        },
        source: {
            _type: "Single",
            account: {
                country: "CI",
                identifier: "+2250500000000",
                providerKey: "MtnMoney"
            }
        },
        h1: "Premier Dépôt via API"
    });
depositPromise.then(deposit => {
    console.log(deposit.toString());
});

La simplicité est une grande vertu, mais celle ci requiert de grands efforts pour être atteinte ainsi qu'une éducation de qualité pour être appréciée

Edsger W. Dijkstra

Bienvenue dans une Grande Expérience
Bienvenue à la Simplicité
Bienvenue sur Finalse

HELLO WORLD
  • Objectif
  • Votre Environnement
  • Pré Requis
  • Initialization
  • Code
  • Quelques Remarques
  • That's It
  • Que s'est-il passé ?
  • Bonus