Skip to main content

Les API HUB2

Les API Pay-in et Pay-out de HUB2 fonctionnent différemment.

API Pay-out

L’API Pay-out (transferts) permet de transférer des fonds à un tiers : la transaction est de type débit. Les fonds sont envoyés automatiquement au destinataire, sans action de sa part. Le compte de transfert doit être approvisionné au préalable pour pouvoir effectuer des transferts avec l’API HUB2. Avant de traiter un transfert, HUB2 vérifie que le marchand dispose des fonds nécessaires et les réserve jusqu’à ce que l’opérateur confirme le transfert effectif des fonds au destinataire.

API Pay-in

L’API Pay-in (paiements) permet de collecter des fonds auprès d’un tiers (client final) : la transaction est de type crédit. Le client doit agir, selon le cas :
  • confirmer la transaction auprès de son opérateur, à la réception d’un message PUSH ou en composant un code USSD ;
  • ou générer au préalable un code d’authentification auprès de l’opérateur, à fournir au moment du paiement.
Une fois la transaction authentifiée, son montant est crédité sur le compte de collecte du marchand.

Comptes

Les pay-ins (paiements) et les pay-outs (transferts) utilisent des comptes distincts. Tous les paiements réussis sont crédités sur le compte de collecte et tous les transferts réussis sont débités du compte de transfert. Important : comme les transactions existent soit dans l’environnement live, soit dans l’environnement sandbox, les comptes de collecte et de transfert existent également dans les deux environnements. Une transaction créée dans l’environnement sandbox n’affecte que le compte sandbox et son solde. Il en va de même pour l’environnement live.
Comme HUB2 simule le comportement des opérateurs dans l’environnement sandbox, un compte de transfert sandbox est automatiquement crédité de 1 000 000 d’unités de sa devise (par exemple 1 000 000 XOF) à son ouverture, pour faciliter l’intégration.

Asynchronicité

Toutes les transactions créées sur l’API HUB2 sont traitées de façon asynchrone, à l’exception de celles créées sur le circuit synchrone. Une fois acceptée, une requête de transaction est placée dans une file d’attente, puis traitée par les autres composants de la plateforme HUB2. Ce mode de fonctionnement permet à HUB2 de répondre très rapidement à l’émetteur de la requête HTTP, ce qui réduit le temps d’attente et la charge côté plateforme marchand.

Circuits

Circuit asynchrone

Toutes les transactions initiées sur ce circuit sont traitées de manière asynchrone par l’API HUB2. C’est le mode de fonctionnement par défaut des opérateurs, qui ne répondent pas directement aux requêtes de transaction mais les placent en file d’attente. Les transactions sont mises à jour une fois traitées. Le délai de traitement varie d’un opérateur à l’autre. Une transaction n’atteint donc un statut final chez HUB2 qu’une fois son statut mis à jour chez l’opérateur. Une fois qu’une transaction a atteint un statut final chez l’opérateur, HUB2 est mis à jour de l’une des deux manières suivantes :

Circuit synchrone

Le mode de fonctionnement asynchrone ne s’applique pas au circuit synchrone. L’émetteur de la requête HTTP (le marchand) doit attendre la réponse de HUB2, qui dépend à la fois de l’opérateur et de la réactivité du client final. Ce circuit n’est disponible que pour les pay-ins (paiements).
Certains opérateurs peuvent fonctionner de manière synchrone, soit par défaut, soit en tant que circuit supplémentaire. Dans ce mode, la requête de transaction est traitée dès sa réception, sans être placée en file d’attente. Le statut final de la transaction est obtenu directement à partir de la réponse de l’opérateur, bien qu’un délai important puisse s’écouler entre l’envoi de la requête par HUB2 et la réponse de l’opérateur. Le circuit synchrone est disponible pour les opérateurs suivants :
  • Wave (tous les pays)
Ce circuit est activé par marchand et par opérateur, uniquement sur demande. Contactez le support HUB2 pour en savoir plus.