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

POSTInitiate DMT-Levin Transaction

Execute a DMT-Levin money transfer to a bank account after OTP verification.

POST/customer/payment/dmt-levin
Warning
The UAT environment is not available for this API — requests to https://staging.eko.in/ekoapi/v3 return an error response. Test it in Production.

The financial step in the DMT Levin 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 plus a unique client_ref_id per attempt. The response returns tid (Eko transaction ID) and bank_ref_num (the IMPS RRN/UTR); persist both with your client_ref_id for reconciliation.

If tx_status is any value other than those documented, treat the transaction as initiated and poll Transaction Inquiry until a final status is received.

Timeout: a transaction can time out due to a bad connection or a slow partner-bank response. Do not treat a timeout as declined or failed — look it up with Transaction Inquiry using your client_ref_id.

Refund: when a transaction fails, an OTP is automatically sent to the customer. Collect that OTP and call Get Refund OTP as consent that you refunded the cash to the customer; the eValue is then refunded to your account.

Request

Body parameters

initiator_idstringRequired

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

example: 9962981729

user_codestringRequired

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

example: 17260001

customer_idstringRequired

Sender's 10-digit mobile number.

example: 8999999992

recipient_idintegerRequired

Unique recipient ID from Add Recipient or Get Recipients.

example: 10017680

amountintegerRequired

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

example: 110

otpstringRequired

OTP received from the Send Transaction OTP API.

example: 778341

otp_ref_idstringRequired

OTP reference ID from the Send Transaction OTP response.

example: zCISyglexo0Pjqp4YrS2ssweuD9v1GxjISTW8wU7An8Wem1UyNws5830yh7q/sf5J4R3BY=

client_ref_idstringRequired

Unique reference number from your system — make it as unique as possible so it never matches another partner's reference. Used for Transaction Inquiry lookup.

example: RIM65656566

timestampstringRequired

Request date and time (`YYYY-MM-DD HH:mm:ss`).

example: 2025-01-21 11:48:50

currencystringRequired

Currency code. Always `INR`.

example: INR

channelintegerRequired

Send the fixed value 2.

example: 2

statestringRequired

Send the fixed value 1.

example: 1

recipient_id_typeintegerRequired

Send the fixed value 1.

example: 1

latlongstringRequired· Geolocation

GPS coordinates of the user from whom the request is coming, used in case of fraud — pass the valid location of the merchant's system. Format: <latitude,longitude>

example: 26.8863786,75.7393589

Response types

response_type_idMeaningNext step
325Transaction successful—

Responses

325Transaction successful

  • statusnumber

    Primary success indicator (0 = success).

  • messagestring

    Human-readable response / error message.

  • response_status_idnumber

    UI display hint only (-1/0 success, 1 failure, 2 initiated, 3 refund initiated, 4 refunded). Never branch on it — use `status` (and `tx_status` for financial APIs), or `response_type_id` where documented.

  • 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=Initiated / Response Awaited (NEFT) — poll Transaction Inquiry, 3=Refund Pending, 4=Refunded, 6=Response Awaited — Transaction Inquiry required.

  • txstatus_descstring

    Human-readable transaction status.

  • dataobject

    API-specific response payload.

    • tidstring

      Eko's internal transaction ID. Store for reconciliation and support queries.

    • bank_ref_numstring

      Bank reference number (RRN / UTR) for the IMPS transaction.

    • amountstring

      Amount transferred (INR).

    • feestring

      Fee charged for the transfer (INR).

    • collectable_amountstring

      Total collectable from the sender (INR).

    • service_taxstring

      Service tax component on the fee (INR).

    • tdsstring

      Tax deducted at source on the agent's commission (INR).

    • commissionstring

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

    • sender_namestring

      Name of the sender.

    • recipient_namestring

      Name of the beneficiary credited.

    • recipient_idnumber

      Recipient identifier credited.

    • bankstring

      Beneficiary bank name.

    • accountstring

      Beneficiary account number credited.

    • channel_descstring

      Settlement channel used (e.g. IMPS).

    • balancestring

      Agent wallet balance after the transaction (INR).

    • remaining_limit_before_pan_requirednumber

      Amount the sender can still transfer before PAN becomes mandatory (INR).

    • client_ref_idstring

      Echo of the partner reference sent in the request.

    • currencystring

      Currency code.

    • timestampstring

      Server-side timestamp of the transaction.

Next steps

Related