> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hub2.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> [!NOTE]
>
> * [Référence de l'API pour les alias de paiement instantané](https://docs.hub2.io/api-reference/instant-payment/list-aliases.md)
> * [Référence de l'API pour les paiements](https://docs.hub2.io/api-reference/payments/attempt-a-payment-on-a-paymentintent-object.md)
> * [Référence de l'API pour les transferts](https://docs.hub2.io/api-reference/transfers/create-transfer.md)
> * [Spécification OpenAPI](https://api.hub2.io/docs-json)

## Vue d'ensemble

Le paiement instantané est le système de paiement interopérable de la BCEAO. Les banques et autres établissements de paiement réglementés de l'Union économique et monétaire ouest-africaine (UEMOA) y sont connectés, et les fonds circulent entre les comptes de leurs clients sur un rail unique et partagé, quel que soit l'établissement qui détient chaque compte.

Sur ce rail, un compte n'est pas identifié par un numéro de mobile et un opérateur, comme en mobile money, mais par un **alias**. HUB2 connecte vos comptes de collecte et de transfert au rail, ce qui offre deux usages :

* **Collecter** : un client vous paie depuis un compte détenu auprès de n'importe quel établissement participant. Vous effectuez une tentative de paiement `instant_payment` sur une intention de paiement, avec l'alias du client et votre propre alias de collecte.
* **Envoyer** : vous payez un bénéficiaire qui détient un compte auprès de n'importe quel établissement participant. Vous créez un transfert avec le type de destination `instant_payment` et l'alias du bénéficiaire.

Le paiement instantané est disponible pour les marchands de Côte d'Ivoire (`CI`) et du Sénégal (`SN`), en `XOF` uniquement.

## Les alias

Un alias est l'adresse à laquelle un compte peut être joint sur le rail. Il existe trois types :

| Type | Description | Peut identifier votre compte | Peut identifier une contrepartie |
| :- | :- | :-: | :-: |
| `SHID` | Identifiant de 36 caractères généré par l'annuaire du paiement instantané lors de l'enregistrement de l'alias. | Oui | Oui |
| `MCOD` | Code marchand : 2 à 10 chiffres. | Oui | Oui |
| `MBNO` | Numéro de mobile au format E.164, commençant par `+` et l'indicatif d'un pays de l'UEMOA. | Non | Oui |

Vous n'envoyez jamais le type de l'alias : HUB2 le déduit de la forme de la valeur et refuse une valeur qui ne correspond à aucun des trois types. HUB2 ne vérifie que la forme d'un alias. L'existence de l'alias est vérifiée par le rail lors du traitement du paiement ou du transfert.

Votre compte marchand détient des alias sur deux comptes :

* le compte de **collecte** (`collection`), qui reçoit les paiements instantanés ;
* le compte de **transfert** (`transfer`), qui les émet.

Lorsqu'il active le paiement instantané pour vous, HUB2 enrôle également ces comptes sur le rail et enregistre un alias `SHID` principal sur chacun d'eux :

* Un compte détient un seul alias `SHID`. Créer un alias sur un compte qui en possède déjà un renvoie cet alias au lieu d'en créer un second.
* L'alias principal enregistré par HUB2 ne peut pas être supprimé par l'API.

## Activation

Le paiement instantané est activé par HUB2 pour chaque marchand. Contactez le support HUB2 pour en faire la demande. Tant qu'il n'est pas activé, toute opération de paiement instantané est refusée avec une erreur `403` (`instant_payment_not_enabled_for_merchant`).

La clé API utilisée doit également disposer des permissions des opérations qu'elle effectue : `Api.instant_payment_alias_read`, `Api.instant_payment_alias_create` et `Api.instant_payment_alias_delete` pour les alias (voir [Clés API](https://docs.hub2.io/integration/fr/getting_started/api_keys.md)). Une clé sans la permission requise reçoit une erreur `403` (`missing_permission`).

## Live et sandbox

| Opération | Live | Sandbox |
| :- | :-: | :-: |
| Lister, créer et supprimer des alias | Oui | Non, refusé avec `403` (`instant_payment_live_only`) |
| Collecter un paiement instantané et obtenir ses frais | Oui | Oui, simulé |
| Envoyer un paiement instantané (transfert) | Oui | Oui, simulé |

En sandbox, aucune requête n'atteint le rail. Le résultat d'un paiement ou d'un transfert est déterminé par les 8 derniers caractères de l'alias de la contrepartie (voir [Sandbox](https://docs.hub2.io/integration/fr/instant_payment/instant_payment_integration.md#sandbox)). Les alias de votre compte marchand restent vérifiés en sandbox : ils doivent donc avoir été enregistrés au préalable en mode live.

## Groupes de marchands

Lorsque vous gérez des [sous-marchands](https://docs.hub2.io/integration/fr/submerchants/submerchants_introduction.md), les alias de paiement instantané appartiennent au marchand parent (le propriétaire du groupe) et sont gérés par ses sous-marchands :

* Appelez les points de terminaison du paiement instantané, des paiements et des transferts avec le `MerchantId` du sous-marchand. Un marchand parent qui les appelle avec son propre `MerchantId` reçoit une erreur `403` (`group_owner_transaction_forbidden`), sauf pour lister ses alias.
* Lors d'une collecte, le `payeeAlias` doit être un alias de collecte du marchand parent, car les fonds sont crédités sur le compte de collecte du marchand parent.
* Lors d'un transfert, le compte débité est le compte de transfert du marchand parent.

## Étape suivante

> **[Guide d'intégration du paiement instantané](https://docs.hub2.io/integration/fr/instant_payment/instant_payment_integration.md)**


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.