MaishaPay REST API

Automatiser le traitement des paiements avec l'une de vos applications métier grâce à notre API REST.


La présente documentation décrit l’API (Application Programming Interface) utilisée par les Marchands Corporates pour effectuer des transactions mobile money serveur à serveur . Cette documentation n'est liée à aucune technologie. Le développeur est libre de faire l'intégration avec n'importe quelle aplication métier.

L'API nécessite les deux APIKey (public et secret) du marchand correspondant au mode dans lequel le compte se presente au moment de a requête (SandBox ou Live) et égalment du code relatif à l'état du compte (0 : SandBox, 1 : Live), tous ses paramètres sont obtenus dans le menu "Développeur" du compte; Il est a noté que toutes les requêtes adressées à nos serveurs doivent obligatoirement comportées ces éléments pour une meilleure expérience.


1. Récupération des APIKeys

Depuis le site marchand, vous devez récupérer les Clés API tout en verifiant le mode de fonctionnement du compte

 gatewayMode : 0 (SANDBOX)
publicApiKey : MP-SBPK-xxxxxxxxxxxxxx secretApiKey : MP-SBSK-xxxxxxxxxxxxxx
 gatewayMode : 1 (LIVE)
publicApiKey : MP-LIVEPK-xxxxxxxxxxxxxx secretApiKey : MP-LIVESK-xxxxxxxxxxxxxx



2.EndPoints

Afin de lancer votre requête à notre API, vous devez indiqué le point d'acces. tout en sachant que les requêtes sont de type POST

                                        https://marchand.maishapay.online/api/payment/rest/vers1.0/merchant
                                    


3. Format de la reqête

les requêtes envoyées à l'API ainsi que les reponses sont de format JSON

                                        
{
    "gatewayMode": 0, // required, 0 : SandBox 1 : Live
    "publicApiKey": "MP-SBPK-xxxxxxx", // required,
    "secretApiKey" : "MP-SBSK-wwwwww", // required
    "transactionReference": "ABCD", // required
    "amount":{double}, // required
    "currency" : "{USD, CDF,USD, CDF, FCFA, EURO}", // required USD, CDF, FCFA, EURO
    "customerFullName": "Jhon DOe", // nullable
    "customerPhoneNumber" : "+243xxxxxxxxx", // nullable
    "customerEmailAddress" : null, // nullable
    "chanel":"MOBILEMONEY", // required MOBILEMONEY
    "provider": "MPESA", // required MPESA, ORANGE, AITEL, AFRICEL, MTN
    "walletID" :"+24381xxxxx" // required
}
                                        
                                    
Important : Avant de passer en production vous devez avoir effectué au moins un payment concluant en mode SANDBOX (Test)
Paramètre Obligatoire Description
[gatewayMode] Oui le Mode dans lequel pointe votre compte au moment de la requête. 0 : SandBox (Test) et 1 : Live
[publicApiKey] Oui la clé API publique récuper dans la partie développeur
[secretApiKey] Oui la clé API secrète récuper dans la partie développeur
[transactionReference] Oui un code unique correspondant à la reférence de la transactin.
[amount] Oui Le montant net de la transanction. à savoir que les frais frais liés à chaque transaction sont déduits au niveau de l'API
[currency] Non la monnaie de la transaction. Entre USD, CDF, FCFA ou EURO.
[customerFullName] Non Optionnel, le nom complet du client éfectuant le paiement.
[customerPhoneNumber] Non Optionnel, numero du client si différent du numéro sur lequel s'effectuera la transaction
[customerEmailAddress] Non Optionnel, l'adresse email du client
[chanel] Oui Le moyen par lequel s'effectuera le paiement en cas d'espèce MOBILEMONEY
[provider] Oui l'Operateur téléphonique. MPESA, ORANGE, AIRTEL, AFRICEL, MTN
[walletID] Oui le numéro de téléphone à utiliser pour la transaction

En cas d'erreur lors de cet appel, MaishaPay retournera des informations pour vous aider à modifier votre requête.

4.Format de la reponse

Si tous les paramètres attendus sont présents et valides, vous recevez une reponse JSON de la forme

                                        
{
    "headers": {},
    "original": {
        "status": 200,
        "data": {
            "originatingTransactionId": "bndgdbdgsb12345", // votre réference
            "statusCode": "202",
            "statusDescription": "Accepted",
            "transactionId": "108475", //notre reference
        }
    },
    "exception": null
}
                                        
                                    

5. Envoi de la demande de paiement sur le téléphone du client

MaishaPay fait appel au service des opérateurs téléphonique pour transmettre la demande de paiement au numéro de téléphone fourni par le client.
Une menu USSD sur le télép permet au clien de confirmer ou annuler le paiement.

6. Notification du client

Le client reçoit un message sur son téléphone pour confirmer la transaction et effectuer le mouvements de fonds dans le cas d'une transaction concluante ou alors un message d'annulation de la transaction.

MaishaPay un produit de Maisha SARL © 2023 by LinkCube Technology SARL