Fintech APIs & Platform for KYC, Verification & Transactions in India | Eko Platform Services
Eko Platform Services Logo

POSTInitiate Transfer

Execute a DMT-Fino money transfer after OTP verification.

POST/customer/payment/dmt-fino

The final and only financial step in the DMT flow. Debits the agent's wallet and initiates an IMPS transfer to the registered recipient's bank account. Requires the OTP and otp_ref_id from Send Transaction OTP and the merchant's GPS coordinates (latlong). The response returns a tid (Eko transaction ID) and the banking UTR for the IMPS transaction. Always poll Get Transaction Status if tx_status is 2 (Awaited).

Body parameters

initiator_idstringRequired

Registered mobile number of the API user (see Platform Credentials).

example: 9962981729

client_ref_idstringoptional

Unique reference id per API call, generated by your system.

example: REQ-20260101-001

recipient_idnumberRequired

Unique recipient ID from Add Recipient or Get Recipients.

example: 98765

amountnumberRequired

Transfer amount in INR (must match the amount sent to Send OTP).

example: 500

customer_idstringRequired

Sender's 10-digit mobile number.

example: 9123456789

otpstringRequired

OTP entered by the customer, received on their registered mobile.

example: 251834

otp_ref_idstringRequired

OTP reference ID from the Send Transaction OTP response.

example: TXNOTP20240101001

latlongstringRequired

GPS coordinates of the agent/merchant's device at the time of transaction (required for regulatory compliance).

example: 28.6139,77.2090

statestringRequired

Fixed value: "1".

example: 1

recipient_id_typestringRequired

Fixed value: "1" for bank account recipients.

example: 1

channelnumberoptional

Transfer channel. Fixed value: 2 (IMPS). Defaults to 2.

example: 2

currencystringoptional

Currency code. Defaults to "INR".

example: INR

timestampstringoptional

ISO 8601 request timestamp.

example: 2024-01-01T10:30:00Z

Headers

developer_keystringRequired

Static API key issued to your account after KYC.

secret-keystringRequired

Dynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))).

secret-key-timestampstringRequired

Current time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time.

content-typestringRequired

application/json

example: application/json

Responses

  • statusnumber

    Primary success indicator (0 = success).

  • messagestring

    Human-readable response / error message.

  • response_status_idnumber

    Granular status id; see the shared error-codes table.

  • response_type_idnumber

    A unique id for every possible response shape (success or error) — useful for client logic branching and analytics.

  • tx_statusstring

    Transaction state: 0=Success, 1=Fail, 2=Awaited, 3=Refund Pending, 4=Refunded, 5=On Hold.

  • txstatus_descstring

    Human-readable transaction status.

  • dataobject

    API-specific response payload.

    • tidstring

      Eko's internal transaction ID. Use this for status enquiries and reconciliation.

    • utrnumberstring

      Unique Transaction Reference (UTR) from the IMPS network — the banking-side reference number.

    • amountnumber

      Amount transferred in INR.

    • recipient_namestring

      Name of the beneficiary credited.

    • accountstring

      Beneficiary account number credited.

    • ifscstring

      IFSC code of the credited bank account.

    • feenumber

      Transaction fee charged (in INR).

    • commissionnumber

      Commission earned by the agent on this transaction (in INR).

    • balancenumber

      Remaining wallet balance of the agent after the transaction.

    • client_ref_idstring

      Your system's reference ID (echoed back).

    • timestampstring

      Server-side timestamp of the transaction.

Next steps

Related