Smart Retry

Available via: Dashboard and API

What Is Smart Retry?

By default, when a recurring payment fails, Inflow retries the same amount on the next attempt. Smart Retry changes that: once enabled, each retry attempt after the first failure charges progressively less, according to a ladder you configure. This increases the odds of recovering at least part of the payment instead of losing the subscriber to UNPAID / cancellation.

Smart Retry only affects recurring renewal charges — it does not apply to a subscription's first payment, to entry fees, or to one-time payments.

Smart Retry does not change when Inflow retries a failed invoice — that schedule follows Inflow's standard retry timing. It only changes how much each of those already-scheduled attempts charges.

How the Reduction Ladder Works

You configure steps, an array of reduction percentages:

  • Attempt 1 always charges the full price (implicit — you don't configure this one).
  • steps[0] is the reduction applied to attempt 2, steps[1] to attempt 3, and so on.
  • Values must be non-decreasing — a step can repeat the previous one to plateau at a reduction level for several attempts, but it can never go back up to a smaller discount.
  • Attempts beyond the last configured step keep using that last step's reduction indefinitely.

Example with steps: [30, 50]:

AttemptCharged
1Full price
2−30%
3 and beyond−50%

You can optionally set a fixed final amount (finalAttemptAmountInCents, offer-only): once the ladder above is exhausted, every attempt from there on charges this fixed amount instead of a percentage off. It's tax-exclusive and must stay below the offer's price — Inflow converts it to a tax-inclusive amount using the invoice's own tax rate at the time of the retry.

The charged amount never drops below the minimum chargeable amount for the currency (50 minor units, e.g. €0.50 / $0.50) — card networks refuse anything lower.

From the Dashboard

Account-level default

  1. Go to Settings → Smart retry.
  2. Toggle Enable smart retry.
  3. Under Reductions per retry, click Add retry step for each attempt you want to configure, and set its discount percentage. The recap below the builder spells out exactly what each attempt will charge.

This default applies to every subscription offer on your account, unless a specific offer overrides it.

Per-offer override

When creating or editing a subscription offer, use the Smart retry (failed renewals) field:

OptionEffect
Use account defaultThe offer inherits whatever is configured account-wide (on or off)
Custom for this templateConfigure a reduction ladder (and optional final amount) specific to this offer, ignoring the account default
Disabled for this templateTurns Smart Retry off for this offer, even if the account default is enabled

Via the API

Pass smartRetryConfig when creating a subscription offer (Creating a Subscription Offer):

curl -X POST https://api.inflowpay.com/subscription/offer \
  -H "X-Inflow-Api-Key: your_private_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pro Plan",
    "description": "Full access to all features",
    "amountInCents": 2999,
    "currency": "EUR",
    "interval": "month",
    "intervalCount": 1,
    "smartRetryConfig": {
      "enabled": true,
      "steps": [30, 50],
      "finalAttemptAmountInCents": 1000
    }
  }'

Omit smartRetryConfig (or send null) to inherit the account-level default. Send { "enabled": false } to explicitly disable it for this offer regardless of the account default.

There is no public API endpoint to update an existing offer — like the rest of an offer's settings, changing smartRetryConfig after creation is Dashboard-only. See Creating a Subscription Offer.

Configuration Reference

FieldTypeRequiredDescription
enabledbooleanYesMaster switch for this level of configuration
stepsnumber[]NoReduction ladder in percent (0–90), one value per attempt starting at attempt 2. Non-decreasing; up to 10 values
finalAttemptAmountInCentsnumberNoFixed tax-exclusive amount charged once steps is exhausted. Offer-only; must be below amountInCents

Important Notes

  • The ladder is locked in when a customer subscribes. Editing an offer's Smart Retry settings later doesn't change how existing subscribers on that offer are retried — only subscriptions created after the change use the new ladder. This keeps mid-dunning behavior predictable for subscribers already being retried.
  • Manual retries use whatever is currently due. The Retry Payment button in the Dashboard (see Managing Subscriptions) charges the invoice's current amount due — if Smart Retry already reduced it, the manual retry uses that reduced amount too.
  • Statuses are unaffected. A subscription still moves through PAST_DUE while automatic retries are in progress, and to UNPAID if every attempt (at whatever amount) ultimately fails — see Subscription Statuses.
  • Payments reflect the actual amount charged. A renewal payment recovered via Smart Retry is recorded — and reported in webhooks — at the reduced amount actually charged, not the offer's full price.

Did this page help you?