PayNearby - Aadhaar ATM, DMT icon

PayNearby AePS cash-out and DMT data

Nearby Technologies Pvt. Ltd. · Payments

PayNearby - Aadhaar ATM, DMT is Nearby Technologies Pvt. Ltd.'s Android app for Indian business-correspondent retailers — typically kirana shops and neighbourhood agents — who run an Aadhaar-enabled AePS cash-out, balance enquiry and cash deposit at the till, send domestic money transfer (DMT) remittances to a bank beneficiary, pay BBPS electricity and other bills, recharge prepaid mobiles, keep a shop khata (credit ledger) for walk-in customers, and hold a retailer wallet that can be moved to a linked bank account. The agent signs in with a registered mobile number and password, or a PIN on later visits, then works those tills as a PayNearby retailer on the Punjab National Bank merchant channel. The product is India-only and sits alongside other BC/agent apps such as Spice Money and Fino for the same neighbourhood stores, while consumer UPI wallets remain the buyer-side counterpart.

AePS cash-out receipts stamp UIDAI approval as uaidaiAuthcode and the bank retrieval as rrn, next to aadharNo, accountBalance, pnbTxnId, stan and a trans_type of 1 (withdrawal), 7 (balance enquiry) or 3 (cash deposit). Retailer float is split across CurrentBalance, aeps_balance, cnp_balance and trade_balance; DMT payloads carry bene_account_number, ifsc_code and payee_id; BBPS fetch keys a biller_id plus customer Aadhaar/PAN authenticators; shop khata rows keep finalClosingBalance and phoneNumber.

Distributor MIS, lending stacks watching AePS cash-out volume, and KYC tools matching Aadhaar OCR (mAadharNumber, mDob) to retailer signup (aadhar_number, can_do_remittance) consume those objects. openData Studio turns them into callable open data.

Screenshots

  • PayNearby - Aadhaar ATM, DMT screenshot 1
  • PayNearby - Aadhaar ATM, DMT screenshot 2
  • PayNearby - Aadhaar ATM, DMT screenshot 3
  • PayNearby - Aadhaar ATM, DMT screenshot 4
  • PayNearby - Aadhaar ATM, DMT screenshot 5
  • PayNearby - Aadhaar ATM, DMT screenshot 6
  • PayNearby - Aadhaar ATM, DMT screenshot 7
  • PayNearby - Aadhaar ATM, DMT screenshot 8

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Retailer password login

    POST /v1/retailers/session osint

    Issues the retailer session token used as Authorization: Bearer on every later PNB merchant call, and may step up to OTP or force a password change via action_type.

    Auth: Unauthenticated password grant. Body phone_number, password, grant_type=password, scope=retailer. The response token is used as a Bearer access token on later calls; action_type may ask for an OTP step-up or a forced password change.

    • phone_number
    • password
    • grant_type
    • scope
    • token
    • action_type
    POST /v1/retailers/session HTTP/1.1
    Accept: application/json
    Content-Type: application/json
    
    {
      "phone_number": "9876543210",
      "password": "*",
      "grant_type": "password",
      "scope": "retailer"
    }
    {
      "token": "<bearer_token>",
      "action_type": ""
    }
  • Read retailer wallet balances

    GET /v1/retailers/me/balances openbanking

    Reads the logged-in retailer's float split across main, AePS, card-not-present and trade wallets shown on the home and redeem screens.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • merchant_ref_id
    • CurrentBalance
    • aeps_balance
    • cnp_balance
    • trade_balance
    GET /v1/retailers/me/balances?merchant_ref_id=MREF88210 HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Accept: application/json
    {
      "CurrentBalance": 18450.75,
      "aeps_balance": 6200.0,
      "cnp_balance": 1500.0,
      "trade_balance": 10750.75,
      "merchant_ref_id": "MREF88210"
    }
  • List retailer wallets

    GET /v1/retailers/me/wallets openbanking

    Lists the retailer's wallet buckets (main / AePS / CNP / trade) used before a move-to-bank or redeem.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • wallet_type
    • CurrentBalance
    • aeps_balance
    • cnp_balance
    • trade_balance
    GET /v1/retailers/me/wallets HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Accept: application/json
    [
      {
        "wallet_type": "1",
        "CurrentBalance": 18450.75,
        "aeps_balance": 6200.0,
        "cnp_balance": 1500.0,
        "trade_balance": 10750.75
      }
    ]
  • Read merchant signup and KYC profile

    GET /v1/retailers/me/profile osint

    Returns the retailer's KYC, GST, PAN/Aadhaar, shop, AePS/DMT/CNP/bill-pay flags and package entitlements after login.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • id
    • CurrentBalance
    • pan
    • aadhar_number
    • distributor_id
    • kyc
    • account
    • aeps_details
    • gst_details
    • shop
    • remittance_service_status
    • aeps_service_status
    • aeps_status
    • can_do_remittance
    • can_do_cnp
    • billpayment_enabled
    • yes_bank_bill_approve_id
    • billdesk_bank_approved_id
    • rbl_bank_status
    • dmt_enabled
    • aeps_enabled
    • cnp_enabled
    • package_id
    GET /v1/retailers/me/profile HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Accept: application/json
    {
      "id": "88210",
      "CurrentBalance": 18450.75,
      "pan": "ABCDE1234F",
      "aadhar_number": "XXXXXXXX1234",
      "distributor_id": "D1048",
      "kyc": {
        "status": "verified"
      },
      "account": {
        "status": "active"
      },
      "aeps_details": {
        "aeps_status": 1
      },
      "gst_details": {},
      "shop": {
        "merchantName": "RAJ KIRANA",
        "phoneNumber": "9876543210"
      },
      "remittance_service_status": true,
      "remittance_service_description": "enabled",
      "aeps_service_status": true,
      "aeps_service_description": "enabled",
      "aeps_status": 1,
      "can_do_remittance": true,
      "can_do_cnp": true,
      "billpayment_enabled": true,
      "billpayment_enable_status": "approved",
      "yes_bank_bill_approve_id": "YB441",
      "billdesk_bank_approved_id": "BD902",
      "shop_address_proof_file": "shop-proof.jpg",
      "rbl_bank_status": 1,
      "rbl_bank_status_desc": "active",
      "rbl_bank_status_id": 1,
      "rbl_bank_comments": "",
      "dmt_enabled": true,
      "mobile_enabled": true,
      "bus_enabled": false,
      "cnp_enabled": true,
      "aeps_enabled": true,
      "device_enabled": true,
      "package_id": "1",
      "price": 0
    }
  • Post AePS cash-out or enquiry

    POST /v1/aeps/transactions openbanking

    Submits an Aadhaar-enabled AePS withdrawal (trans_type=1), balance enquiry (7) or cash deposit (3) with fingerprint data and returns RRN, UIDAI auth code, account balance and agent fee.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential). Biometric capture accompanies the request.

    • bank_id
    • agent_mobile
    • customer_mobile
    • aadhar_no
    • amount
    • stan
    • csr_id
    • finger_index
    • biometric_data
    • serial_number
    • trans_type
    • latitude
    • longitude
    • otp
    • customer_name
    • isSuccessful
    • respMessage
    • aadharNo
    • accountBalance
    • accountNo
    • agentFee
    • pnbTxnId
    • rrn
    • uaidaiAuthcode
    • txnId
    • terminalId
    POST /v1/aeps/transactions HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Content-Type: application/json
    
    {
      "bank_id": "SBIN",
      "agent_mobile": "9876543210",
      "customer_mobile": "9123456789",
      "aadhar_no": "XXXXXXXX1234",
      "amount": "2000",
      "stan": "882145",
      "csr_id": "88210",
      "finger_index": "2",
      "biometric_data": "<iso-template>",
      "serial_number": "MANTRA-001",
      "trans_type": "1",
      "latitude": "12.9716",
      "longitude": "77.5946",
      "otp": "<otp>",
      "version": "2.1.1",
      "app_id": "<app_id>",
      "partner_id": "1",
      "partner_password": "<partner_password>",
      "customer_name": "ANITA SHARMA"
    }
    {
      "isSuccessful": true,
      "respMessage": "SUCCESS",
      "aadharNo": "XXXXXXXX1234",
      "accountNo": "XXXXXX4321",
      "accountBalance": "15420.50",
      "txnAmount": "2000",
      "agentFee": "8.00",
      "agentId": "88210",
      "bankName": "State Bank of India",
      "bcName": "RAJ KIRANA",
      "bcAddress": "12 MG ROAD BENGALURU",
      "dateTime": "2026-10-21 14:32:01",
      "pnbTxnId": "PNB882145001",
      "requestId": "REQ882145",
      "rrn": "629012345678",
      "stan": "882145",
      "terminalId": "PNBTERM01",
      "txnId": "TXN882145001",
      "uaidaiAuthcode": "UIDAI99821"
    }
  • AePS transaction report

    GET /v1/reports/aeps-transactions openbanking

    Pages the retailer's AePS cash-out/enquiry history with RRN, Aadhaar, merchant income, TDS and bank terminal ids for the report screen.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • merchant_phone_number
    • from
    • to
    • query
    • start
    • end
    • transaction_type
    • search_option
    • aadhaarNumber
    • accountBalance
    • accountNumber
    • amount
    • apiTransactionId
    • authId
    • rrn
    • stan
    • merchantIncome
    • tdsAmount
    • vaepsTransRefid
    • transactionId
    • ifscCode
    GET /v1/reports/aeps-transactions?merchant_phone_number=9876543210&from=2026-10-01&to=2026-10-21&query=0&start=0&end=20&transaction_type=1&search_option=0 HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Accept: application/json
    [
      {
        "aadhaarNumber": "XXXXXXXX1234",
        "accountBalance": "15420.50",
        "accountNumber": "XXXXXX4321",
        "amount": "2000",
        "apiTransactionId": "API882145",
        "authId": "UIDAI99821",
        "bankName": "State Bank of India",
        "bankTerminalId": "PNBTERM01",
        "bankTransactionId": "SBI882145",
        "date": "2026-10-21",
        "ifscCode": "SBIN0000123",
        "location": "Bengaluru",
        "merchantIncome": "8.00",
        "merchantPhoneNumber": "9876543210",
        "phoneNumber": "9123456789",
        "rrn": "629012345678",
        "stan": "882145",
        "status": "SUCCESS",
        "statusDescription": "Cash withdrawal",
        "tdsAmount": "0.80",
        "transactionId": "TXN882145001",
        "transactionStatusId": "1",
        "vaepsTransRefid": "VAEPS882145"
      }
    ]
  • DMT fund transfer

    POST /v1/remittances/transfers openfinance

    Sends a domestic money transfer from the retailer's DMT customer to a saved bank beneficiary, with IFSC, pay mode and geo stamp.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • customer_id
    • customer_phone_number
    • payee_id
    • bene_account_number
    • ifsc_code
    • bene_phone_number
    • bene_name
    • pay_mode_id
    • payment_transaction_type_id
    • amount
    • latitude
    • longitude
    • transactionId
    POST /v1/remittances/transfers HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Content-Type: application/json
    
    {
      "customer_id": "C44120",
      "customer_phone_number": "9123456789",
      "payee_id": "BENE7781",
      "bene_account_number": "123456789012",
      "ifsc_code": "SBIN0000123",
      "bene_phone_number": "9123456789",
      "bene_name": "ANITA SHARMA",
      "pay_mode_id": "IMPS",
      "payment_transaction_type_id": "1",
      "amount": "5000",
      "latitude": "12.9716",
      "longitude": "77.5946"
    }
    {
      "transactionId": "DMT882145",
      "amount": "5000",
      "payee_id": "BENE7781",
      "bene_account_number": "123456789012",
      "ifsc_code": "SBIN0000123",
      "bene_name": "ANITA SHARMA",
      "payment_transaction_type_id": "1"
    }
  • Add DMT beneficiary

    POST /v1/remittances/beneficiaries openfinance

    Registers a DMT payee (account, IFSC, bank/branch ids) on the sending customer, including a confirmation copy of the account number.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • phone_number
    • bene_phone_number
    • bene_name
    • bene_account_number
    • bene_account_number_confirmation
    • bene_type
    • bank_name
    • ifsc_code
    • bank_id
    • branch_id
    • Id
    • AccountNumber
    • IfscCode
    • ImpsStatusId
    • NeftAvailable
    POST /v1/remittances/beneficiaries HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Content-Type: application/json
    
    {
      "phone_number": "9123456789",
      "bene_phone_number": "9123456789",
      "bene_name": "ANITA SHARMA",
      "bene_account_number": "123456789012",
      "bene_account_number_confirmation": "123456789012",
      "bene_type": "bank",
      "bank_name": "State Bank of India",
      "ifsc_code": "SBIN0000123",
      "bank_id": "SBIN",
      "branch_id": "0123"
    }
    {
      "Id": "BENE7781",
      "Name": "ANITA SHARMA",
      "AccountNumber": "123456789012",
      "IfscCode": "SBIN0000123",
      "Bank": "State Bank of India",
      "BankId": "SBIN",
      "BranchId": "0123",
      "PhoneNumber": "9123456789",
      "Type": "bank",
      "ImpsStatusId": "1",
      "NeftAvailable": true
    }
  • BBPS bill fetch

    POST /v1/bills/lookups openfinance

    Fetches a BBPS bill for a biller_id using customer authenticators and the retailer's Yes Bank / BillDesk approval ids, returning amount, due date and retailer fee.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • merchant_ref_id
    • biller_id
    • customer_aadhar_no
    • customer_pan_no
    • authenticator_1
    • additional_field_2
    • yes_bank_bill_approve_id
    • billdesk_bank_approved_id
    • channel_type
    • mTransactionId
    • mAmount
    • mBillDueDate
    • mBillNumber
    • mRetailerFee
    • mConvenienceFee
    • mResponseCode
    POST /v1/bills/lookups HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Content-Type: application/json
    
    {
      "merchant_ref_id": "MREF88210",
      "merchant_mobile_number": "9876543210",
      "merchant_bbps_ref_id": "BBPS88210",
      "billdesk_bank_approved_id": "BD902",
      "yes_bank_bill_approve_id": "YB441",
      "biller_id": "BESCOM000KARN0001",
      "channel_type": "18",
      "product_id": "1",
      "customer_mobile_no": "9123456789",
      "customer_name": "ANITA SHARMA",
      "customer_aadhar_no": "XXXXXXXX1234",
      "customer_pan_no": "ABCDE1234F",
      "customer_email_id": "[email protected]",
      "input_count": "1",
      "authenticator_1": "KA0123456789",
      "authenticator_2": "",
      "authenticator_3": "",
      "authenticator_4": "",
      "authenticator_5": "",
      "additional_field_1": "",
      "additional_field_2": "",
      "latitude": "12.9716",
      "longitude": "77.5946",
      "image_file_name": ""
    }
    {
      "mTransactionId": "BBPS20261021001",
      "mAmount": 1240.0,
      "mBillDate": "2026-10-01",
      "mBillDueDate": "2026-10-21",
      "mBillNumber": "BILL90821",
      "mBillPeriod": "Sep 2026",
      "mConvenienceFee": "0.00",
      "mConvenienceFeeDesc": "",
      "mRetailerFee": 4.5,
      "mResponseCode": "00",
      "mResponseDescription": "SUCCESS",
      "mPartialPayment": false,
      "mPayWithoutBill": false,
      "mBillPaymentValid": true,
      "mOrderId": "ORD77821",
      "mBillFetchResponse": "SUCCESS"
    }
  • BBPS bill payment

    POST /v1/bills/payments openfinance

    Pays a previously fetched BBPS bill by transaction_id, amount and biller_id and returns order/status ids plus retailer fee.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • transaction_id
    • amount
    • biller_id
    • mTransactionId
    • mTransactionStatusId
    • mResponseCode
    • mOrderId
    • mRetailerFee
    POST /v1/bills/payments HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Content-Type: application/json
    
    {
      "transaction_id": "BBPS20261021001",
      "amount": "1240.00",
      "biller_id": "BESCOM000KARN0001"
    }
    {
      "mTransactionId": "BBPS20261021001",
      "mAmount": 1240.0,
      "mTransactionStatusId": "1",
      "mResponseCode": "00",
      "mResponseDescription": "SUCCESS",
      "mOrderId": "ORD77821",
      "mRetailerFee": 4.5,
      "biller_id": "BESCOM000KARN0001"
    }
  • Retailer account statement

    GET /v1/retailers/me/statements openbanking

    Pages credit/debit rows for a retailer wallet_type between fdate and todate, including running balance and statementType.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • fdate
    • todate
    • wallet_type
    • agent_ref_id
    • row_start_count
    • row_end_count
    • sNo
    • date
    • transactionId
    • statementType
    • debit
    • credit
    • balance
    GET /v1/retailers/me/statements?fdate=2026-10-01&todate=2026-10-21&wallet_type=1&agent_ref_id=88210&row_start_count=0&row_end_count=20 HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Accept: application/json
    [
      {
        "sNo": "1",
        "date": "2026-10-21",
        "transactionId": "STMT882145",
        "statementType": "AePS cash-out commission",
        "debit": "0.00",
        "credit": "8.00",
        "balance": "18450.75"
      }
    ]
  • Move float to bank

    POST /v1/retailers/me/payouts openbanking

    Sweeps an amount from the retailer wallet to the linked bank account after re-entering the password.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential). Body includes the retailer password.

    • amount
    • password
    • transactionId
    • debit
    • balance
    POST /v1/retailers/me/payouts HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Content-Type: application/json
    
    {
      "amount": "5000",
      "password": "*"
    }
    {
      "amount": "5000",
      "transactionId": "MTB882145",
      "debit": "5000",
      "balance": "13450.75"
    }
  • Sync khata customers

    GET /v1/ledger/customers opendata

    Pulls shop-khata customers changed since last_sync_timestamp — name, phone, address and finalClosingBalance — into the on-device GreenDAO ledger.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • last_sync_timestamp
    • customerId
    • customerLocalId
    • retailerId
    • name
    • phoneNumber
    • address
    • finalClosingBalance
    • isSync
    • createdTimestamp
    • modifiedTimestamp
    • syncTimestamp
    GET /v1/ledger/customers?last_sync_timestamp=1729468800000 HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Accept: application/json
    [
      {
        "customerId": 44120,
        "customerLocalId": 12,
        "retailerId": 88210,
        "name": "ANITA SHARMA",
        "phoneNumber": "9123456789",
        "address": "12 MG ROAD",
        "finalClosingBalance": 350.0,
        "isSync": true,
        "createdTimestamp": 1729468800000,
        "modifiedTimestamp": 1729555200000,
        "syncTimestamp": 1729555200000
      }
    ]
  • Lookup DMT customer

    GET /v1/remittances/senders/lookup osint

    Resolves a DMT sender mobile to KYC flag, remaining monthly limit, linked Aadhaar list and active status before a remittance.

    Auth: Bearer access token from the retailer sign-in call as Authorization, plus company id, device id, client platform and app version headers, and a static client token header (not a user credential).

    • phone_number
    • detail_level
    • id
    • name
    • email
    • phoneNumber
    • kycVerified
    • balance
    • remainingLimit
    • monthlyTransactionLimit
    • maxAadhaarCards
    • aadharNumbers
    • activeStatusId
    GET /v1/remittances/senders/lookup?phone_number=9123456789&detail_level=full HTTP/1.1
    Authorization: Bearer <access_token>
    X-Company-Id: <company_id>
    X-Device-Id: <device_id>
    X-Client-Platform: merchant-android
    X-App-Version: 2.1.1
    X-Client-Token: <client_token>
    Accept: application/json
    {
      "id": "C44120",
      "name": "ANITA SHARMA",
      "email": "[email protected]",
      "phoneNumber": "9123456789",
      "kycVerified": true,
      "balance": 0.0,
      "remainingLimit": 18500.0,
      "monthlyTransactionLimit": 25000.0,
      "maxAadhaarCards": 5,
      "aadharNumbers": [
        "XXXXXXXX1234"
      ],
      "activeStatusId": "1"
    }
  • Aadhaar front OCR

    POST /v1/kyc/documents/identity-front/extract osint

    Runs Aadhaar-front OCR during retailer onboarding / AePS KYC and fills name, DOB, gender, address, PIN, state, city and Aadhaar number.

    Auth: Called from the retailer session; body is the captured Aadhaar-front image. Response carries the extracted identity fields.

    • aadhar_image
    • mName
    • mDob
    • mGender
    • mAddress
    • mPincode
    • mState
    • mCity
    • mAadharNumber
    • mImage
    POST /v1/kyc/documents/identity-front/extract HTTP/1.1
    Accept: application/json
    Content-Type: application/json
    
    {
      "aadhar_image": "<base64-jpeg>"
    }
    {
      "mName": "RAJ SHARMA",
      "mDob": "1988-04-12",
      "mGender": "M",
      "mAddress": "12 MG ROAD",
      "mPincode": "560001",
      "mState": "Karnataka",
      "mCity": "Bengaluru",
      "mAadharNumber": "XXXXXXXX1234",
      "mImage": "<redacted>"
    }

Data categories

  • balances
  • transactions
  • identity
  • bills
  • beneficiaries
  • kyc

Where teams use this data

  • AePS cash-out reconciliation

    A distributor MIS or BC-network ops desk pulls daily AePS rows by trans_type, matches rrn and uaidaiAuthcode to the acquiring bank, and nets merchantIncome minus tdsAmount against the retailer's aeps_balance.

  • DMT corridor monitoring

    A remittance-compliance stack watches fund-transfer payloads (bene_account_number, ifsc_code, payee_id, amount) and the sender's remainingLimit / monthlyTransactionLimit from customer lookup to flag limit exhaustion or repeated new beneficiaries.

  • Retailer float treasury

    A treasury bot reads CurrentBalance, aeps_balance, cnp_balance and trade_balance, then records move-to-bank amount/debit/balance so overnight settlement into the linked account can be forecast.

  • BC onboarding KYC match

    A KYC desk compares Aadhaar OCR fields (mAadharNumber, mDob, mName, mPincode) with signup-info aadhar_number, pan, gst_details and shop, and gates can_do_remittance / aeps_enabled before the agent goes live.

Frequently asked questions

Which AePS transaction types does the PayNearby retailer client send?

trans_type 1 is cash withdrawal, 7 is balance enquiry and 3 is cash deposit. The response carries rrn, uaidaiAuthcode, accountBalance, pnbTxnId, agentFee and terminalId.

How is the retailer float split?

Signup-info and the home wallets expose CurrentBalance plus aeps_balance, cnp_balance and trade_balance. Move-to-bank posts amount with the retailer password to sweep float to a linked account.

What identity fields appear on DMT and onboarding?

Customer lookup returns kycVerified, remainingLimit, monthlyTransactionLimit and aadharNumbers. Signup-info adds aadhar_number, pan, gst_details and shop; Aadhaar-front OCR fills mName, mDob, mGender, mAddress and mAadharNumber.

Apps similar to PayNearby - Aadhaar ATM, DMT

  • Spice Money — Spice Money's assisted-banking platform lets neighbourhood agents run Aadhaar-enabled AePS cash deposit, withdrawal, balance enquiry and mini statements, plus domestic money transfer (DMT), mATM card cash-out, and electricity and other bill payments.
  • Fino Payments Bank — Fino Payments Bank's FinoSaathi merchant programme turns kirana and other retail shops into banking points that offer AePS Aadhaar transactions, micro-ATM cash-out, domestic money transfer via IMPS or NEFT, Aadhaar Pay, and bill payments and recharges.
  • Eko — Eko's retailer platform lets shopkeepers take cash from customers to transfer money to any Indian bank account, run Aadhaar-based cash withdrawal and transfers with fingerprint, and pay utility bills for 100+ billers.
  • Airtel Payments Bank — Airtel Payments Bank recruits neighbourhood banking points that open accounts and handle cash withdrawals and deposits, sitting alongside its merchant QR and soundbox tools for shop collections.
  • Paytm for Business — Paytm for Business is One97's merchant app for Indian shops to accept in-store payments through an All-in-One QR, Soundbox voice alerts and a card machine, with settlements into a bank account.
  • BharatPe for Business — BharatPe for Business is a merchant app for Indian shops to accept digital payments via BharatPe UPI QR, card swipe machines and a speaker, plus related business lending.
  • PhonePe Business — PhonePe Business is PhonePe's merchant app for Indian shops to accept UPI on a single QR, add a Smart Speaker soundbox and a POS machine, and apply for an MSME loan from the same login.
  • OkCredit — OkCredit is a digital khata (ledger) app for Indian merchants that records customer credit and handles UPI collections and billing on the phone.

Topics

  • PayNearby API
  • AePS cash-out data
  • DMT remittance fields
  • BBPS biller_id
  • retailer CurrentBalance
  • Aadhaar uaidaiAuthcode
  • PayNearby khata
  • business correspondent India

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote