On this page, you will learn how to:
- Enable Auto Rescue for card payments.
- Receive updates on the Auto Rescue process.
We also explain how you can:
- Send a payment link when the Auto Rescue process ends unsuccessfully.
- Cancel the Auto Rescue process for a payment.
- Test how your integration handles Auto Rescue updates.
- Reconcile retry attempts in Adyen-generated reports.
How it works
Step 1: Enable Auto Rescue
You can enable Auto Rescue at either:
- Account level: Auto Rescue is used on all eligible payments.
- Transaction level: You choose when Auto Rescue can be used for a payment, using the
autoRescue
flag.
Enable at account level
To enable Auto Rescue for all payments, contact our Support Team or your Adyen Account Manager.
When enabled, Auto Rescue works for payments that have:
- The
shopperInteraction
ContAuth. - A
value
greater than 0.
If you enable Auto Rescue at account level, a rescue window of one calendar month is used. If you prefer to use another rescue window you need to enable Auto Rescue at the transaction level.
You receive updates to the Auto Rescue process in webhook events.
Enable at transaction level
To enable Auto Rescue on a transaction level, you need to:
- Contact our Support Team or your Adyen Account Manager to configure this for you.
- Add the
autoRescue
flag to your payment request to enable Auto Rescue for that transaction. - In the payment request, provide a unique
merchantOrderReference
. This should represent a specific billing cycle or subscription, and will appear in any Auto Rescue updates or reports.
With merchantOrderReference
you can connect any Auto Rescue retry attempts to a payment request.
To enable Auto Rescue for a transaction:
-
Make a payment request, and additionally specify:
- shopperInteraction: ContAuth
autoRescue
: truemaxDaysToRescue
: The rescue window, in days. You can specify between 1 and 48 days. We recommend using a rescue window of one calendar month (30 days).- reference: Your unique reference for this payment request.
- merchantOrderReference: Your unique order reference. For example, a concatenation of a unique shopper reference and the transaction date.
The example below shows how to enable Auto Rescue for a shopper-not-present payment submitted to the /payments endpoint. If this payment is Refused, Auto Rescue will automatically retry this payment for a maximum of 40 days.
-
You receive a payment response. If the payment is refused, this contains:
-
resultCode
: Refused -
refusalReason
: The reason the payment was refused. For more information, see Refusal reasons. -
retry.rescueScheduled
: Indicates whether Auto Rescue will try to rescue the payment:- true: Auto Rescue will try to rescue the payment. You receive updates on the rescue process in webhook events.
- false: Auto Rescue will not try to rescue the payment. This happens when a payment cannot be rescued. For example, because of account closure or fraud.
-
retry.rescueReference
: Unique Auto Rescue reference for this payment.
You can use this to cancel the Auto Rescue process if, for example, the shopper provides you with a new payment details, or cancels their subscription.
The example response below is for a payment that was Refused. In this response,
retry.rescueScheduled
is set to true, indicating that Auto Rescue will attempt to rescue this payment. -
You receive updates to the Auto Rescue process in webhook events.
Step 2: Receive Auto Rescue updates
To update you on the Auto Rescue process, we send you webhook events. We send you a webhook event when:
- A retry attempt was made, and it was:
- The rescue process ended, either because the payment was rescued, or the Auto Rescue process was unsuccessful.
Before using Auto Rescue for live payments, we recommend that you test how your integration handles these webhook events.
Retry attempt successful
If a retry attempt is successful, you receive a webhook event with:
eventCode
: AUTHORISATIONeventDate
: The date of the retry attempt.success
: truepspReference
: Adyen's unique reference for the successful retry attempt.merchantOrderReference
: Unique order reference that you provided in the payment request.
The example below is for a retry attempt that was successful.
You can view how much revenue has been recovered with Auto Rescue in your Customer Area, under Reports. Search for the RevenueAccelerate report.
If you use manual capture, you need to capture each rescued payment to transfer it to your account.
Retry attempt unsuccessful
If a retry attempt is unsuccessful, you receive a webhook event with:
eventCode
: AUTHORISATIONeventDate
: The date of the retry attempt.success
: falsemerchantOrderReference
: Unique order reference that you provided in the payment request.retry.rescueScheduled
: Indicates whether Auto Rescue will attempt the payment again:- true: Another retry attempt has been scheduled.
- false: We are unable to schedule another retry attempt.
This usually happens when you have reached the maximum number of retries.
The example below is for a retry attempt that was unsuccessful (success
is false). Another retry attempt has been scheduled (retry.rescueScheduled
is true).
Rescue process ended
When the Auto Rescue process ends we send you a webhook event with:
eventCode
: AUTORESCUE.eventDate
: The date that the rescue process started.success
: Indicates whether the rescue process was successful:- true: The rescue process was successful.
- false: The rescue process was unsuccessful.
merchantOrderReference
: Unique order reference you provided in the payment request.reason
: If the rescue process was unsuccessful, this indicates why the payment could not be rescued:retryWindowHasElapsed
: The rescue window expired.maxRetryAttemptsReached
: The maximum number of retry attempts was made.fraudDecline
: The retry was rejected due to fraud.internalError
: An internal error occurred while retrying the payment.
The example below is a webhook event indicating that a payment could not be rescued. This is because the maximum number of retries has been reached (reason
is maxRetryAttemptsReached).
Send a payment link
In case the Auto Rescue process ended unsuccessfully, you can optionally use Pay by Link to send the shopper a payment link so they can still proceed with the payment, for example, using other payment method.
To activate Pay by Link for Auto Rescue, contact our Support Team.
After we activate the feature, you will receive additional data fields in the Auto Rescue process end webhook:
- paymentLink.url — The URL where the shopper can complete the payment. Valid for 5 days.
- paymentLink.expiresAt — The date when the payment link expires, in ISO 8601 format. For example,
2019-11-23T12:25:28Z
or2020-05-27T20:25:28+08:00
.
When the shopper has paid with Pay by Link, you receive an AUTHORISATION webhook event with:
shopperReference
: The payment details used by the shopper.recurringDetailReference
: The token you can use for the next subscription renewal. For more information, refer to Tokenization.
Cancel Auto Rescue
While a payment is in the Auto Rescue process, your shopper may provide you with a new payment method, or cancel their subscription. In these scenarios, you should cancel the Auto Rescue process for the refused payment.
To cancel the Auto Rescue process:
-
Make a /cancel request, specifying:
originalReference
: TherescueReference
that you received in the payment response.cancellationType
: autoRescue
The following example shows how to cancel the Auto Rescue process for a payment with a
rescueReference
of 865497581465325B. -
You receive a /cancel response containing:
response
: [cancel-received]pspReference
: The PSP reference associated with this/cancel
request. This is different from the PSP reference associated with the original payment request.
After we have processed your cancel request, you receive a webhook event with:
eventCode
: CANCEL_AUTORESCUEsuccess
: Indicates whether your request to cancel the rescue process was successful.merchantOrderReference
: Unique order reference that you provided in the payment request.
Test Auto Rescue and go live
Before flagging live payments for Auto Rescue, we recommend that you test how your integration handles scenarios involving Auto Rescue updates.
To simulate scenarios involving Auto Rescue updates:
-
Make a test /payments request that is flagged for Auto Rescue. In the request, additionally provide:
autoRescueScenario
: Set this to the scenario you want to test:- AutoRescueSuccessfulFirst: The payment is refused; the first retry attempt is successful.
- AutoRescueSuccessfulSecond: The payment and first retry attempt are refused; the second retry attempt is successful.
- AutoRescueFailed: The payment and all retry attempts are refused.
- AutoRescueFraud: The payment is refused because of fraud; there will be no retry attempts.
-
You receive Auto Rescue updates corresponding to the scenario you are testing. If this scenario involves multiple retry attempts, these Auto Rescue updates will occur several minutes apart.
The example below shows how to test a scenario, with the /payments endpoint, where the second retry attempt is successful:
Auto Rescue reports
Each Auto Rescue retry attempt is a separate transaction, and thus generates a unique pspReference
. If you want to see all payments initiated by Auto Rescue, we can add the Payment Requester Type column to your Received payment details report. Contact our Support Team or your Adyen Account Manager to configure this for you.
To connect an Auto Rescue retry attempt to a payment request, use the value in the Merchant Order Reference column. This corresponds to merchantOrderReference
you provided in the payment request. We can add Merchant Order Reference to the following reports:
Contact our Support Team or your Adyen Account Manager to configure this for you.
If you did not provide merchantOrderReference
in the payment request, we automatically populate the Merchant Order Reference column with pspReference
of the payment request.
Example
The following example represents two payment requests. One has the merchantOrderReference
A1, and the other A2.
- A1: The payment was rescued on the first retry attempt.
- A2: The payment was rescued on the third retry attempt.
Transaction | PSP Reference | Merchant Order Reference | Record Type |
---|---|---|---|
November monthly subscription payment | 812872049382471H | A1 | Refused |
1st retry attempt | 814987049386784P | A1 | Authorised |
December monthly subscription payment | 812872049382471H | A2 | Refused |
1st retry attempt | 804938149876784D | A2 | Refused |
2nd retry attempt | 804938149950514L | A2 | Refused |
3rd retry attempt | 814987049986784P | A2 | Authorised |