Step 1 — User Authentication. Jitesh is already logged in. The app verifies the session/device. For sensitive transactions, NexPay may require biometrics, PIN, or additional verification.
Step 2 — Recipient Selection. Jitesh selects Rahul. The app verifies that Rahul corresponds to the intended NexPay account/device identity.
Step 3 — Amount. Jitesh enters Rs. 500. The application performs basic validation.
Step 4 — Server Request. The app sends a transaction request to the NexPay backend. Conceptually:
Sender: Jitesh
Recipient: Rahul
Amount: Rs. 500
Currency: NPR
Device: Jitesh's trusted device
Transaction Request ID: unique
Timestamp: current time
The actual API must use authenticated communication and must not trust client-provided balance information.