This article explains how TAPP Adyen for Dynamics 365 Business Central handles failed Adyen payments. It covers two complementary mechanisms: Adyen Auto Rescue, which automatically retries a refused payment on your behalf, and the Retry Adyen Payment action on the Posted Sales Invoice, which allows your team to manually trigger a retry — including switching to a different shopper token when the original payment method is no longer valid.
Overview
When a recurring card payment is refused by Adyen, there are two ways the situation can be resolved:
| Recovery Method | Who Acts | When It Applies |
| Adyen Auto Rescue | Adyen (automatic) | Auto Rescue is enabled for the merchant and the refusal is eligible for rescue. |
| Manual Retry | Your team (in BC) | Auto Rescue is not enabled, has failed, or is not applicable. |
These two methods are not mutually exclusive. If Auto Rescue is enabled and ultimately fails — for example, because the card has expired or the rescue window has elapsed — a manual retry with a different shopper token is then made available in BC automatically.
Prerequisites
Enable Auto Rescue in Adyen
Auto Rescue is a feature that must be activated by Adyen before it will work. Contact your Adyen Account Manager or Adyen Support to enable it at the account level. Once enabled, it applies automatically to all eligible shopper-not-present card payments.
| 📝 Note: Adyen will only attempt to rescue payments where the refusal reason is one that may be transient — for example, insufficient funds or a temporary issuer issue. Permanent refusals such as fraud or account closure will not be rescheduled. |
Enable Auto Rescue in Business Central
Once Adyen has enabled the feature for your merchant account, you must also enable it in the Adyen Merchant Card in Business Central so that BC’s retry logic is aware of it.
- Use the Search function (Alt + Q) and search for Adyen Merchants, then open the list.
- Open the merchant record for the relevant Adyen merchant account.
- Locate the Auto Rescue Enabled field and set it to Yes.
| 💡 Tip: When Auto Rescue Enabled is set to Yes, BC will check the status of the Auto Rescue process before allowing a manual retry on any invoice linked to that merchant. |
How Auto Rescue Works
When a payment is submitted by BC and Adyen refuses it, Adyen may automatically schedule retry attempts at intervals within the rescue window (up to 48 days, or one calendar month by default at account level).
BC is kept informed of these retry attempts via Adyen webhook events:
| Webhook Event | What It Means |
| AUTHORISATION with success: true | A retry attempt was successful — the payment has been recovered. |
| AUTHORISATION with success: false | A retry attempt failed — another attempt may still be scheduled. |
| AUTORESCUE with success: true | The overall rescue process has completed successfully. |
| AUTORESCUE with success: false | The overall rescue process has ended without recovering the payment. |
When BC receives an AUTORESCUE webhook, it updates the Adyen Payments record linked to the invoice with two flags that drive the behaviour of the Retry Adyen Payment action:
| Field | Description |
| Auto Rescue Attempted | Set to true when the AUTORESCUE webhook is received, indicating the rescue process has concluded (regardless of outcome). |
| Auto Rescued | Set to true only if the AUTORESCUE webhook was received with success: true — meaning the payment was ultimately recovered. |
Retrying a Failed Payment on a Posted Sales Invoice
Where to Find the Action
The Retry Adyen Payment action is available on the Posted Sales Invoice page, in the Adyen action group. It is only visible and enabled for invoices that:
- Have Adyen payment enabled.
- Are configured for Payment type (not Pay by Link).
- Are not in a successful terminal state — i.e. the payment has not already been authorised, sent for settlement, settlement-scheduled, or settled.
Behaviour When Auto Rescue Is Enabled
When Auto Rescue Enabled is set to Yes for the merchant, BC applies the following logic when the Retry Adyen Payment action is triggered:
Scenario 1 — No Payment Record Exists Yet
This can happen when the idempotency key has expired (more than 7 days since the original attempt) but BC has not yet received a payment record from Adyen. In this case, BC allows an immediate retry using the same payment token already recorded on the invoice.
Scenario 2 — Auto Rescue Succeeded
If the AUTORESCUE webhook has been received with success: true, BC blocks a manual retry and displays the following message:
| “This payment was successfully auto-rescued by Adyen. No manual retry is required.” |
The payment has already been recovered automatically — no further action is needed.
Scenario 3 — Auto Rescue Failed
If the AUTORESCUE webhook has been received with success: false, Adyen has exhausted all retry attempts without success. BC will then allow a manual retry, but only once the 7-day idempotency key window has elapsed.
When triggered, a dialog box opens: Change or create new Adyen Shopper Token. This prompt allows the user to:
- Select a different shopper token — choose a valid, active token for the same shopper from the list. This is the recommended path when the original payment method is no longer valid (e.g. expired card, cancelled direct debit).
- Close the dialog without selecting a token — BC will then open the Adyen Shopper Tokens page so a new token can be onboarded for the customer before retrying.
Once a token is selected and confirmed, BC submits a new payment request to Adyen using a fresh idempotency key, ensuring Adyen does not treat it as a duplicate of the original failed payment.
Scenario 4 — Auto Rescue Still in Progress
If no AUTORESCUE webhook has been received yet, the rescue process is still ongoing. BC blocks a manual retry and displays the following message:
| “The auto-rescue process for this payment is still in progress. Please wait for it to complete before retrying.” |
Wait until you receive confirmation (via the invoice’s payment status or the Adyen Payments log) that the rescue process has concluded before attempting a manual retry.
Behaviour When Auto Rescue Is Not Enabled
If Auto Rescue Enabled is set to No for the merchant, BC does not involve the auto rescue flow. The retry logic is straightforward:
- If the idempotency key on the invoice is still within its 7-day validity window, BC blocks the retry and displays a message indicating the key is still valid — wait before retrying.
- Once the 7-day window has elapsed (or if no idempotency key exists), BC allows an immediate retry using the payment token already recorded on the invoice.
| 📝 Note: The 7-day idempotency key window is an Adyen safeguard to prevent duplicate payment submissions. It is enforced by BC regardless of the Auto Rescue setting. |
Changing the Payment Token on a Posted Sales Invoice
If a customer’s stored payment method is no longer valid — for example, their card has expired or been replaced — you can update the token used for payment directly on the Posted Sales Invoice. This can be done in two ways:
Option A — During a Manual Retry (Auto Rescue Path)
When Auto Rescue has failed and BC presents the Change or create new Adyen Shopper Token dialog, you can select any active token registered against the shopper. The retry is then submitted using the newly selected token.
If no valid tokens exist for the shopper, close the dialog. BC will open the Adyen Shopper Tokens page, where you can onboard a new token for the customer (for example, by sending a new tokenisation link) before retrying.
Option B — Manually on the Invoice
You can also update the payment method directly on the Posted Sales Invoice before triggering the retry:
- Open the Posted Sales Invoice.
- In the Adyen Shopper Details section, locate the Adyen Payment Method field.
- Update this field to the new token ID obtained from the shopper’s token list.
- Once updated, use the Retry Adyen Payment action to submit the payment with the new token.
Testing Auto Rescue Scenarios (Sandbox Only)
To test how BC handles Auto Rescue webhook events without waiting for real retry cycles, TAPP Adyen provides a built-in simulation tool on the Sales Invoice page. This is only available in sandbox environments.
How to Set a Test Scenario
- Open a Sales Invoice that is configured for Adyen payment.
- In the Adyen section, locate the Adyen Auto Rescue Simulation field.
- Click on the field to open the input dialog.
- Enter one of the supported scenario names (see the table below) and confirm.
The scenario name is stored for the current session and will be sent to Adyen as the autoRescueScenario additional data parameter when the payment is submitted.
Supported Scenario Names
The following scenario names are accepted by Adyen’s sandbox environment:
| Scenario Name | What It Simulates |
| AutoRescueSuccessfulFirst | Payment is refused; the first retry attempt succeeds. |
| AutoRescueSuccessfulSecond | Payment and first retry are refused; the second retry attempt succeeds. |
| AutoRescueFailed | Payment and all retry attempts are refused. |
| AutoRescueFraud | Payment is refused due to fraud; no retry attempts are made. |
| 📝 Note: For the full list of supported values and format details, refer to the Adyen documentation: https://docs.adyen.com/online-payments/auto-rescue/cards/#test-auto-rescue |
What to Expect
After submitting the payment with a scenario name set:
- BC will receive one or more AUTHORISATION webhook events corresponding to each retry attempt in the scenario.
- BC will receive an AUTORESCUE webhook event once the rescue process concludes (success or failure).
- Depending on the outcome, the Retry Adyen Payment action on the Posted Sales Invoice will reflect the final state — either blocking manual retry (if rescued) or prompting for a new token (if all attempts failed).
| 📝 Note: Webhook events for simulated scenarios typically arrive several minutes apart. If using AutoRescueSuccessfulSecond, expect two intermediate webhook events before the final AUTORESCUE event. |
Summary: Decision Flow for Retry Adyen Payment
The following logic is applied each time the Retry Adyen Payment action is triggered on a Posted Sales Invoice:
| Is Auto Rescue Enabled on the Merchant? │ ├── NO │ └── Has the 7-day idempotency key expired? │ ├── NO → Show “key still valid” message — wait before retrying │ └── YES → Retry with existing token │ └── YES └── Does a Payment record exist for this invoice? │ ├── NO (key expired) → Retry with existing token │ └── YES ├── Auto Rescued = true → Payment recovered — no retry needed ├── Auto Rescue Attempted = true │ └── Has the 7-day idempotency key expired? │ ├── NO → Show “key still valid” message — wait before retrying │ └── YES → Open token selection dialog → Retry with selected or new token └── Neither flag set → Auto Rescue still in progress — wait for webhook |
Related Articles
- Processing Cash Receipt Journals for Adyen Payouts
- Processing Adyen Chargebacks Through a Payout
- Issue a Refund for an Adyen Payment
- Generate an Adyen Payment Request
- Parameters