DMT Transaction

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

  1. 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.
  2. Then, follow these guidelines to design the DMT transaction flow in your app:
    1. Check if the customer has already been onboarded on EKO’s platform using the Get Customer Information API.
      1. For a new customer, use the Onboard Customer & Verify Customer OTP APIs to onboard them on the platform.
        1. Note: OTPs will not be dispatched on UAT for testing.
      2. For an existing customer, simply skip this step.
    2. Then, Get List of Recipients which are already registered for that customer.
    3. If the desired recipient is not registered, Add Recipient (DMT) for that customer.
    4. Then, use the DMT Transaction API to initiate money transfer to a registered recipient for that customer.
  3. Also, note the following:
    1. Check the status of any transaction later using the Transaction Inquiry API.
    2. If the transaction goes into Refund Pending state, checkout the Initiate Refund API.
    3. 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:

ChannelValue (to use in API call)
IMPS2
NEFT1

Every transaction response will contain a tx_status code with the following possible values:

tx_statustxstatus_desc
0Success
1Fail
2Initiated
3Refund Pending
4Refunded
5Hold (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.

Body Params
int32
required

Your registered mobile number (See Platform Credentials for UAT)

string
required

User code value of the retailer from whom the request is coming

int32
required

Unique ID generated while adding the recipient

int32
required

Amount value needs to be transferred

date-time
required
string
required
Defaults to INR
int32
required

Mobile number of the Customer

string
required

Unique reference number of your system, please make this ID as unique as possible so that it does not match with any other partner unique reference id.

int32
required

1 - NEFT , 2 - IMPS

string

latlong of the user from whom the request is coming. We are asking this details in case any fraud happens so please make sure to pass the valid location of the merchant's system.

Headers
string
required

Your unique API key that will authenticate your request. For UAT, refer to [Platform Credentials] (https://developers.eko.in/docs/platform-credentials)

string
required

Refer to [authentication section] (https://developers.eko.in/docs/authentication)

string
required

Refer to [authentication section] (https://developers.eko.in/docs/authentication)

string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json