Hello,
I am seeking input on analyzing the payment workflow outlined below. This is a common process in Ethiopia, and I aim to evaluate it in the context of existing digital payment initiatives.
My goal is to understand how this basic workflow functions and identify potential areas for alignment or improvement with current systems. I would greatly appreciate any resources, guidance on the best approach, or suggestions you can offer.
Payment Workflow
1. Payment initiation
A. Selection & Information Retrieval:
- The user browses the course catalog, selects a course, and proceeds to pay.
- The platform displays a list of supported local banks.
- The user selects their bank. The system then displays a unique merchant bank account number and the exact amount to be paid.
B. Context Switch & Payment Execution:
- The user leaves the platform—this is a critical friction point. They use their preferred method (Bank App, USSD, ATM, etc.) to transfer the exact amount to the provided account number.
- The user securely records the Transaction ID (or Reference Number) generated by their bank upon successful transfer.
C. Proof Submission:
-
The user returns to the learning platform.
-
They navigate to a “Confirm Your Payment” section and submit the recorded Transaction ID and the bank they used.
2. Payment Verification
When a user starts the verification process, the platform’s backend queries the specific bank’s API. It sends the Transaction ID provided by the user, along with other contextual information to retrieve the transaction status.
-
There could be two ways to get payment transaction information from bank to the learning platform
-
When the user’s bank processes the transfer to the platform’s account, the bank sends a secure automated message (a webhook or push notification) to the platform’s backend.
-
This is initiated when a user submits their Transaction ID to verify and the system does not already have a record of a push notification for it, it will request the associated bank if there is a transaction with the provided information.
-
-
Transaction message contains all relevant transaction details (amount, sender, Transaction ID, timestamp).
-
The user sees a “Verifying…” status. After a short delay (seconds or minutes), the system updates the status based on the bank’s response.
