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

# Flux de paiement Visa

> Comment se déroule un paiement par carte Visa via LigdiCash — de la création de facture à la confirmation.

Un paiement Visa sur LigdiCash suit le **même flux technique qu'un payin avec redirection**. La différence est côté client : au lieu de choisir un opérateur mobile money et de saisir un numéro de téléphone, le client saisit ses informations de carte bancaire et valide via le 3D Secure.

<Note>
  Le flux Visa n'est pas disponible en mode sans redirection. La page de paiement hébergée par LigdiCash est obligatoire pour gérer la saisie sécurisée des informations de carte.
</Note>

## Vue d'ensemble du flux

<Steps>
  <Step title="Créer la facture">
    Votre backend appelle `POST /pay/v01/redirect/checkout-invoice/create` avec les paramètres habituels — c'est exactement le même endpoint que pour le mobile money.

    LigdiCash retourne un `token` et un `payment_url`.
  </Step>

  <Step title="Rediriger le client">
    Ouvrez `payment_url` dans le même onglet, un nouvel onglet, ou un popup. Le client arrive sur la page de paiement LigdiCash, qui affiche les méthodes disponibles sur votre compte — dont Visa si l'activation est en place.

    <Warning>
      L'iframe est bloqué pour ce flux. N'intégrez pas `payment_url` dans une iframe — le paiement ne fonctionnera pas. Consultez [Rediriger le client](/api-paiement/payin-redirect/rediriger-client) pour les méthodes d'ouverture supportées.
    </Warning>
  </Step>

  <Step title="Le client saisit ses informations de carte">
    Sur la page LigdiCash, le client sélectionne Visa et saisit :

    * Numéro de carte
    * Date d'expiration
    * CVV

    <Warning>
      La carte doit avoir le **3D Secure activé**. Si ce n'est pas le cas, le paiement sera refusé. Le client doit contacter sa banque pour activer cette option.
    </Warning>
  </Step>

  <Step title="Authentification 3D Secure">
    LigdiCash déclenche automatiquement le processus 3D Secure. Le client est redirigé vers la page d'authentification de sa banque (code SMS, application bancaire, etc.) pour confirmer la transaction.

    Consultez [3D Secure](/api-paiement/cartes-visa/3d-secure) pour le détail de cette étape.
  </Step>

  <Step title="Retour sur votre site">
    Après validation (ou échec), le client est redirigé vers votre `return_url` (succès ou annulation) ou `cancel_url`.

    Appelez `confirm` depuis votre backend avec le token stocké à la création pour vérifier le statut réel avant d'honorer la commande.
  </Step>

  <Step title="Callback">
    LigdiCash envoie un callback à votre `callback_url` dès que le statut est finalisé. Re-vérifiez toujours le statut avec `confirm` avant de déclencher votre logique métier.
  </Step>
</Steps>

## Côté marchand — aucune modification technique

Le flux Visa utilise exactement les mêmes appels API que le payin redirect mobile money :

| Étape              | Endpoint                                                       |
| ------------------ | -------------------------------------------------------------- |
| Créer la facture   | `POST /pay/v01/redirect/checkout-invoice/create`               |
| Vérifier le statut | `GET /pay/v01/redirect/checkout-invoice/confirm?token={TOKEN}` |

Les headers, le body, et le format de réponse sont identiques. Visa apparaît automatiquement comme option de paiement sur la page LigdiCash si votre compte l'a activé.

## Côté client — expérience attendue

Le client voit sur la page LigdiCash une option « Carte Visa » en plus des opérateurs mobile money disponibles. Après saisie des données de carte, il est redirigé vers sa banque pour le 3D Secure, puis revient sur votre site.

L'ensemble du flux dure typiquement 1 à 2 minutes si le client a ses informations de carte à portée de main et que le 3D Secure se déroule normalement.

## Callback Visa

Le payload du callback est identique au callback d'un payin mobile money. Le champ `operator_name` indiquera `"VISA"`.

Consultez [Payload du callback payin](/api-paiement/callback/payload-payin) pour la structure complète.

## Pages associées

* [Créer une facture](/api-paiement/payin-redirect/creer-facture) — endpoint et paramètres complets
* [Rediriger le client](/api-paiement/payin-redirect/rediriger-client) — méthodes d'ouverture du lien de paiement
* [3D Secure](/api-paiement/cartes-visa/3d-secure) — détail de l'étape d'authentification
* [Vérifier le statut](/api-paiement/payin-redirect/verifier-statut) — appeler `confirm` après paiement
* [Callback — sécurisation](/api-paiement/callback/securisation) — re-vérification obligatoire
