Labyrinthe
Introdution
Ce package fournit un ensemble de classes et fonctions prêtes à l'utilisation, qui permettent d'intégrer rapidement les API des différents agrégateurs de paiement. Cette partie couvre spécifiquement l'intégration des APIs de LabyrinthePay dont l'utilisation présente des nombreux avantages.
Qu'est-ce que LabyrinthePay ?
LabyrinthePay est un service comme tant d'autres couverts par Labyrinthe-RDC
(une entreprise numérique).
Le service offre une collection évolutive et complète d'APIs proposée par
Labyrinthe-RDC. Elle prend en charge un large éventail de méthodes de paiement
que nous sommes les seuls à proposer. Des méthodes de paiement mobile, aux
services bancaires et bientôt les crypto-monnaies, intégrez des solutions de
paiement en toute simplicité.
Labyrinthe mobile service
Dans la section mobile, nous allons étudier tous les endpoints liés au paiement mobile. En d'autres termes, il s'agira d'effectuer un paiement et de vérifier les résultats de ces différents paiements. Nous proposerons également un sandbox (gratuits) pour vos différents tests de paiement avant de passer en production.
Le sandbox est l'API la plus facile à intégrer car elle exige moins de paramètres que le reste. Son but est de tester le paiement dans votre application avant de la passer en production. Les paramètres à passer sont :
Params | Descritption | Exemple | Required |
---|---|---|---|
token | C'est la clé fournie par Labyrinthe pour vous permettre d'effectuer les transactions et les vérifications. Comment l'obtenir ? | xxxxxxxxxx | YES |
reference | C'est la référence de la transaction. C'est l'une des informations qui vous permettrons de retracer vos différentes transactions. | xxxxxxxxxx | YES |
phone | Le numéro de téléphone qui devra valider la transaction. | 0891234567 | YES |
gateway | C'est l'URL de l'API de LabyrinthePay qui permet d'effectuer les transactions test. Disponible ici. | https://abc.com | YES |
Ces paramètres ne sont pas envoyés séparément mais plutôt sous forme
d'un tableau pour des raisons de lisibilité et de concision. Cela permet
aussi de filtrer et sécuriser le système d'une certaine manière.
Exemple :
$array = [ "token" => "$2y$12$ngaXsXGwkrxpTAA.ubLXietv/Pdadfbx3OziwIH88inGU4sGi6ivm", "reference" => "First_TX", "phone" => "0896699032", "gateway" => "https://payment.labyrinthe-rdc.com/api/beta/mobile", ];
Le package intéragit avec des systèmes extérieurs grâce à des méthodes
statiques, ce qui facilite l'intégration et la compréhension du code.
Exemple :
$labyrinthe = LabyrintheServiceProvider::sandbox($array);
-
LabyrintheServiceProvider :
C'est la classe qui porte l'ensemble des méthodes de paiement et de vérification de LabyrinthePAY.
-
sandbox :
C'est la méthode statique du sandbox de paiement de LabyrinthePAY.
-
$labyrinthe :
C'est la variable (attribut) dans laquelle nous affectons les informations que retourne la fonction sandbox. Ces informations seront ensuite traitées selon les besoins.
Exemple du résultat :
{ "success": true, "errors": [], "array": [ { "success": true, "message": "Transaction envoyée avec succès. Veuillez valider le push message", "data": { "code": "0", "message": "Transaction envoyée avec succès. Veuillez valider le push message", "orderNumber": "OgLxDSO53TEw243896699032" }, "errors": [] } ] }
Si vous observez la reponse contenu dans $labyrinthe
,
vous vous rendrez rapidement compte que c'est en JSON
.
Certaines personens apprécient la manipulation du JSON
(jugée plus facile), d'autres préfèrent celle des tableaux.
Notre package offre la possibilité aux utilisateurs de choisir le
format de réponse qui leur est convenable. Dans l'exemple d'avant,
nous n'avons rien spécifié mais la réponse a été renvoyée en
JSON
, c'est normal parce que c'est le format par défaut.
Voici comment passer d'un format à un autre :
$array = [ "token" => "$2y$12$ngaXsXGwkrxpTAA.ubLXietv/Pdadfbx3OziwIH88inGU4sGi6ivm", "reference" => "First_TX", "phone" => "0896699032", "gateway" => "https://payment.labyrinthe-rdc.com/api/beta/mobile", ]; # Si vous voulez une réponse en format de tableau, mettez false. $options = [ "JSON" => false ]; # Passez ensuite $options comme deuxième paramètre. $labyrinthe = LabyrintheServiceProvider::sandbox($array, $options);
Si vous voulez du JSON
, il y a deux possibilités.
Soit vous faites comme dans notre premier exemple où nous avons
appelé la méthode sandbox
, c'est-à-dire ne pas
passer $options
comme paramètre de la méthode,
soit vous passez à true
la valeur de l'index JSON
dans le tableau $options
.
Si vous ne voulez pas du JSON
, passez le paramètre
$options
dans la méthode sandbox, tout en
s'assurant que la valeur de l'index JSON est false
dans le tableau $options
.
Pour montrer comment manipuler les valeurs en JSON avec du PHP,
nous prendrons pour exemple la réponse en JSON
de
l'exemple précédent.
# Afficher la valeur de success echo $labyrinthe->success; # Afficher le message de la reponse echo $labyrinthe->array->message;
Labyrinthe get transaction(s)
Dans cette section, nous verrons comment checker les informations liées à nos transactions. Ces informations peuvent être : le moyen de paiement, le montant, le statut, la monnaie, etc. Nous pourrons demander des informations pour une seule transaction ou en demander pour toutes nos transactions.
Cette fonction permettra de consulter les informations d'une seule transaction. Elle peut être importante pour la validation d'un achat, peut aider à faire l'inventairen, etc.
Params | Descritption | Exemple | Required |
---|---|---|---|
token | Qu'est-ce que le token ? Comment l'obtenir ? | xxxxxxxxxx | YES |
orderNumber | C'est une référence provenant de l'agrégateur. Elle permet de retracer les transactions. | LTr4wiAI0a7j | YES |
gateway | C'est l'URL de l'API de LabyrinthePAY qui permet de récupérer une transaction. Disponible ici. | https://abc.com | YES |
Ces paramètres ne sont pas envoyés séparément mais plutôt sous forme
d'un tableau pour des raisons de lisibilité et de concision. Cela permet
aussi de filtrer et sécuriser le système d'une certaine manière.
Exemple :
$array = [ "token" => "$2y$12$ngaXsXGwkrxpTAA.ubLXietv/Pdadfbx3OziwIH88inGU4sGi6ivm", "orderNumber" => "LTr4wiAI0a7j243896699032", "gateway" => "https://payment.labyrinthe-rdc.com/api/beta/get-transaction", ];
Le package intéragit avec des systèmes extérieurs grâce à des méthodes
statiques, ce qui facilite l'intégration et la compréhension du code.
Exemple :
$labyrinthe = LabyrintheServiceProvider::getTransaction($array);
-
LabyrintheServiceProvider :
C'est la classe qui porte l'ensemble des méthodes de paiement et de vérification de LabyrinthePAY.
-
getTransaction :
C'est la méthode statique qui permet la récuperation des détails d'un paiement spécifique effectué dans LabyrinthePAY.
-
$labyrinthe :
C'est la variable (attribut) dans laquelle nous affectons les informations que retourne la fonction getTransaction. Ces informations seront ensuite traitées selon les besoins.
{ "data": { "success": true, "errors": [], "array": [ [ { "reference": "querty-1", "orderNumber": "LTr4wiAI0a7j243896699032", "type": 1, ... "provider_reference": "7cdsauzhzunnkyldo17yvfoedlyi3g6b", "status": 1, } ] ] } }
Cette fonction permettra de récupérer les informations de toutes les transaction à partir du token de l'utilisateur.
Params | Descritption | Exemple | Required |
---|---|---|---|
token | Qu'est-ce que le token ? Comment l'obtenir ? | xxxxxxxxxx | YES |
gateway | C'est l'URL de l'API de LabyrinthePAY qui permet de récupérer une transaction. Disponible ici. | https://abc.xyz | YES |
Ces paramètres ne sont pas envoyés séparément mais plutôt sous forme
d'un tableau pour de lisibilité et de concision. Cela permet aussi de
filtrer et sécuriser le système d'une certaine manière.
Exemple :
$array = [ "token" => "$2y$12$ngaXsXGwkrxpTAA.ubLXietv/Pdadfbx3OziwIH88inGU4sGi6ivm", "gateway" => "https://payment.labyrinthe-rdc.com/api/beta/get-transactions", ];
Le package intéragit avec des systèmes extérieurs grâce à des méthodes
statiques, ce qui facilite l'intégration et la compréhension du code.
Exemple :
$labyrinthe = LabyrintheServiceProvider::getTransactions($array);
-
LabyrintheServiceProvider :
C'est la classe qui porte l'ensemble des méthodes de paiement et de vérification de LabyrinthePAY.
-
getTransactions :
C'est la méthode statique qui permet la récuperation des détails des transactions spécifiques effectuées dans LabyrinthePAY.
-
$labyrinthe :
C'est la variable (attribut) dans laquelle nous affectons les informations que retourne la fonction getTransactions. Ces informations seront ensuite traitées selon les besoins.