La présente documentation est destinée aux développeurs souhaitant intégrer le paiement MaishaPay sur un site marchand. Cette documentation n'est liée à aucune technologie. Le développeur est libre de faire l'intégration avec n'importe quel outil web ou mobile. Il combine HTML, JavaScript et CSS pour faire appel à un formulaire de paiement intégré. Lorsque votre client saisit ses informations de paiement, les détails sont vérifiés et validés afin que votre code côté serveur puisse s'exécuter.
Il 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
l'accès à Maishapay Checkout passe par un HTLM Form dont l'attribu Action pointe vers l'url ci-dessous, tout en sachant que les requêtes sont de type POST
< form action="http://maishapay.test/payment/vers1.0/merchant/checkout" method="POST" >
3. Formulaire de paiement
Ajoutez le code suivant à la page de paiement de votre plateforme, en vous assurant que les informations contenues dans ce formulaire sont envoyées via votre code côté serveur :
<form action="https://marchand.maishapay.online/payment/vers1.0/merchant/checkout" method="POST">
<input type="hidden" name="gatewayMode" value=0> // required, 0 : SandBox 1 : Live
<input type="hidden" name="publicApiKey" value="MP-SBPK-xxxxxxx">// required
<input type="hidden" name="secretApiKey" value="MP-SBSK-wwwwww">// required
<input type="hidden" name="montant" value="{TOTAL_AMOUNT}">// required
<input type="hidden" name="devise" value="{USD|CDF|FCFA|EURO}">// required
<input type="hidden" name="callbackUrl" value="{callback Url}">// nullable
<input type="submit" value="Payer">
</form>
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 |
[montant] |
Oui | Le montant net de la transanction. à savoir que les frais frais liés à chaque transaction sont déduits au niveau de l'API |
[devise] |
Non | la monnaie de la transaction. choisire entre USD, CDF, FCFA ou EURO. |
[callbackUrl] |
Non | Si cette variable existe, quelque soit le choix du client ou encore l'issus de la transaction, un requête de type POST est rédiriger vers l'URL insérer comme value. Au cas contraire, le client est notifier directement via nos serveur de l'état de la transaction. |
Si tous les paramètres attendus sont présents et valides, le client est redirigé vers nos serveur afin de passer à l'étape suivante. Mais, en cas d'erreur lors de cet appel, MaishaPay retournera des informations pour vous aider à modifier votre requête.
4. Redirection vers MaishaPay
L'URL sécurisée inserer à l'étape précédente est utilisée pour rediriger l'utilisateur vers les serveurs MaishaPay pour continuer la transaction et effectuer le paiement.
Il s'agit d'une redirection HTTP classique.
5. Confirmation du paiement
Le client est donc redirigé sur le site MaishaPay pour :
- Renseigner le numéro de téléphone Orange Money à utiliser pour effectuer le paiement ;
- Confirmer avoir pris connaissance des condiditions générales d'utilisation ;
- Valider la demande de paiement.
6. 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.
7. 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.
7. Notification du status
de la transaction sur votre site marchand
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.
8. Notification du site du marchand callbackUrl
Le callbackUrl
ou lien de retour, vous permet de rediriger automatiquement votre client vers une page spécifique de votre choix, une fois qu'il a atteint la fin du processus de règlement de la transaction.
Ce lien vous renverra également le statut de la transaction : status
, la description : description
, la référence de la transaction : transactionRefId
ansi que la référence de paiement auprès de l'opérateur : operatorRefId
.
Etatnt facultatif. Dans le cas où vous ne renseigner pas cette valeur, le client sera diriger l'une de nos pages lui indiquant le statuts de la transaction.
Exemple
Avec le lien de retour spécifié pour une transaction approuvée
https://www.mywebsite.com/?status=202&description=Accepted&transactionRefId=1234&operatorRefId=ABCD
Dans cet exemple, le lien par https://www.mywebsite.com/ est celui que vous spécifié comme callbackUrl
.