Étape 5 — Paiement¶
Objectif¶
L'étape Paiement encaisse le paiement du client lorsque son quota d'énergie ne couvre pas entièrement le coût de l'échange. Le paiement est traité et signalé au backend.
Note
Cette étape est ignorée si le quota du client couvre le coût total (montant net dû = 0).
Méthodes de Paiement¶
Scanner le QR Code M-Pesa (Principal)¶
- Le technicien scanne le QR code de paiement du client.
- La zone de scan affiche un appel à l'action clair (ex. Appuyer pour Scanner).
- Un retour en temps réel est fourni pendant le scan.
Saisir le Reçu Manuellement (Secours)¶
- Le technicien saisit manuellement le code de reçu/confirmation M-Pesa.
- Utilisé lorsque le scan QR n'est pas disponible ou lorsque le client fournit un reçu verbalement.
Éléments de l'IU¶
- Bannière de montant en haut affichant le montant net dû
- Sélecteur d'onglet pour basculer entre Scanner QR et Saisir Reçu
- Zone de scan avec des directives visuelles pour le placement du QR
- Champ de saisie du reçu pour la saisie manuelle
Signalement Backend¶
Une fois le paiement confirmé, l'application signale deux événements au backend via MQTT :
| Événement | Description |
|---|---|
| Événement de paiement | Enregistre la transaction M-Pesa — montant, code de reçu, horodatage |
| Événement de service | Enregistre l'échange de batteries — ancienne batterie, nouvelle batterie, différence d'énergie, abonnement client |
Les deux événements sont envoyés comme messages MQTT pour s'assurer que le backend dispose d'un enregistrement complet de la transaction.
Gestion des Erreurs¶
- QR code invalide ou expiré — afficher une erreur actionnable et permettre la nouvelle tentative
- Reçu manuel rejeté — valider le format et demander une nouvelle saisie
- Publication MQTT échouée — l'application met le message en file d'attente et réessaie lorsque la connectivité est restaurée
Actions¶
- Confirmer le Paiement passe à l'Étape 6 — Terminé
- Retour retourne à l'Étape 4 — Révision