Skip to main content
Ce guide décrit le flux standard d’un paiement CaurisFlux, de l’initiation à la confirmation finale.

Vue d’ensemble

Un paiement suit toujours ces étapes :
  1. Initiation : Votre serveur crée une session de paiement
  2. Redirection : Le client est redirigé vers la page de paiement
  3. Confirmation : Le client valide le paiement sur son Mobile Money
  4. Notification : CaurisFlux envoie un webhook à votre serveur
  5. Mise à jour : Votre système met à jour l’état de la commande

Diagramme de séquence

Étape 1 : Initiation du paiement

Votre serveur appelle l’API pour créer une session de paiement.

Requête

Réponse

Actions côté serveur

Étape 2 : Redirection vers le checkout

Redirigez le client vers checkout_url. Cette page est hébergée par CaurisFlux. Le client voit une page de paiement avec :
  • Le montant à payer
  • La méthode de paiement sélectionnée
  • Les instructions de validation

Étape 3 : Validation par le client

Le client reçoit une notification sur son application Mobile Money :
  1. Wave : Notification push dans l’app Wave
  2. Orange Money : Menu USSD ou notification app
  3. MTN : Notification push ou USSD
Le client entre son code PIN pour confirmer le paiement.

Étape 4 : Notification webhook

Une fois le paiement confirmé (ou échoué), CaurisFlux envoie un webhook à votre serveur.

Webhook de succès

Webhook d’échec

Étape 5 : Mise à jour de votre système

Traitez le webhook pour mettre à jour l’état de la commande.

Étape 6 : Redirection finale

Après le webhook, le client est redirigé vers votre return_url ou cancel_url.

return_url

Appelée quand le paiement est terminé (succès ou échec côté provider).
https://votresite.com/orders/ORDER-001/success?transaction_id=TRX_xxx&status=success

cancel_url

Appelée si le client annule ou ferme la page avant de payer.
https://votresite.com/orders/ORDER-001/cancel?transaction_id=TRX_xxx&status=cancelled
Ne vous fiez jamais uniquement à la redirection pour confirmer un paiement. Le webhook est la seule source fiable.

Points critiques

1. Toujours vérifier via webhook

La redirection return_url peut être appelée même si le paiement a échoué. Le client peut aussi fermer son navigateur avant la redirection.

2. Gérer l’idempotence

Le même webhook peut être envoyé plusieurs fois. Votre code doit être idempotent.

3. Stocker le transaction_id

Stockez toujours le transaction_id retourné par l’API. Il est nécessaire pour :
  • Vérifier le statut du paiement
  • Lier le webhook à votre commande
  • Demander un remboursement
  • Contacter le support

4. Timeout et expiration

Les sessions de paiement expirent (généralement après 15-30 minutes). Gérez ce cas :

Flux alternatifs

Paiement sans redirection (USSD Push)

Pour certains providers, vous pouvez déclencher directement une notification USSD sans redirection. Le client reçoit directement une notification et le paiement se fait sans page intermédiaire.

Vérification manuelle du statut

Si vous n’avez pas reçu de webhook, vous pouvez vérifier le statut manuellement :

Prochaines étapes

Concepts clés

Statuts, transactions et définitions

Webhooks

Configuration et sécurisation