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.