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
Readmessage first. When the account could not be checked at all, the call still returns 200 and
message is the only populated field:
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.
Invalid input, such as a malformed IFSC or an account number the network rejects outright, returns
422.