eLipa pour Développeurs

eLipa pour Développeurs
–>

 Introduction sur l’API pour les développeurs

L’intégration de la plateforme eLipa est simple et transparente, comme décrit ci-dessous:-

IntégrationsFlux de processus(Français)Appels API(Geeklish)
1.1 Intégrations Web

  • Le client vérifie sur le site Web marchand/ l’application /l’application de bureau et sélectionne eLipa comme moyen de paiement préféré..
  • Le client est redirigé vers la passerelle de paiement eLipa où il sera présenté. avec une interface contenant les différents canaux de paiement.
  • Le client choisit le mode de paiement, suit les instructions et paie.
  • Si la transaction a été traitée avec succès et que l’on appuie sur le bouton [Confirmer le paiement], eLipa sera redirigé vers le Le marchand qui a fourni une URL de rappel avec les statuts respectifs de Transaction traitée.

  • Paramètres requis pour une intégration de paiement réussie Section 1.1
  • Section 1.2 Faire une demande de paiement et Comment générer le paramètre de hachage (défini dans la section 1.1) qui signe les données postées.
  • Section 2.1 Réponses attendues du rappel
  • Section 2.3 Les valeurs renvoyées par eLipa sont expliquées
  • Section 2.2 Vérification des statuts de paiement avec un chèque IPN
 

 1.1COMMENT ET QUOI POSTER / OBTENIR de la passerelle eLipa

(pour chaque champ, certains caractères ne sont pas acceptés par eLipa. Voir le bas de la page)

Y = Yes N = No O = Optional
Nom du paramètre Type de données (longueur de données) Descriptions Canal
livenumeric(1)Mode LIVE ou DEMO (1 ou 0). “1” Par défaut (live)YY
mobilebankingnumeric(1)Affiche le canal bancaire mobile (activé(on) ou désactivé(off)). “Off” par défaut (c’est-à-dire mobilebanking = 0)OO
debitcardnumeric(1)Affiche le canal de la carte de débit (activé(on) ou désactivé(off)). “Off” par défaut (c’est-à-dire debitcard = 0)OO
creditcardnumeric(1)Affiche le canal de la carte de crédit (activé(on) ou désactivé(off)). “Off” par défaut (i.e. creditcard = 0)OO
oidalphanumeric (34) Numéro de commande YY
invalphanumeric (15)Numéro de facture (défini sur la valeur de l’ID de commande ci-dessus si NULL)YY
ttlnumeric (15) Montant total (NE PAS PASSER de virgule comme séparateur de milliers). par exemple. ttl = 1234,00 et NON ttl = 1 234,00YY
tel alphanumeric (15)Numéro de téléphone du clientYY
eml alphanumeric (30) Adresse électronique du clientYY
vid alphanumeric (12)Identifiant de fournisseur attribué par eLipa. SET DANS LE CAS INFÉRIEUR YY
curralphanumeric (3) Type de devise (XOF ou USD) * XOF par défaut NY
p1 alphanumeric (15) Champ facultatif. permet d’envoyer et de recevoir vos paramètres personnalisés OO
p2alphanumeric (15) Champ facultatif. permet d’envoyer et de recevoir vos paramètres personnalisés OO
p3alphanumeric (15) Champ facultatif. permet d’envoyer et de recevoir vos messages personnalisésOO
p4alphanumeric (15) Champ facultatif. permet d’envoyer et de recevoir vos paramètres personnalisés OO
cbkalphanumeric (100)Ce paramètre contient la valeur de l’URL sur votre serveur auquel eLipa renverra les données de traitement du paiement. Veuillez noter que le paramètre d’URL de rappel est UNIQUEMENT requis si le paramètre cURL (crl) est défini sur zéro (0), ce qui signifie que vous souhaitez qu’un navigateur redirige vers votre site Web.
  • crl = 0 pour le rappel http / https
  • crl = 1 pour un flux de données de valeurs séparées par des virgules
  • crl = 2 pour un flux de données JSON.
YY
lbkalphanumeric (100)Si le client ne parvient pas à effectuer la commande, eLipa renverra le client à notre passerelle. Ce paramètre contient la valeur de l’URL sur votre serveur vers laquelle le client pourra volontairement utiliser pour se connecter à votre site Web. Si aucune valeur n’est fournie, alors par défaut (si ce lien est cliqué), le client sera redirigé vers la page précédente de votre site Web. OO
cstnumeric (1)L’indicateur de notification par courrier électronique du client de valeur 1 ou 0. (Défini sur «1» par défaut pour permettre au client de recevoir notifications txn d’eLipa pour les txns en ligne)YY
crl numeric (1)Nom du champ de saisie de l’indicateur cURL (1 caractère).
  • crl=0 pour le rappel http/https
  • crl=1 pour un flux de données de valeurs séparées par des virgules
  • crl=2 pour un flux de données json.
(Réglé sur “0” par défaut)
OO
hsh alphanumeric (64)Le code de hachage eLipa calculéYY

Les caractères suivants ne sont pas autorisés dans vos paramètres entrants :

; : ~ ` ! % ^ * > < &

Les variables p1, p2, p3 et p4 sont utilisées par vous si vous voulez passer certaines variables dans le système eLipa et les recevoir intactes de votre côté pour vos propres raisons personnelles. Elles ne sont en aucun cas traitées. Le mc est utilisée pour vous notifier de l’argent mobile réellement transféré par l’utilisateur.

 1.2 Comment poster vos paramètres sur eLipa pour traitement

URL

https://payments.elipa.tg/v1/v3/index.php/togo

Nous devons générer l’identifiant de signature de hachage qui doit être envoyé au système eLipa pour authentification par rapport aux valeurs de transaction qui doivent également être reçues sur le même appel URL.

Nous utilisons la fonction hash_hmac en PHP pour signer numériquement les données de transaction.

Selon le langage de programmation de votre choix, n’hésitez pas à l’utiliser ou à utiliser la fonction HMAC équivalente dans votre langage de programmation.

Voici un exemple PHP ci-dessous : Deux paramètres importants sont requis par cette fonction.

  1. La clé secrète et privée – $hashkey – cette clé est générée par vous. Veuillez également nous l’envoyer pour l’enregistrement dans votre compte eLipa.
  2. La chaîne à hacher – $datastring – cette chaîne est composée de TOUS les paramètres que vous passez à l’eLipa dans le format CONCATENATED suivant. L’ordre des variables de transaction est TRES IMPORTANT et DOIT être suivi. Il n’y a AUCUN ESPACES entre les différentes valeurs ci-dessous.

<?php
$datastring 
=  $live.$order_id.$invoice.$total.$phone.$email.$vid.$curr.$p1.$p2.$p3.$p4.$cbk.$cst.$crl;
/**********************************************************************************************************/
$hashkey "yoursecuritykey"//Supply to us during eLipa account registration;
$datastring//This is a string generated from the data to be posted (see above)
$hashid hash_hmac("sha1"$datastring$hashkey); //Set hashing algorithm to SHA1;
/**********************************************************************************************************/
?>
Si vous rencontrez des difficultés pour implémenter cette fonction, voir Section 1.3 en dessous

Exemple de formulaire de POST avec (PHP)



<form method="post" action="https://payments.elipa.tg/v1/v3/index.php/togo">
    live:<input name="live" type="text" value="<?php echo $live;?>" >
    oid:<input name="oid" type="text" value="<?php echo $order_id;?>" >
    inv:<input name="inv" type="text" value="<?php echo $invoice;?>" >

    ttl:<input name="ttl" type="text" value="<?php echo $total;?>" >
    tel:<input name="tel" type="text" value="<?php echo $phone1;?>" >
    eml:<input name="eml" type="text" value="<?php echo $email;?>" >
    
    vid:<input name="vid" type="text" value="<?php echo $vid;?>" >
    curr:<input name="curr" type="text" value="<?php echo $curr;?>" >
    p1: <input name="p1" type="text" value="<?php echo $p1;?>" >

    p2: <input name="p2" type="text" value="<?php echo $p2;?>" >
    p3: <input name="p3" type="text" value="<?php echo $p3;?>" >
    p4: <input name="p4" type="text" value="<?php echo $p4;?>" >
        

    cbk: <input name="cbk" type="text" value="<?php echo $cbk;?>" >
    cbk: <input name="lbk" type="text" value="<?php echo $lbk;?>" >

    cst:<input name="cst" type="text" value="<?php echo $cst;?>" >
    crl:<input name="crl" type="text" value="<?php echo $crl;?>" >
    lbk:<input name="lbk" type="text" value="<?php echo $cbk;?>" >


    <input name="hsh" type="text" value="<?php echo $hashid;?>" >
    <button type="submit">&nbsp;Lipa&nbsp;</button>

</form>

 1.3 Que faire si la mise en oeuvre du hachage HMAC dans le langage de script choisi est difficile?

Si votre langage de programmation ne dispose pas d’une implémentation facile à utiliser de la fonction HMAC, contrairement à PHP, vous pouvez POSTER votre chaîne de données, votre clé secrète et votre identifiant de fournisseur au commerçant à l’URL suivante, à l’aide de la bibliothèque cURL ou de son équivalent:

URL:

https://payments.elipa.tg/hashid/
POSTER les noms des paramètres et les exemples de données Veuillez noter que la chaîne de données DOIT être dans le même ordre que celui indiqué à la section 2.1 ci-dessus.

vendor = demo
data = 11111Demo Merchants1231232000722123456test@demo.comdemokesparam1param201
key = yoursecuritykey

Le flux HTTP renvoyé est l’identifiant hash que vous devez choisir et utiliser. Si le flux HTTP renvoie la chaîne “non valide”, alors un ou plusieurs de vos paramètres n’est pas correct. Cet identifiant hash est ensuite fourni comme l’un des paramètres à envoyer au système de paiement eLipa pour vérification, comme indiqué dans la section 1.1.

eLipa – Payments made Easy :: version 3.0
Veuillez coder l’URL de votre URL de rappel APRES avoir haché la chaîne de données.
Cette valeur de rappel codée par URL est celle que vous devez publier dans le paramètre d’URL de passerelle eLipa [cbk].
Veuillez NE PAS hacher la valeur encodée en URL de votre URL de rappel.
L’algorithme hmac utilisé ici est SHA1. Il ne doit pas être utilisé avec les autres algorithmes de hachage.

Si votre ID fournisseur ($ vendor_ref) n’est pas encore enregistré avec eLipa, vous obtiendrez une erreur indiquant cela et vous indiquant comment vous y prendre pour remédier à cela.

 2.1 Réponse de rappel HTTP définie par le commerçant / URL de retour

Pour ce faire, définissez l’option crl dans votre appel à la passerelle eLipa à 0 (crl = 0)

Chez eLipa, nous avons besoin que vous nous fournissiez l’URL de rappel ou de retour. Il s’agit de l’URL/page à laquelle eLipa enverra les
les paramètres mentionnés dans Section 1.1. Reportez-vous au paramètre “cbk” sur Section 1.1

Ces variables seront renvoyées vers votre site Web via votre URL de retour, en utilisant la méthode GET.

Un exemple de l’URL de votre site Web serait www.mystore.co.ke.

Ainsi, vous avez peut-être défini votre URL de rappel ou de retour à l’expéditeur comme www.mystore.tg/elipa.php .

Par conséquent, l’URL de retour eLipa d’une transaction ressemblerait alors à ceci :

www.mystore.tg/returnpage.php?
id=23&txncd=we243ty234&status=aei7p7yrx4ae34&ivm=23234&qwh=34565&afd=23545&poi=345654&uyt=4567
 8&ifd=123456&agt=324566&mc=350&p1=customevalue1&p2= customevalue1 &p3= customevalue1 &p4= custome
 value1 &msisdn_id=firstname+lastname&msisdn_idnum=254710000000

Nous vous recommandons de configurer cette URL de rappel de telle sorte qu’une fois qu’eLipa rappelle votre site Web, cette page d’URL de rappel soit redirigée vers une autre page, par mesure de sécurité, une fois qu’elle a terminé son traitement basé sur les paramètres de l’URL de retour mentionnés dans Section 1.1 de ce manuel.

Voir aussi
Section 2.3 (Additional Call Back / Return URL Security) ci-dessous pour une vérification encore plus efficace

recommandée de la sécurité des notifications de paiement que vous devriez mettre en œuvre.

 2.2 Vérification du paiement

Vous pouvez vérifier le statut de paiement de chaque transaction lors du rappel. Ce code montre comment.

  
  <?php
$val 
""//Attribut eLipa Vendor ID... codez-le ici.
/*
Ces valeurs ci-dessous sont choisies dans l'url entrante et attribuées à des variables que nous
utiliserons dans notre URL de contrôle de sécurité
*/
$val1 $_GET["id"];
$val2 $_GET["ivm"];
$val3 $_GET["qwh"];
$val4 $_GET["afd"];
$val5 $_GET["poi"];
$val6 $_GET["uyt"];
$val7 $_GET["ifd"];

$ipnurl "https://payments.elipa.tg/v1/tg/index.php/ipn/check/?vendor=".$val."&id=".$val1."&ivm=".
$val2."&qwh=".$val3."&afd=".$val4."&poi=".$val5."&uyt=".$val6."&ifd=".$val7;
$fp fopen($ipnurl"rb");
$status stream_get_contents($fp, -1, -1);
fclose($fp);
//La valeur du paramètre “vendor”, dans l' URL ouverte ci-dessus , est votre eLipa attribué
Vendor ID.
//C'est le le code correcte de l'état de elipa correspondant à cette transaction.
//Utilisez-le pour valider votre trancastion entrante(pas celle fournie dans l'URL entrante)

//continuez le code de routine de mise à jour de votre panier ci-dessous....
//Puis rediriger vers la page de notification client ici...
?>

Cette solution IPN peut également être implémentée dans d’autres langages de développement d’applications Web.

Les variables décrites ci-dessus sont renvoyées par eLipa lors du rappel au Callback url(cbk) fourni,
ils sont décrits dans Section 2.4 Les variables renvoyées par eLipa

 2.3 Les variables que l’interface eLipa renvoie lors du Callback:

(a)La variable de statut a les valeurs possibles suivantes:-

fe2707etr5s4wq = Échec de la transaction. Tous les paramètres ne sont pas respectés. Une notification de cette transaction a été envoyée au marchand.

aei7p7yrx4ae34 = Succès : La transaction est valide. Par conséquent, vous pouvez mettre à jour cette transaction.

bdi6p2yy76etrs = En attente : Transaction d’argent mobile entrant Non trouvé. Veuillez réessayer dans 5 minutes.

cr5i3pgy9867e1 = Utilisé : Ce code a déjà été utilisé. Une notification de cette transaction a été envoyée au marchand.

dtfi4p7yty45wq = Inférieur : Le montant que vous avez envoyé via l’argent mobile est MOINS élevé que ce qui était nécessaire pour valider cette transaction.

eq3i7p5yt7645e = Supérieur : Le montant que vous avez envoyé via l’argent mobile est PLUS élevé que ce qui était nécessaire pour valider cette transaction. (C’est au marchand de décider quoi faire de cette transaction ; s’il doit la transmettre ou non)

(b) id pour que vous authentifiiez à nouveau l’ID de commande et le mappez à nouveau à la transaction de commande>

(c) ivm le numéro de facture est renvoyé sous forme de hachage MD5 à traiter si vous devez.

(d) qwh, afd, poi, uyt, ifd, agt variables d’identifiant uniques et spécifiques au navigateur renvoyées par le système eLipa.

(e) mcc’est le montant qui a été envoyé par l’utilisateur via le transfert d’argent mobile. Cela se présente sous la forme d’un entier et sans le séparateur de milliers (,). Vous pouvez l’utiliser pour vous authentifier par rapport au montant que l’utilisateur a vérifié.

(f) p1, p2, p3, p4:ce sont quatre paramètres CUSTOM qui vous permettent simplement de passer vos propres paramètres dans notre système et de les récupérer une fois de plus de votre côté. Ils sont de nature (alphanumérique) ; vous pouvez donc passer du texte, des chiffres ou une combinaison de ceux-ci.

(g) txncd: Il s’agit du code de transaction que l’utilisateur a entré (dans le cas de l’argent mobile) ou qui a été généré par le système (dans le cas des transactions Kenswitch et VISA/Mastercard).

(h) msisdn_id: Il s’agit du nom du payeur tel qu’il est enregistré par son système de monnaie mobile / système bancaire.

(i) msisdn_idnum: Il s’agit du numéro de téléphone du payeur tel qu’il est enregistré par son système de paiement mobile/bancaire. Ils sont retournés pour votre avantage.

(i) msisdn_custnum: Il s’agit du numéro de téléphone du client que vous avez inscrit dans notre système ainsi que les détails de la commande à la page 3 ci-dessus. Ils sont retournés pour votre avantage. ** Veuillez noter que les variables les plus importantes sont les suivantes (a) – (c), (e) and (g)

 2.4 Comment tester le bon fonctionnement de votre implémentation ?

Comment tester le bon fonctionnement de votre implémentation ? Lorsque l’interface eLipa se charge correctement, les codes factices suivants peuvent être utilisés sur les différents canaux : Les données fictives ci-dessous ne fonctionneront QUE SI vous avez réglé le paramètre temps réel sur “0”.”. Voir Section 1.1 Une fois le test terminé, réglez le paramètre temps réel sur “1” et vous êtes prêt à partir. Voir Section 1.1.

Canaux d’argent mobile

TMoney/Flooz
Il n’y a pas de valeurs de test pour cela, il suffit de s’assurer que le paramètre Live est “0” pour la démo comme indiqué ci-dessus.

Canal des cartes de crédit

Numéro de carte de crédit Statut de l’API eLipa CDétails de la carte, valeur de rachat et date d’expiration
4444444444444444 Réussi déterminé par vous
3333333333333333 Echoué Déterminé par vous

 2.5 Interface Elipa

Une fois connecté avec succès à la passerelle eLipa, vous devriez voir une interface comme celle-ci:

ipay interface

L’exemple ci-dessus s’affiche lorsqu’un utilisateur a cliqué sur l’onglet eLipa

 3.1 Comment visualiser vos transactions eLipa?

Nous nous attendons à ce que vous développiez un site Web pour votre marchand avec un panier d’achat qui permet au marchand d’obtenir rapidement des rapports en temps réel sur les ventes et les commandes qui ont eu lieu sur leur site Web une fois que eLipa communique de nouveau à votre site.

Cependant, nous avons également développé une interface administrative facile à utiliser qui permet au marchand de suivre rapidement ses propres transactions à des fins de rapprochement.

Cette interface est disponible à l’adresse URL suivante :URL: https://dashboard.elipa.tg/ Vous pouvez faire ce qui suit:

  • Visualiser les transactions réussies et non réussies
  • Créer des utilisateurs système supplémentaires
  • Visualiser les transactions inutilisées, où l’utilisateur a envoyé de l’argent mais ne l’a pas utilisé.
  • Effectuez des remboursements pour les transactions qui, à votre avis, nécessitent cette opération.
  • Voir les transactions remboursées
  • Exporter les relevés ou les rapports d’activité des transactions en format Excel et PDF
  • Générer des graphiques d’analyse des tendances
  • Envoyer de l’argent de votre compte eLipa aux destinataires cibles (via Tmoney ou Flooz)
  • Générer des factures électroniques à envoyer par courriel à vos clients pour leur demander de vous payer.
  • Gérer les e-factures que vous générez ci-dessus