Aller au contenu principal

Exemples d'intégrations

Ce guide présente les étapes nécessaires à l'intégration des SDK et des APIs REST de MOALA dans votre application.

Intégration du SDK​

MOALA a développé des SDK prêts à l'emploi pour vous faciliter l'intégration de sa plateforme. Ces SDK supportent plusieurs opérations, à savoir : vérification de solde, historique des transactions, vérification de conformité KYC, dépôt d'argent, retrait d'argent, etc

Nous mettons à votre disposition des SDKs de 3 langages de programmation, à savoir :

info

Afin d'utiliser les SDK que nous présenterons ci-dessous, il est nécessaire d'avoir un compte sur notre backoffice.

Ce compte est créé lorsque vous avez validé toutes les formalités administratives présentées dans la section précédente Prérequis et procédure d'intégration

Prerequis​

  • Java 8 ou supérieur
  • Maven pour gérer les dépendances

Installation​

Vous pouvez installer le SDK via Maven.

<dependency>
<groupId>africa.moala</groupId>
<artifactId>sdkmoala</artifactId>
<version>1.0</version>
</dependency>

Ajoutez le SDK à votre projet en utilisant la commande :

mvn package

Configuration​

Pour utiliser le SDK, vous avez besoin d'une clé d'API fournie par MOALA. Voici comment l'utiliser pour initialiser le SDK :

import africa.moala;

String urlApi = "https://api.moala.africa";
String appKey = "your_app_key";
String secretKey = "your_secret_key";

MoalaClient moalaClient = new MoalaClient(appKey, secretKey, urlApi);

Utilisation​

Consultation de solde​

double res = moalaClient.getBalance();
System.out.println(res);

Vérification de transaction​

TransactionView transactionView = moalaClient.checkTransaction("partnerId");
System.out.println(transactionView);

Vérification des KYC​

KycView kycView = moalaClient.getKycNumber("phoneNumber","serviceCode");
System.out.println(kycView);

Effectuer un dépôt​

TransactionView transactionView = moalaClient.cashin("phoneNumber","serviceCode",amount, "partnerId");
System.out.println(transactionView);

Effectuer un retrait​

TransactionView transactionView = moalaClient.cashout("phoneNumber","serviceCode",amount, "partnerId");
System.out.println(transactionView);

Intégration de l'API REST​

L'API de MOALA est une API REST classique qui peut être intégrée à tout backend fonctionnel. Il y'a juste quelques configurations mineures à effectuer afin de pouvoir l'utiliser.

Configuration des entêtes​

L'API de MOALA requiert 3 entêtes obligatoires à ajouter afin de l'utiliser :

  • LP-ACCESS-KEY: l'API Key disponible dans le Portail MOALA
  • LP-ACCESS-TIMESTAMP: time epoch en seconde
  • LP-ACCESS-SIGN: la signature numérique ou API Secret Key qui est générée par vous

Génération de la signature​

Le format de la signature est le suivant : LP-ACCESS-TIMESTAMP + requestMethod + pathRequest + body (en json)

La chaîne obtenue doit ensuite être signé avec la clé d'API obtenue dans le portail d'administration, puis signé avec l'algorithme HMAC-SHA256 HEX.

API Get Balance​

// Java - Récupération du solde
String message = "1718193158GET/v1/api/balance";
String secret_key = "your_secret_key";

String signatureSyn = HmacUtils.hmacSha256Hex(secret_key, message);

API CashIn Orange Money​

// Java - Cashin Orange Money
String message = "1718199502POST/v1/api/transaction/withdrawal{\"transactionType\":\"withdrawal\",\"amount\":100,\"serviceCode\":\"CASHIN_MTN_CM\",\"phoneNumber\":\"675598817\",\"partnerId\":\"tst_13\"}";
String secret_key = "your_secret_key";

String signatureSyn = HmacUtils.hmacSha256Hex(secret_key, message);
info

Les Service Code disponibles pour les appels d'APIs sont les suivants :

  • CASHIN_MTN_CM: cashin MTN Cameroun
  • CASHIN_ORANGE_CM: cashin orange Cameroun
  • CASHIN_AIRTEL_GA: cashin airtel Gabon
  • PAIEMENTMARCHAND_AIRTEL_GA: payment Marchand airtel Gabon
  • PAIEMENTMARCHAND_ORANGE_CM: payment Marchand orange Cameroun
  • PAIEMENTMARCHAND_MTN_CM: payment Marchand MTN Cameroun

Gestion des erreurs​

Chaque méthode du SDK peut lever des exceptions en cas d'erreur, et les endpoints des APIs peuvent retourner des codes d'erreur.

Support​

Si vous avez des questions ou des diffiultés à intégrer nos APIs, vous pouvez ouvrir un ticket de support ici GitHub repository.