Get Transaction(s)
Pour checker les états de vos différentes transactions, LabyrinthePay met à votre disposition des APIs de vérification. Très simples et pratiques à intégrer. Dans cette section nous vous montrerons comment recupérer les détails d'une seule transaction et/ou de l'ensemble de vos transactions.
N.B:
- La connexion internet est requise pour toutes ces opérations. Beaucoup oublient d'activer la connexion internet lorsqu'ils travaillent en local alors que toutes ces APIs sont dans un serveur distant. Ne vous inquiétez pas, les APIs ne consomment pas beaucoup.
Get-transaction
Routes
La route est la passerelle comprise entre votre demande, l'action et la réponse de votre requête. En d'autres termes, c'est l'URL dans laquelle vous envoyez votre requête.
https://payment.labyrinthe-rdc.com/api/beta/get-transaction
Les caractéristiques principales de la requête :
URL | Méthode | Return value ? |
---|---|---|
https://payment.labyrinthe-rdc.com/api/beta/get-transaction | POST | YES |
Les paramètres de la requête :
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 |
orderNumber | C'est une référence de la transaction envoyé par le provider. C'est l'une des informations qui vous permettrons de retracer vos différentes transactions. | xxxxxxxxxx | YES |
-
method :
Nous gardons la méthode
POST
-
token :
Le token est votre jeton de paiement personnalisé et confidentiel. Il
représente vos informations confidentielles et peut être considéré
comme votre empreinte numérique. L'exemple ci-dessous montre
à quoi ressemble un token mais n'est pas valide.
Exemple :$2y$12$ngaXsXGwkrxpTAA.ubLXietv/Pdadfbx3OziwIH88inGU4sGi6ivm
Comment obtenir son token ? Cliquer sur ce lien pour plus d'informations. -
orderNumber :
Le
orderNumber
est la référence fournie par l'agrégateur et représente l'ID de votre transaction dans son système. Elle vous permet de retracer une à une toutes vos transactions. Et aussi permet d'effectuer bien d'autres actions mais vous les verrez beaucoup plus loin.
Response
La réponse est le résultat (ce que retourne) de la requête.
Exemple d'une réponse :
{ "success": true, "errors": [], "array": [ [ { "reference": "querty-1", "orderNumber": "xxxxxxxxxxxx", "type": 1, "amount": 100, "amountCustomer": 103, "currency": "CDF", "provider_reference": "7cdsauzhzunnkyldo17yvfoedlyi3g6b", "status": 1, "created_at": "2024-05-16T14:39:19.000000Z", "updated_at": "2024-05-16T14:39:36.000000Z" } ] ] }
L'interprétation des résultats peut s'avérer capitale pour la suite du traitement des informations (pour ceux qui voudront bien les traiter).
-
success :
C'est celui qui détermine si l'opération a réussi ou pas. La valeur est
true
si tout s'est bien passé etfalse
dans le cas contraire. -
error :
Cette collection renvoie l'ensemble d'erreurs collectées lors du traitement
de la requête. La collection est vide quand il n'y a pas d'erreurs.
Et quand elle a des données, ce qu'il y a une erreur et l'objet
success
estfalse
. - array : Dans array, nous avons l'ensemble de données pertinentes de la requête. Celles que nous pouvons traiter ou stocker.
- reference : C'est votre référence de la transaction, vous pourrez l'utiliser pour retracer votre transaction dans votre application.
- orderNumber : C'est la référence que vous renvoie l'agrégateur, c'est la donnée que vous utiliserez pour retracer votre transaction auprès de ce dernier. Il faut la garder bien au chaud.
- type : Il indique le type de transaction utilisé lors de la transaction.
- amount : Il indique le montant initiale de la transaction.
- amountCustomer : Il indique le montant final que le client a payé lors de la transaction.
- currency : C'est la monnaie utilisée dans la transaction.
-
status :
C'est l'état de votre transaction, il indique si la transaction a réussie
ou pas. Le code est
1
si la transaction a été un succès et0
pour le cas contraire.
Integration
Il existe plusieurs moyens d'intégrer nos APIs dans vos applications. Le moyen le plus facile est notre package Layrinthe/Payment car avec une seule ligne, vous vous épargnez une dizaine de lignes de codes en plus de l'implémentation de la sécurité. Mais nous vous montrerons les autres méthodes au cas où vous vous sentez moins à l'aise avec le package.
Labyrinthe Package:
La simplicité du package permet une intégration rapide en une seule ligne.
Cliquez sur
Layrinthe/Payment
pour voir comment intégrer le sandbox chez vous.
$labyrinthe = LabyrintheServiceProvider::getTransaction($array);
PHP Native:
Ce code vous permet de faire l'appel des APIs comme avec le package
Labyrinthe/Payment
mais présente moins d'avantages que le package.
Notamment la gestion de la sécurité, le filtre des paramètres (required, type,
length), la concision du code, etc.
$data = array( # Remplacez par vos propres informations "token" => 'xxxxxxxxxxxxxxxxxxxxxxxxx', "orderNumber" => "_orderNumber", ); $gateway = "https://payment.labyrinthe-rdc.com/api/beta/get-transaction"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $gateway); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300); $response = curl_exec($ch); if(curl_errno($ch)) { # Erreur ! }else { curl_close($ch); $jsonRes = json_decode($response); $jsonRes->success; if ($jsonRes->success) { # La requête retourne la bonne valeur }else{ # La requête a rencontré des problèmes } echo "<pre>"; print_r($jsonRes); echo "<pre>"; }
Get-transactions
Routes
La route est la passerelle comprise entre votre demande, l'action et la réponse de votre requête. En d'autres termes, c'est l'URL dans laquelle vous envoyez votre requête.
https://payment.labyrinthe-rdc.com/api/beta/get-transactions
Les caractéristiques principales de la requête :
URL | Méthode | Return value ? |
---|---|---|
https://payment.labyrinthe-rdc.com/api/beta/get-transactions | POST | YES |
Les paramètres de la requête :
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 |
-
method :
Nous gardons la méthode
POST
-
token :
Le token est votre jeton de paiement personnalisé et confidentiel. Il
représente vos informations confidentielles et peut être considéré
comme votre empreinte numérique. L'exemple ci-dessous montre
à quoi ressemble un token mais n'est pas valide.
Exemple :$2y$12$ngaXsXGwkrxpTAA.ubLXietv/Pdadfbx3OziwIH88inGU4sGi6ivm
Comment obtenir son token ? Cliquer sur ce lien pour plus d'informations.
Response
La réponse est le résultat (ce que retourne) de la requête.
Exemple d'une réponse :
{ "success": true, "errors": [], "array": [ [ { "reference": "azertyya", "orderNumber": "sTz6myAoyBJ5243896699032", "type": 1, "amount": 100, "amountCustomer": 103, "currency": "CDF", "provider_reference": "m-pesa", "status": 1, "created_at": "2024-05-07T09:47:45.000000Z", "updated_at": "2024-05-16T14:20:13.000000Z" }, ... { "reference": "azertyya", "orderNumber": "OgLxDSO53TEw243896699032", "type": 1, "amount": 100, "amountCustomer": null, "currency": "CDF", "provider_reference": null, "status": 0, "created_at": "2024-05-16T11:15:07.000000Z", "updated_at": "2024-05-16T11:15:07.000000Z" } ] ] }
Integration
Il existe plusieurs moyens d'intégrer nos APIs dans vos applications. Le moyen le plus facile est notre package Layrinthe/Payment car avec une seule ligne, vous vous épargnez une dizaine de lignes de codes en plus de l'implémentation de la sécurité. Mais nous vous montrerons les autres méthodes au cas où vous vous sentez moins à l'aise avec le package.
Labyrinthe Package:
La simplicité du package permet une intégration rapide en une seule ligne.
Cliquez sur
Layrinthe/Payment
pour voir comment intégrer le sandbox chez vous.
$labyrinthe = LabyrintheServiceProvider::getTransactions($array);
PHP Native:
Ce code vous permet de faire l'appel des APIs comme avec le package
Labyrinthe/Payment
mais présente moins d'avantages que le package.
Notamment la gestion de la sécurité, le filtre des paramètres (required, type,
length), la concision du code, etc.
$data = array( # Remplacez par vos propres informations "token" => 'xxxxxxxxxxxxxxxxxxxxxxxxx', ); $gateway = "https://payment.labyrinthe-rdc.com/api/beta/get-transactions"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $gateway); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300); $response = curl_exec($ch); if(curl_errno($ch)) { # Erreur ! }else { curl_close($ch); $jsonRes = json_decode($response); $jsonRes->success; if ($jsonRes->success) { # La requête retourne la bonne valeur }else{ # La requête a rencontré des problèmes } echo "<pre>"; print_r($jsonRes); echo "<pre>"; }