sequenceDiagram
participant kiosk as kiosk
participant ppa as power pay app
participant pps as power pay service
kiosk->>ppa : Check Balance ()
ppa->>pps : send request ()
pps-->>ppa : Requests for PIN(sends procedure ID)
ppa-->>kiosk : Display enter PIN
kiosk->>ppa : Send PIN (PIN)
ppa->>pps : send (PIN, procedure ID)
pps->>pps : validate PIN and check balance
pps-->>ppa : return balance info
ppa-->>kiosk : Display balance
Wireframe
Tickets and Explanations
[ ] Implement the check balance interface: The kiosk user should be able send the request in order to check his balance. This function will return the kiosk user's phone number in the backend.
[x] Implement the validateDisplayBalanceWithPin(id,PIN) function (REST API): Confirm a user's pin for a procedure. It will call the function that will check the balance if the pin is correct.
[x] Implement the checkBalance(PhoneN) function (REST API): check the balance of the Account having the phone number provided and display the balance.
Methodology:
To implement these, we'll need to include a procedure object with a status.
---
title: Class Diagramm
---
classDiagram
Procedure -- Status
Procedure -- Type
Procedure <|-- Transaction
Procedure <|-- CheckBalance
Procedure <|-- UserRegistration
class Status {
<<enumeration>>
DONE
WAITING
ERROR
}
class Type {
<<enumeration>>
Transaction
CheckBalance
}
class Procedure {
<<Abstract>>
+String id
-Status status = WAITING
+String phoneNumber
+void markAsDone()
+void markAsError()
+bool isDone()
+bool isError()
+bool isWaiting()
+Type getType()
}
class Transaction {
+String receiverPhoneNumber
+Double amount
+String currency = "XAF"
}
class CheckBalance {
}
class UserRegistration {
+String opt
+String userName
}
class User {
+String pin (hashed)
+String phoneNumber
+String userName
}
Description
Sequence Diagram
Wireframe
Tickets and Explanations
Methodology: To implement these, we'll need to include a procedure object with a status.