General Queries

Where i can connect if having any issue with the integration?

You can drop an email to the integration team at [email protected] with your registered mobile number/ Eko code, the programming language that you are working on, your developer details, product(s) which you implementing and your query

What are credentials to be used for the staging environment for testing DMT?

  1. developer_key - becbbce45f79c6f5109f848acd540567
  2. Key - d2fe1d99-6298-4af2-8cc5-d97dcf46df30 (will be used to generate secret-key and secret-key-timestamp). The secret-key and secret-key-timestamp have to be generated dynamically. Refer to the link “” for the dynamic secret-key and secret-key-timestamp generation
  3. initiator_id - 9962981729

What is the process flow for Domestic Money Transfer?

  • First you need to onboard your merchants/ retailers using the Onboard user API
  • Then you need to check that whether the customer is already existing or not on EKO’s platform using the Get Customer Information API.
  • If the customer is already existing, then fetch his already registered recipients using the Get List of Recipients API. If the customer is not registered, then create a customer using the Create Customer API.
  • After the creation of the customer you need to verify the customer using the Verify Customer Identity API. You will not receive an OTP on the mobile number entered as customer's mobile number. If you want to resend the otp hit the Resend OTP API
  • If the customer is already registered and no recipient has been added then add the recipient using the Add Recipient API. You can check the list of recipients added from the Get list of recipients API
  • Once the recipient has been added or the already registered recipient has been selected then you can send the cash using Initiate Transaction API via either IMPS or NEFT channel
  • You can check the status of any transaction using the Check Transaction Status API. If any transaction goes into the refund pending then you can process the refund using the Refund API
  • On the staging environment, OTP will not be received on the mobile number. You need to implement the Resend Refund OTP API. Use the OTP coming in the response of this API.

How to generate the secret-key and secret-key-timestamp dynamically?

You need to pass dynamic secret-key and secret-key-timestamp in every request in headers along with developer_key. For the dynamic generation of secret-key and secret-key-timestamp, refer to Authentication . We have sample code available in PHP, Java and C#.

Where i can check all the API’s and their flow?

You can check all the API’s for DMT with their flow on Postman. You can download postman collection here. You can also refer this page for the documentation of all the APIs and the sample codes.

What are the possible status that can come while doing a DMT transaction?

2Initiated/ Response Awaited
3Refund Pending
5Hold (Transaction Inquiry have to done)

If you get the tx_status other than 0, 1, 3 and 4 in the send money API then you need to make an inquiry for that transaction using the Get transaction status API.

What are the possible error codes that can come in the response while implementing DMT?

Refer to Error Codes

What are the limits of the transaction for DMTl?

IMPS/NEFT limit is:

  • Rs 5,000 per sender per transaction
  • Rs 25,000 per sender per month

How can I get my live credentials?

Once you are done with the implementation, you have to share the request and response of the onboard user API, create customer API, Customer verification API and Resend OTP API and the login credentials with URL with us where the DMT APIs implementation has been done. Also, the requests shared should be from your server and not postman.

Technical team will do the sanity testing to check the flow and then gives you go ahead for the live credentials if everything goes right and will share the production credentials on the registered email id.

Sanity Testing is a required step in order to get the live credentials so as to avoid any issues on the production environment and to and fro. Find the list of APIs which have to be implemented:

Onboard User
Get Customer Information
Create Customer
Resend OTP of customer Verification
Customer Verification
Get Bank Details API
Account Verification (If using)
Add recipient
Get recipient details
Get list of recipients
Send money API via IMPS
Transaction Inquiry API Using the Eko TID
Transaction Inquiry API using the Client_ref_id
Resend refund OTP API
Refund API

How can i ensure the security of the request which i am hitting?

  1. You need to pass the dynamic secret-key and secret-key-timestamp for every request

  2. We only accept the requests on the production environment from the whitelisted IP only. You can provide an Indian Server IP for the whitelisting

How many IPs i can whitelist and how can i whitelist the IPs?

On one account we can whitelist maximum if 3 IPS and in order to make the IP whitelisted you need to send an email on [email protected] with your regsitered mobile number / Eko Code and make sure that the IPs must have a geoloaction of India otherwise as per compliance we cannot whitelist the IP outside of India.

I am getting 403 HTTP error code. What I am doing wrong?

If you are working on the staging environment then you must check that if you are generating and passing the secret-key and secret-key-timestamp in the headers along with the correct initiator_id and developer-key and secret-key and secret-key-timestamp must be generated properly

On the production environment, make sure that you are only requesting from the whitelisted IP and also passing the correct credentials including the correct generation of the secret-key and secret-key-timestamp

I am getting 402 HTTP error code. What I am doing wrong?

402 Error code comes when we are not receiving the developer-key from your end. Please check the same

I am getting 404 HTTP error code. What I am doing wrong?

404 error code comes when you are passing the wrong request URL, please make sure to check the request URL before hitting the request.

I am getting 504 Bad Gateway HTTP error code. What should i do?

Please connect with the integration team on [email protected] and menion the environment (UAT / production) you are facing the issue on

Can i test the APIs with the dummy values on the production environment?

Do not test the APIs on the production environment with the dummy values as the details are shared with the bank

How can i onboard my retailer and do i have to activate the service for DMT?

For the user onboarding, refer to the Onboard user API. In order to user the DMT product you do not need to activate any service

I am getting "No key for response" error message?

Raise the same on [email protected] with the complete request and response along with the request URL

I am getting "Failed to connect to port 25004: Connection refused / Failed to connect to port 25002: Connection refused" error message, what should i do?

This message is coming because the connection is not being made from your server with our server. Please telnet from your server and check if the connection is being made from your server or not.

The command for staging environment which you have to use: telnet 25004.
The command for production environment which you have to use: telnet 25002.

Also, in your server settings please check if port 25004 is open for you or not for the staging server and 25002 port must be opened for production environment

How can i check the Evalue without everytime opening the connect portal

Please implement the Settlement Account Balance Inquiry API. Refer to the link ""

I am getting "Name not matched" error message even after passing the correct and exact name mentioned on the PAN card, what should i do?

Drop an email on [email protected] the complete request and response and request URL

I am getting "Address not in required format" error message, what should i do?

Any address must be passed in JSON format

I am getting "Not a Valid state" error message, how can I resolve the same?

Pass the correct and valid name of the state. Please find the state list which is stored in our database and pass the state value accordingly:

| id | name |
| 1 | Andaman and Nicobar |
| 2 | Andhra Pradesh |
| 3 | Arunachal Pradesh |
| 4 | Assam |
| 5 | Bihar |
| 6 | Chandigarh |
| 7 | Chhattisgarh |
| 8 | Dadra and Nagar Haveli |
| 9 | Daman and Diu |
| 10 | Goa |
| 11 | Gujarat |
| 12 | Haryana |
| 13 | Himachal Pradesh |
| 14 | Jammu and Kashmir |
| 15 | Jharkhand |
| 16 | Karnataka |
| 17 | Kerala |
| 18 | Lakshadweep |
| 19 | Madhya Pradesh |
| 20 | Maharashtra |
| 21 | Manipur |
| 22 | Meghalaya |
| 23 | Mizoram |
| 24 | Nagaland |
| 25 | Delhi |
| 26 | Odisha |
| 27 | Puducherry |
| 28 | Punjab |
| 29 | Rajasthan |
| 30 | Sikkim |
| 31 | Tamil Nadu |
| 32 | Telangana |
| 33 | Tripura |
| 34 | Uttar Pradesh |
| 35 | Uttarakhand |
| 36 | West Bengal |
| 37 | Andhra Pradesh (New) |

I am getting "This user already exists" error message, how can I resolve the same?

This is not an error message , we have given the user_code value in the response, map the same and store it with the details in your database

I am getting "Failed!Please try again again after sometime" error message, how can I resolve the same?

Drop an email on [email protected] with the complete request and response along with the timestamp and request URL so that we can check the logs and let you know the issue

I am getting "PAN Verification Fail" error message, how can I resolve the same?

If getting message on prodution server then drop an email on [email protected] , for the staging environment drop an email on [email protected] with the complete request and response along with the timestamp and request URL so that the team can check the logs and let you know the issue

I am getting "Failed! do OTP verification firstl" error message whiel onboarding a user, how can I resolve the same?

Drop an email on [email protected] or to your RM with your Eko code / Registered mobile number to supress the OTP verification in the user onboarding flow