Intelligent Retries
Preview
Intelligent Retries is in preview, limited to Mastercard, and is subject to change. To get access, register your interest.
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.
Increase approval rates
Retry when the network has seen the card succeed, instead of on a fixed schedule.
Maximize revenue recovery
Recover payments that would otherwise be written off after a temporary decline.
Mitigate excessive retry fines
Fewer blind retries means fewer network penalties for repeatedly retrying declined cards.
Prevent service disruptions
Keep subscriptions and services running without asking customers to update their payment details.
How it works
After a monitored decline, Mastercard watches the card for successful approvals elsewhere. When it sees one, Evervault sends you a signal to retry the payment.
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 monitors declined transactions on that MID to identify the optimal moment for a retry.
Intelligent Retry signals
When the network sees a successful transaction on the same card, Evervault sends a signal event to your webhook endpoint so you can retry the payment.
Intelligent Retries Onboarding API
Supported merchant countries
Intelligent Retries is available for merchants registered in the supported countries. Onboarding a MID registered elsewhere may fail.
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 straightforward. 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.
Supported merchant countries
Merchants must be registered in one of the following markets.
| Region | Supported markets |
|---|---|
| North America | United States and Canada |
| Europe | The European Economic Area (EEA) and the United Kingdom |
| Latin America and the Caribbean | All markets, except sanctioned markets (Cuba, Venezuela, and Nicaragua) |
| Asia Pacific | Australia, Brunei, Cambodia, Fiji, Hong Kong, Indonesia, Japan, Laos, Macao, Malaysia, Mongolia, New Zealand, the Philippines, Singapore, Taiwan, Thailand, and Vietnam |
| Eastern Europe, Middle East, and Africa | Armenia, Azerbaijan, Bahrain, Egypt, Georgia, Ghana, Iraq, Jordan, Kazakhstan, Kenya, Kuwait, Lebanon, Mauritius, Morocco, Nigeria, Oman, Pakistan, Qatar, Saudi Arabia, Somalia, South Africa, Tanzania, Tunisia, Uganda, the United Arab Emirates, Uzbekistan, Yemen, and Zimbabwe |
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:
A retry signal webhook event has two sections: the signal status and transaction information, and card network-specific transaction metadata.
Signal status and transaction information
Attributes
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
Attributes
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 four digits
- BIN
- Masked PAN
Here's an example handler that matches a retry-now signal to the declined payment and retries it.
Locating a transaction ID
If you use a PSP, it typically provides this value when you inspect a transaction on its platform or through its APIs. Here's how to find it 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, find the
network_transaction_idunderpayment_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.