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

POSTAePS Balance Enquiry

Check a customer's bank account balance using Aadhaar number and biometric fingerprint — no card or PIN required.

POST/customer/collection/aeps-fingpay/balance-enquiry/{customer_id}

Retrieves the real-time account balance from any Aadhaar-linked bank. Uses the dedicated balance-enquiry endpoint — the request shape matches Cash Withdrawal without the amount field. No money movement occurs and no debit takes place. The agent must have completed AePS Fingpay activation and the current-day daily authentication before calling this API.

To capture the piddata PID block with an RDService-compliant fingerprint scanner, see the Aadhaar Biometric Authentication guide.

Request

Path parameters

customer_idstringRequired

Customer's registered mobile number.

example: 9000000000

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 (max 20 characters).

example: 2026010100123456789

user_codestringRequired

Unique code of your user/agent/retailer the service is run for. Use `Onboard Agent` API to register your users

example: 10000001

bank_codestringRequired

Short bank code identifying the customer's Aadhaar-linked bank (e.g. `HDFC`, `SBIN`). Obtain from the bank list API.

example: HDFC

aadharstringRequired

RSA-encrypted, Base64-encoded Aadhaar number. Encrypt the 12-digit Aadhaar with the Eko RSA public key using PKCS#1 v1.5 padding (Java's default `Cipher.getInstance("RSA")`), then Base64-encode the ciphertext.

example: BASE64_ENCRYPTED_AADHAAR

latlongstringRequired

GPS coordinates of the transaction origin in 'latitude,longitude' format.

example: 28.6139,77.2090

piddatastringRequired

PID XML string from the UIDAI-certified biometric device (fType=2, Data type='X', mc present in DeviceInfo).

example: <?xml version='1.0'?><PidData><Data type='X'>...</Data><DeviceInfo mc='...' /></PidData>

Response types

response_type_idMeaningNext step
1466Transaction Successful
1464Transaction Fail

Responses

1466Transaction Successful

  • 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 for this enquiry.

    • amountstring

      Echo of the transacted amount (INR). '0.0' for a balance enquiry.

    • customer_balancestring

      Customer's account balance returned by the bank (INR). This is the key output of a Balance Enquiry.

    • shopstring

      Agent's shop/merchant name.

    • shop_address_line1string

      Agent's shop address. May be empty.

    • sender_namestring

      Name of the agent/sender initiating the enquiry.

    • merchantnamestring

      Registered merchant name of the agent.

    • merchant_codestring

      Merchant code of the agent. May be empty.

    • user_codestring

      Echo of the agent's user_code from the request.

    • aadharstring

      Masked Aadhaar number of the customer.

    • auth_codestring

      Bank authorization code. May be empty.

    • stanstring

      System Trace Audit Number assigned by the switch. May be empty.

    • terminal_idstring

      Terminal identifier. May be empty.

    • feestring

      Fee charged for the enquiry (INR). May be empty.

    • service_taxstring

      Service tax component on the fee (INR). May be empty.

    • totalfeestring

      Total fee including taxes (INR). May be empty.

    • transaction_datestring

      Transaction date (DD-MM-YY HH:MM:SS).

    • transaction_timestring

      Transaction timestamp (DD-MM-YY HH:MM:SS).

    • reasonstring

      Failure reason, when the enquiry did not complete. Empty on success.

    • commentstring

      Human-readable remark from the provider (e.g. 'Request Completed').

Next steps

NextPOSTAePS Mini StatementRetrieve the last few transactions from an Aadhaar-linked bank account via biometric authentication.

Related