Intelligent Retries
Beta
Intelligent Retries is in beta, limited to Mastercard, and is subject to change.
Intelligent Retries help recover lost revenue from declined transactions by sending you notifications informing you when a transaction has succeeded on that card. The card networks track activity, such as successful approvals on the same card at other merchants for similar amounts or greater, to identify optimal retry windows.
Declined transactions impact all businesses to some degree and are often caused by temporary issues, such as insufficient funds. They can negatively impact revenue, support costs, customer loyalty, and brand trust. To prevent these issues, most solutions retry the payment based on some kind of static schedule, without any signal that the retry will succeed. Intelligent Retries fills this gap. It uses card network intelligence to determine when a retry is more likely to succeed, which can:
- Increase approval rates
- Maximize revenue recovery
- Mitigate excessive retry fines
- Prevent service disruptions
How it works
There are 3 easy steps to start recovering revenue:
-
Configuration: Intelligent Retries is configured per merchant. To enroll your merchant, use the [Intelligent Retries onboarding API]. Then, configure a webhook endpoint in the dashboard and subscribe to the
payments.intelligent-retries.signalevent. -
Network Monitoring: After enrollment, Mastercard detects and monitors activity related to declined transactions on that MID to identify the optimal moment for a retry.
-
Intelligent Retry signals: When the network identifies a transaction has succeeded on the same card, Evervault sends an event to your webhook endpoint so you can retry the payment.
Intelligent Retries Onboarding API
You need to onboard your Merchant ID (MID) for Mastercard using the Intelligent Retries Onboarding API. Mastercard monitor this MID for declined transactions as outlined in the next section.
If you don't know your Merchant ID, you can supply a network transaction ID from one of your transactions. Evervault works to locate the MID associated with the transaction and onboard it with Mastercard for Intelligent Retries.
Locating a transaction ID is typically straight forward. Refer to the Locating a transaction ID section.
From the time of onboarding, it can take up to 3 weeks before the MID is tracked by Mastercard and you start receiving notifications.
Mastercard monitoring
Mastercard scans its own network for failed transactions associated with your enrolled MID. If a monitored MID receives a 51 or 61 decline code, Mastercard monitors the payment instrument involved in the declined transaction.
Mastercard monitoring is triggered exclusively for the following response codes:
- Decline Code 51: Insufficient Funds
- Decline Code 61: Exceeds Withdrawal Amount Limit
Mastercard monitors linked payment credentials across its global network. They track activity such as successful approvals on the same card at other merchants for similar amounts or greater, to identify optimal retry windows.
Duplicate decline prevention
When a repeat decline occurs for the same PAN, MID, and amount, the system doesn't initiate a new monitoring session. It also avoids new sessions if a decline occurs within an existing monitoring period. This avoids redundant tracking, minimizes system load, and reduces duplicate notifications.
Self-retry detection (auto-termination)
If a successful authorization is observed independently (e.g., the customer pays manually), the active monitoring session is canceled.
The Intelligent Retry signal event
Here is an example of a retry signal webhook event:
There are two sections to a retry signal webhook event:
-
Signal status and transaction information.
-
Card network specific transaction metadata.
Signal status and transaction information
| Field | Description |
|---|---|
| The card network where the signal originated from. |
| The status of the signal. These are outlined in more detail below. |
| The amount of the declined transaction in minor currency units. |
| The card network-specific transaction ID. |
| The time the initial transaction failed. |
| An object containing the ISO 4217 alphabetic currency code, and the ISO 4217 numeric currency code. |
Card network metadata
Mastercard metadata
| Field | Description |
|---|---|
| Mastercard’s unique reference for this specific alert. |
| The merchant ID enrolled with Mastercard for Intelligent Retries. |
| The first 6-8 digits of the card number used in the declined transaction. |
| The last four digits of the card used in the declined transaction. |
| The first 6-8 digits of the network token number used in the declined transaction. |
| The last four digits of the network token number used in the declined transaction. |
| The masked PAN used in the declined transaction. |
Either cardBin and cardLastFour, or tokenBin and tokenLastFour will be present depending on whether a PAN or network token was used in the declined transaction.
Signal statuses
| Signal | Description | Availability |
|---|---|---|
retry-now | Issued when conditions suggest that funds are available and a previously declined transaction can be retried. | Available |
monitoring-started | Indicates the network started monitoring activity for the declined transaction. No retry is advised. | Coming soon |
monitoring-expired | Monitoring period (30 days) ended without a successful retry. No further alerts will be sent. | Coming soon |
monitoring-cancelled | Monitoring has ended because a successful retry was independently observed. No further alerts will be sent. | Coming soon |
Only retry-now is currently available and requires merchant action. Monitoring lifecycle statuses will be informational when available and may be used for reporting, logging, or transparency purposes.
Matching signals to failed transactions
To retry the failed transaction after a webhook signal, you can match on the following set of identifiers from your PSP:
- Transaction timestamp
- Network Transaction ID
- Last 4
- BIN
- Masked PAN
Locating a transaction ID
If you use a PSP they will typically provide this value to you when you inspect a transaction on their platform or via one of their APIs. We have outlined how to do this for some common PSPs
Finding a transaction ID with Stripe
- In the Stripe dashboard, navigate to Transactions and locate a Mastercard transaction.
- Copy and search for the Payment and open it in the Workbench.
- Locate the Charge associated with the Payment.
- In the Workbench Inspector tab, you can find the
network_transaction_idlocated underpayment_method_details.
Finding a transaction ID with Adyen
With Adyen you can use the Transfers API to locate a payment transfer for Mastercard. In the response, locate the event containing a transactionId field. This is the network transaction ID.