Account Updater
Overview
Account Updater keeps stored card details up to date automatically, using Visa Account Updater (VAU) and MasterCard Automatic Billing Updater (ABU). It helps reduce failed transactions caused by expired, lost, or stolen cards — stored card_ids are refreshed without asking the customer to re-enter their payment information.
Acquired runs Account Updater checks automatically in a number of situations described below. You can also trigger a check manually through the API when you want direct control over timing.
When Account Updater runs
Acquired initiates an Account Updater request automatically in the following situations:
- Rebill decline: A recurring authorisation is declined for a reason that indicates the card details may be out of date — for example
lost_or_stolen,expired_card, orclosed_account. - Retry advice: The acquirer's advice code indicates that updated credentials should be requested before retrying. See our Retry Advice guide for more.
- Monthly card expiry sweep: On the 15th of each month, Acquired checks all stored cards due to expire the following month and refreshes their details ahead of time.
You can also trigger a check yourself via the API — see Working with Account Updater via the API.
Eligibility
For a card to be eligible for Account Updater, all of the following must be true:
- The card is active.
- The card scheme is Visa or Mastercard. Other schemes are not supported.
- The card does not have an active network token. Cards with active network tokens are kept up to date via the token itself — see our Network Tokens guide.
- Account Updater is enabled on your merchant account. Contact Acquired support or your account manager to enable it.
Working with Account Updater via the API
Three endpoints are available:
- Create an Account Updater request —
POST /cards/{card_id}/account-updater. Manually create a request for a stored card. - List Account Updater requests —
GET /account-updater. A paginated, filterable list of every Account Updater request (both automatic and manual) across your stored cards. Defaults to the last 30 days. - Get an Account Updater request —
GET /account-updater/{id}. Retrieve a single request by itsid, at any age.
Manual and automatic requests flow through the same pipeline and produce the same outcomes. Triggering manually gives you flexibility over when Account Updater runs — for example ahead of a scheduled batch of recurring payments, or when onboarding a portfolio of stored cards.
Request lifecycle
Every Account Updater request moves through the following states:
| Status | Description |
|---|---|
pending | Created and waiting to be sent to the card scheme. |
submitted | Sent to the scheme and awaiting a response. |
completed | The scheme returned a result. See the outcome field for what was returned. |
failed | The scheme could not process the request. |
Once a request is completed, the outcome field reports what the scheme returned:
| Outcome | Meaning |
|---|---|
card_updated | The card number (and usually the expiry) has changed. Future payments will use the new details automatically. |
card_expiry_updated | Only the expiry date has changed. |
no_update | The card is still valid; no changes needed. |
closed_account | The account has been closed. Contact the cardholder for updated payment information. |
card_not_found | The scheme did not recognise the card. |
provider_error | The scheme could not process the request. |
unknown | The result could not be determined. Only shown for some older requests. |
Where card details did change, the response also includes an outcome_detail object containing the before/after card values (last 4 digits, expiry, and BIN where permitted).
Webhook notifications
When Acquired receives an Account Updater response from the card scheme, we notify you via the card_update webhook. The update_detail field tells you what happened:
update_detail | Meaning |
|---|---|
card_updated | A new PAN and/or expiry date has been retrieved. Future payments will use the new details automatically. |
closed_account | The account has been closed. Contact the cardholder for updated payment information. |
no_update | The issuing bank returned no updated details. This can also mean the issuer does not participate in the Account Updater program. Contact the cardholder for updated payment information. |
The account_updater_id field links the webhook to the underlying request, and can be used to retrieve its full record via the Get an Account Updater request endpoint.
Example payload:
{
"webhook_type": "card_update",
"webhook_id": "357b7dd8-b709-4c31-98e3-f3accbb9e72d",
"timestamp": 1701053823,
"webhook_body": {
"card_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"account_updater_id": "0190f9bd-2c4f-7000-9000-aabbccddeeff",
"update_type": "account_updater",
"update_detail": "card_updated",
"card": {
"holder_name": "J Smith",
"scheme": "visa",
"number": "1234",
"expiry_month": 12,
"expiry_year": 29
}
}
}For more information on webhooks, including webhook structure, please view our guide here.
Updated 4 days ago