PayNearby AePS cash-out and DMT data
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
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/sessionosintIssues 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/balancesopenbankingReads 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/walletsopenbankingLists 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/profileosintReturns 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/transactionsopenbankingSubmits 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-transactionsopenbankingPages 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/transfersopenfinanceSends 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/beneficiariesopenfinanceRegisters 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/lookupsopenfinanceFetches 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/paymentsopenfinancePays 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/statementsopenbankingPages 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/payoutsopenbankingSweeps 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/customersopendataPulls 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/lookuposintResolves 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
- 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/extractosintRuns 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