Initiate a Money Transfer transaction to a bank account via NEFT/IMPS
This is an assisted transaction where a customer comes to your agent with cash and wants to transfer their money to a bank account in India. The agent will transfer money from their wallet to recipient bank account and in return, will accept cash from the customer.
DMT Transaction Flow
- First, you need to onboard your agents (users) using the Onboard Agent API. This is mandatory one-time activity for each of your agents on our platform.
- Then, follow these guidelines to design the DMT transaction flow in your app:
- Check if the customer has already been onboarded on EKO’s platform using the Get Customer Information API.
- For a new customer, use the Onboard Customer & Verify Customer OTP APIs to onboard them on the platform.
- Note: OTPs will not be dispatched on UAT for testing.
- For an existing customer, simply skip this step.
- For a new customer, use the Onboard Customer & Verify Customer OTP APIs to onboard them on the platform.
- Then, Get List of Recipients which are already registered for that customer.
- If the desired recipient is not registered, Add Recipient (DMT) for that customer.
- Then, use the DMT Transaction API to initiate money transfer to a registered recipient for that customer.
- Check if the customer has already been onboarded on EKO’s platform using the Get Customer Information API.
- Also, note the following:
- Check the status of any transaction later using the Transaction Inquiry API.
- If the transaction goes into Refund Pending state, checkout the Initiate Refund API.
- If your agent does not have sufficient funds to transfer funds for a customer, you can use the Save DMT Transaction API to capture the transaction details for later. When your agent has sufficient funds, they will be able to easily initiate the fund transfer for all saved transactions.
Domestic Money Transfer can be done via two channels:
Channel | Value (to use in API call) |
---|---|
IMPS | 2 |
NEFT | 1 |
Every transaction response will contain a tx_status code with the following possible values:
tx_status | txstatus_desc |
---|---|
0 | Success |
1 | Fail |
2 | Initiated |
3 | Refund Pending |
4 | Refunded |
5 | Hold (Transaction Inquiry Needed) |
In case if any other value is returned in tx_status parameter then the transaction should be treated as initiated and transaction inquiry should be done until final status is received.
Transaction Timeout
A transaction can timeout due to multiple reasons, such as, bad internet connection or slow response from the partner bank. In such cases, transaction should not be treated as declined or failed. Ideally, it should be inquired using the Transaction Inquiry API by the passing your own reference number, i.e.,
client_ref_id
.