Initiate Payout
This page will give you an understanding of how to undertake payouts using Decentro's stack.
Overview
Initiate Payout API allows you to facilitate money transfers to/from your customers' linked virtual bank accounts from within your application.
Decentro provides the below type of transfers.
- Actual bank account through IMPS, NEFT, RGS
- Virtual account to UPI handle (individual or business) using UPI
- Virtual account to Virtual account within our outside Decentro's ecosystem
Decentro supports the below modes of transfers.
- NEFT
- RTGS
- IMPS
- UPI
Here are the limitations of each transfer type:
Transfer Type | Transaction Limits |
---|---|
UPI | Amount <= 1L per transaction subject to consumer's bank policies and applicable across transactions coming from UPI apps, Bank apps, and through Virtual accounts. Processes 24/7 |
IMPS | Amount <= INR 5L per transaction. This mode of transfer is immediate and is typically processed 24/7 and is settled to the beneficiary within 1 minute. |
NEFT | Amount <= INR 10L per transaction (Non-Banking Hours), Amount <= INR 1Cr per transaction (Banking Hours). This mode of transfer is typically processed in batches and is settled within 2-3 working hours |
RTGS | Amount > INR 2L per transaction, Amount <= INR 5Cr (Banking Hours). This mode of transfer is typically processed in batches and is settled within 2-3 working hours |
Link to Initiate Payout API.
Decentro supports 2 types of flows for IMPS and UPI.
- Sync flow: in this flow, Decentro relays the status of the response immediately and triggers a status callback as well separately.
- Async flow: in this flow, Decentro defaults the transaction to pending unless there's an issues with the request and triggers the final status via the transaction status callback only.
Please note that NEFT and RTGS will always be async due to the nature of being asynchronous transaction processing.
Flow
Below is the flow for initiating a payout if the platform leverages Decentro's escrow account.
- The platform loads the funds to the wallet virtual account from a whitelisted account.
- The platform can either add a beneficiary and undertake a payout OR
- The platform can undertake a payout by passing the amount, type and the source account.
- Decentro validates the request at its end for balance, amount, etc and processes the request.
- Decentro responds with the status of transaction as pending for Async and status for sync flow.
- Decentro triggers a transaction status callback to the endpoint in case of success/failure.
- Decentro triggers an account balance callback to the endpoint in case of a successful payout.
- The platform might choose to check the status of a transaction using the status check capability.
Please note that the same flow is followed except for account loading if the platform is using their own account as well.
A lot of the banks throttle or reject transactions to the same beneficiary in a short period of time and the transactions might fail.
Decentro in such a case responds with an error if more than 1 transaction is initiated to the same beneficiary more than 5 times in an hour and a maximum of 9 times in a day.
To avoid this scenario, please batch the transactions and initiate a single payout to the beneficiary.
Updated 5 months ago