MaishaPay CHECKOUT

accepter les paiements directement sur votre site Web ou votre application mobile.


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.

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