> This is Payabli documentation. For a complete page index, fetch https://docs.payabli.com/llms.txt — append .md to any page URL for lightweight markdown. For section-level indexes, query parameters, and other AI-optimized access methods, see https://docs.payabli.com/ai-agents.md

# Card Account Updater

> Automatically refresh stored cards that are about to expire to reduce recurring payment declines

Card Account Updater keeps stored card credentials current. For stored cards that are about to expire, the service checks the card networks and refreshes the stored token automatically when the card has a new expiration date, a new number, or a closed account. Recurring and repeat payments keep working without asking the cardholder for a new payment method.

The service uses the card network account updater programs, Visa Account Updater (VAU) and Mastercard Automatic Billing Updater (ABU), to check for updates on stored cards that are about to expire. When an update is available, Payabli refreshes the stored token for you.

Card Account Updater is most valuable when you have a large portfolio of stored cards on file for recurring or repeat payments, such as subscriptions, payment plans, rent, or dues. The value scales with stored-card volume.

## How it works

The service runs automatically twice per month for every paypoint that has it enabled. On each run:

Payabli collects stored card tokens that are about to expire in the current month and the next month for each enabled paypoint.

The collected cards are submitted to the Visa and Mastercard account updater programs to check whether any updates are available, such as a new expiration date, a new card number, or a closed account.

When an update comes back for a card, Payabli refreshes the stored token automatically. You don't have to take any action, and the stored payment method keeps working for future payments.

When a card can't be updated automatically, such as a closed account, Payabli sends a notification so you can follow up with the cardholder. You must subscribe to the event to receive these notifications.

## Enable Card Account Updater

Card Account Updater is enabled by the Payabli team. To enable it for one or more paypoints, or across your entire organization, contact your Payabli representative.

## Get your results

You must subscribe to the `CardUpdaterComplete` event to receive the results. Set up a notification for the event using one of these channels:

* **Email** delivers a CSV attachment with the full results for the run, including each card's token, new expiration date, paypoint ID, and result message. Use email if you want to import results into your own system.
* **Webhook** fires once per card in real time. Use a webhook to automate follow-up, such as emailing a cardholder when their account is closed.

To create the notification, send a `POST` request to `/api/Notification`. This example sets up an email notification for a paypoint:

```json
{
  "method": "email",
  "frequency": "untilcanceled",
  "target": "partner@example.com",
  "ownerType": 2,
  "ownerId": "255",
  "content": {
    "eventType": "CardUpdaterComplete",
    "timeZone": 0
  }
}
```

To send results to a webhook instead, set `method` to `web` and `target` to your endpoint URL. For the full request shape and more examples, see [Manage notifications](/guides/pay-ops-developer-notifications-manage) and the [Create notification](/developers/api-reference/notification/add-notification) endpoint reference.

## Result code reference

Each card in a run returns a result code. Update codes are applied automatically. Actionable codes need follow-up with the cardholder. Informational codes mean the card couldn't be updated and no action is needed. Error codes point to a data quality issue worth investigating.

| Result code               | Type          | What it means                                                     | Recommended action                                                                 |
| ------------------------- | ------------- | ----------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `UPD_EXP_DATE`            | Update        | The expiration date was refreshed. The card number is unchanged.  | None. The token is updated automatically.                                          |
| `UPD_PAN`                 | Update        | The card number was replaced and a refreshed token was issued.    | None. The token is updated automatically.                                          |
| `UPD_BRAND_CONV`          | Update        | The card brand changed.                                           | None. The token is updated automatically.                                          |
| `UPD_CORRECTED`           | Update        | The issuer corrected an earlier update.                           | None. The token is updated automatically.                                          |
| `WRN_CLOSED_ACCOUNT`      | Actionable    | The card account is closed and no replacement is on file.         | Contact the cardholder for a new payment method. The stored card can't be updated. |
| `WRN_CONTACT_CARDHOLDER`  | Actionable    | The issuer flagged the card and the cardholder must be contacted. | Contact the cardholder to resolve before retrying.                                 |
| `WRN_ISSUER_NO_DATA`      | Actionable    | The issuer returned no update data.                               | Monitor for recurrence. This result can be transient.                              |
| `WRN_ISSUER_NOT_ENROLLED` | Informational | The issuer isn't enrolled in an account updater program.          | None. The card can't be automatically updated.                                     |
| `WRN_UNSUPPORTED_NETWORK` | Informational | The card network doesn't support account updater.                 | None. Expected for networks other than Visa and Mastercard.                        |
| `WRN_OPT_OUT`             | Informational | The cardholder opted out of account updater.                      | None. The cardholder's preference is respected.                                    |
| `ERR_INVALID_PAN`         | Error         | The card number is invalid.                                       | Investigate the card number for a data quality issue.                              |
| `ERR_INVALID_TOKEN`       | Error         | The token wasn't found.                                           | Investigate. The token may have been deleted.                                      |
| `ERR_INVALID_EXP_DATE`    | Error         | The expiration date was invalid.                                  | Investigate the expiration date for a data quality issue.                          |

## Billing

Card Account Updater is a paid add-on feature and adds one billable event to your Payabli account: a **token update**, charged each time a stored card token is refreshed. This event is billed to the partner or merchant, not the payor, and appears on your monthly billable statement alongside other processing fees. Rates follow your Payabli agreement.

## Limitations

Keep these limitations in mind while using Card Account Updater:

* **Visa and Mastercard only.** Other networks aren't enrolled in account updater programs. Expect around 40% of results to return `WRN_ISSUER_NOT_ENROLLED`. This is normal.
* **No sandbox testing.** Card Account Updater can't be tested in the sandbox environment today.
* **No dedicated token management view.** There's no single view for your stored card portfolio. You manage stored cards through individual customer records.

## Related resources

See these related resources to help you get the most out of Payabli.

* **[Payment method tokenization](/guides/platform-tokenization-overview)** - Learn how payment method tokenization secures sensitive data and enhances security for your payments

- **[Manage notifications](/guides/pay-ops-developer-notifications-manage)** - Learn how to use the Payabli API to add notifications and automated reports for important events
- **[Notifications and reports overview](/guides/pay-ops-notifications-webhooks-overview)** - Get automated reports and notifications for key events