Skip to main content
Two methods answer the same question and return the same envelope. Both take the account in the request body, and both report on the account rather than on a name. Penny drop reaches accounts the network cannot answer for on its own, at the cost of a real transfer the customer can see. Penny-less is the lighter check. A common pattern is penny-less first, falling back to penny drop when it cannot answer.

Matching the name

name_at_bank is the name the bank holds, spelled as the bank spells it. Comparing it against an expected name, at a threshold you choose, is your responsibility. Banks abbreviate, reorder and drop middle names, so an exact string comparison rejects holders who are the right person. name and mobile are optional and are passed to the source as sent. Neither changes the result, and name_at_bank is returned either way. The account number travels in the request body rather than the URL, keeping it out of access logs, proxies and browser history.

Reading the result

Read message first. When the account could not be checked at all, the call still returns 200 and message is the only populated field:
Treat a missing account_exists as “not answered” rather than as “no”. An offline bank, an unavailable NPCI, a declining source bank and an NRE account all land here, and the same request may succeed later or by the other method.
Retrying a penny drop credits another rupee and is charged again. Retry it only when you received no response at all.
Invalid input, such as a malformed IFSC or an account number the network rejects outright, returns 422.