Transaction Flow
The transaction flow in eSewa involves a series of steps that ensure secure and efficient payment processing. Below is a detailed explanation of each step in the transaction process.
1. User Initiates Payment
The transaction begins when the user selects a product or service on the merchant's website and chooses to pay via eSewa. The merchant system generates a payment request, including the transaction amount and necessary details.
2. Redirect to eSewa
The user is redirected to the eSewa payment gateway. This step is essential for securely collecting payment information. The merchant provides necessary transaction details, such as the order ID and amount, through a secure API call.
3. User Enters Payment Details
At the eSewa gateway, the user is prompted to log in to their eSewa account or create one if they do not have an account. After logging in, the user enters the required payment details, such as the amount and any additional information requested.
4. Payment Authorization
Once the user submits the payment details, eSewa processes the request to ensure sufficient funds are available and verifies the transaction. This step includes authentication and authorization processes to confirm the user’s identity and the validity of the payment.
5. Transaction Completion
If the payment is authorized, eSewa completes the transaction by deducting the specified amount from the user's eSewa account. A transaction receipt is generated, confirming the successful payment.
6. Notification to Merchant
After the transaction is completed, eSewa sends a notification to the merchant's server via a callback URL, providing details about the transaction, including status, transaction ID, and any other relevant information.
7. Merchant Updates Order Status
Upon receiving the notification, the merchant's server updates the order status in their system (e.g., marked as paid). This step is crucial for managing inventory and providing a seamless user experience.
8. User Confirmation
The user is redirected back to the merchant's website, where they receive a confirmation message about the successful payment. This message can include details such as the transaction ID and any further instructions.
Summary
By following this transaction flow, eSewa ensures that all payments are processed securely and efficiently. Understanding this flow is vital for implementing the eSewa API in your Django application, allowing you to provide a smooth payment experience for your users.