Decline code · Hard decline
Decline code 25: Unable to Locate Record
The issuer searched its files for the account referenced in the transaction and found nothing. The card number reached the right bank, but that bank has no record matching it. It often surfaces on old, migrated, or purged accounts, or on follow-up transactions referencing originals the issuer cannot find.
Should you retry?
Retrying the same account number gains nothing because the record it points to is gone. Real-time account updater services or a fresh card from the customer are the paths forward. Treat this as a terminal response for the stored credential.
Why code 25 happens
- The account was closed long enough ago that the issuer purged or archived it.
- A bank merger or portfolio migration moved the account and the old number no longer resolves in the issuer's active files.
- A reversal, incremental authorization, or completion references an original transaction the issuer cannot match.
- The PAN is within the issuer's BIN range but was never actually issued.
What to do about it
- Request a different card from the customer, since the referenced account effectively does not exist at the issuer anymore.
- For stored credentials, purge this card from your vault and trigger your card-updater flow to fetch replacement credentials if available.
- If the failure is on a follow-up operation like a completion or reversal, verify the original transaction identifiers you are sending.
- Check whether affected cards cluster in one BIN, which suggests a portfolio migration you can handle in bulk with an account updater run.
Frequently asked questions
- What does unable to locate record mean on a card payment?
- The issuing bank has no account on file matching the card number. The account was likely closed and purged, or moved during a bank migration. The customer needs to provide a current card.
- Why did a saved card that worked for months suddenly return code 25?
- The issuing bank probably migrated or closed the account, so the stored number no longer points at an active record. Run an account updater query to fetch the replacement credentials or ask the customer to re-enter their new card.
Related decline codes