Aller au contenu

É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