API Doc
Introduction

Description de l'interaction avec la passerelle

L'interaction s'effectue à l'aide du protocole HTTP sur TCP/SSL.

L'initiateur de la connexion est toujours uniquement le client du système de paiement. Pour chaque requête, une nouvelle connexion est créée. Le client a la possibilité de créer plusieurs connexions simultanément pour différents paiements.

Chaque type de demande correspond à un besoin spécifique URI. Toutes les demandes sont faites selon la méthode POST. Quel que soit le type, chaque requête envoie deux HTTP‐en-tête: DPAY_CLIENT et DPAY_SECURE. Les données contenues dans le message POST sont envoyées de la manière suivante :: application/json. Dans tous les cas, l'en-tête doit être envoyé Content-type: application/json dans une requête POST. Domaine pour l'envoi des demandes https://api.dpay.africa. Les points de terminaison pour des types de requêtes spécifiques sont décrits ci-dessous (par exemple, https://api.dpay.africa/api/payment/balance)

DPAY_CLIENT - identifiant client, numéro de caisse créé dans votre compte personnel.

DPAY_SECURE - signature de la demande (la signature est formée en fonction du corps de la demande). La signature de la demande est formée selon le schéma base64_encode(md5($salt . base64_encode(sha1($data, true)) . $salt, true)), ou salt - secret des paramètres de la caisse, et data - corps de la demande.

Chaque réponse de la passerelle a également une signature envoyée dans l'en-tête DPAY_SECURE.

HTTP‐paramètre request contient le corps de la requête sous la forme JSON-tableau en codage UTF-8.

Données de test

Lors de l'émission d'une facture ou de la création d'un paiement de 1 000 l'opération réussit toujours.

Lors de l'émission d'une facture ou de la création d'un paiement pour 2000, l'opération échoue toujours.

Description de la structure de requête et de réponse de la passerelle

Le corps de la requête est envoyé sous forme de tableau sérialisé au format JSON

Un exemple: { "tracking": "1234" }

La réponse a une structure similaire.

Si la demande est refusée, une erreur avec son code et sa description sera renvoyée.

Un exemple: { "error": { "code": 401, "message": "Payment not found" } }

Si la demande aboutit, les données de réponse seront renvoyées.