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

# Moyens de paiement

iPayMoney permet aux marchands d'encaisser des paiements via plusieurs moyens de paiement. Les méthodes réellement visibles pour un client dépendent de l'environnement du compte, du pays, des opérateurs activés sur le compte marchand et du canal utilisé : page de paiement, API, SDK ou tableau de bord.

## Moyens disponibles en Live

| Moyen de paiement | Code technique | Pays              | Usage                                                    |
| ----------------- | -------------- | ----------------- | -------------------------------------------------------- |
| MTN Bénin         | `mtn_bj`       | Bénin             | Paiement mobile money MTN.                               |
| MOOV Bénin        | `moov_bj`      | Bénin             | Paiement mobile money MOOV.                              |
| MOOV Niger        | `moov_ne`      | Niger             | Paiement mobile money MOOV Niger.                        |
| AIRTEL Niger      | `airtel_ne`    | Niger             | Paiement mobile money Airtel.                            |
| Zamani Niger      | `zamani_ne`    | Niger             | Paiement mobile money Zamani.                            |
| Carte bancaire    | `credit_card`  | Selon le parcours | Disponible uniquement via un SDK ou un paiement externe. |
| Amanata           | `amanata`      | Bénin / Niger     | Paiement via Amanata.                                    |
| MyNita            | `my_nita`      | Niger             | Paiement via compte MyNita.                              |
| Nita Online       | `nita_online`  | Niger             | Paiement Nita en ligne.                                  |

## Utilisation via l'API

Dans l'API de paiement, le moyen de paiement est transmis avec l'en-tête `Ipay-Payment-Type`.

Pour le paiement mobile générique, vous pouvez utiliser :

```http theme={null}
Ipay-Payment-Type: mobile
```

Dans ce cas, iPayMoney détermine automatiquement l'opérateur à partir du numéro `msisdn` fourni dans la requête.

> **Note :** l'en-tête `Ipay-Payment-Type: card` est accepté par l'API, mais `POST /api/v1/payments` seul ne réalise pas tout le débit carte. Les endpoints PAN/CVV et 3DS sont réservés aux intégrations explicitement autorisées et conformes PCI DSS. Pour une intégration publique, utilisez le SDK ou une page de paiement hébergée.

Pour cibler directement certains moyens de paiement Live, utilisez leur code API :

| Code `Ipay-Payment-Type` | Moyen de paiement                                             |
| ------------------------ | ------------------------------------------------------------- |
| `mobile`                 | Détection automatique du mobile money selon le numéro client. |
| `amana_ne`               | Amana Niger.                                                  |
| `amanata`                | Amanata.                                                      |
| `my_nita`                | MyNita.                                                       |
| `nita_online`            | Nita Online.                                                  |
| `sta`                    | STA.                                                          |

## Utilisation en Sandbox

En environnement Sandbox, les paiements servent uniquement aux tests. Les moyens Sandbox utilisent les mêmes endpoints que le Live, avec l'en-tête :

```http theme={null}
Ipay-Target-Environment: sandbox
```

Les principaux codes de test sont :

| Code `Ipay-Payment-Type` | Usage Sandbox                                     |
| ------------------------ | ------------------------------------------------- |
| `mobile`                 | Paiement mobile de test avec les numéros Sandbox. |
| `nita_ne`                | Nita Niger Sandbox.                               |
| `amana_ne_sandbox`       | Amana Niger Sandbox.                              |

## Paiement mobile money

Pour un paiement mobile money, le client doit disposer d'un compte actif chez l'opérateur concerné. Après la demande de paiement, l'opérateur envoie généralement une notification au client pour confirmer le débit. La transaction est réussie lorsque le client approuve l'opération et dispose du solde nécessaire.

Les numéros doivent correspondre au pays de la transaction :

* `BJ` pour le Bénin ;
* `NE` pour le Niger.

## Paiement par carte bancaire

Le paiement par carte bancaire, identifié par le code `credit_card`, est disponible uniquement via un SDK ou un paiement externe. Il permet au client de payer avec une carte Visa ou Mastercard. Le client renseigne les informations nécessaires à la transaction, notamment :

* le nom du porteur ;
* le numéro de carte ;
* la date d'expiration ;
* le code de sécurité.

Selon le parcours de paiement, une validation 3D Secure peut être demandée par la banque avant la confirmation de la transaction.

## Disponibilité des moyens de paiement

Tous les moyens de paiement ne sont pas forcément actifs sur chaque compte marchand. Leur disponibilité dépend de la configuration du compte, de l'environnement et des frais appliqués. Si un moyen de paiement attendu n'apparaît pas dans votre interface ou dans la page de paiement, contactez le support iPayMoney pour vérifier son activation.

> **Note :** la devise de transaction prise en charge par l'API est `XOF`. Pour certains paiements par carte, une devise d'affichage peut être configurée lorsque le taux correspondant est actif.
