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.

  1. 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.signal event.

  2. Network Monitoring

    After enrollment, Mastercard monitors declined transactions on that MID to identify the optimal moment for a retry.

  3. 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.

RegionSupported markets
North AmericaUnited States and Canada
EuropeThe European Economic Area (EEA) and the United Kingdom
Latin America and the CaribbeanAll 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

  • networkstring

    The card network where the signal originated from.

  • signalstring

    The status of the signal. These are outlined in more detail below.

  • amountnumber

    The amount of the declined transaction in minor currency units.

  • networkTransactionIdstring

    The card network-specific transaction ID.

  • timestampstring

    The time the initial transaction failed.

  • currencyobject

    An object containing the ISO 4217 alphabetic currency code, and the ISO 4217 numeric currency code.

Card network metadata


Mastercard metadata


Attributes
  • notificationIdstring

    Mastercard's unique reference for this specific alert.

  • acquirerMerchantIdstring

    The merchant ID enrolled with Mastercard for Intelligent Retries.

  • cardBinstring

    The first 6-8 digits of the card number used in the declined transaction.

  • cardLastFourstring

    The last four digits of the card used in the declined transaction.

  • tokenBinstring

    The first 6-8 digits of the network token number used in the declined transaction.

  • tokenLastFourstring

    The last four digits of the network token number used in the declined transaction.

  • maskedPanstring

    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


SignalDescriptionAvailability
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.

webhook.js

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


  1. In the Stripe dashboard, navigate to Transactions and locate a Mastercard transaction.
  2. Copy and search for the Payment and open it in the Workbench.
  3. Locate the Charge associated with the Payment.
  4. In the Workbench Inspector tab, find the network_transaction_id under payment_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.