Vue d’ensemble
Un paiement suit toujours ces étapes :- Initiation : Votre serveur crée une session de paiement
- Redirection : Le client est redirigé vers la page de paiement
- Confirmation : Le client valide le paiement sur son Mobile Money
- Notification : CaurisFlux envoie un webhook à votre serveur
- 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 verscheckout_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 :- Wave : Notification push dans l’app Wave
- Orange Money : Menu USSD ou notification app
- MTN : Notification push ou USSD
É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 votrereturn_url ou cancel_url.
return_url
Appelée quand le paiement est terminé (succès ou échec côté provider).cancel_url
Appelée si le client annule ou ferme la page avant de payer.Points critiques
1. Toujours vérifier via webhook
La redirectionreturn_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 letransaction_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