How it works

From a failed payment to a recovered one

Connect Stripe once. From then on Dunity watches for failed payments, emails the customer, retries on a schedule timed to why the card failed, and shows you what came back.

  • $29/month, flat
  • Cancel anytime
  • Restricted Stripe key only

What happens after a payment fails

  1. The moment it fails

    Stripe reports the failure

    Stripe tells Dunity through a webhook. Dunity records the invoice, its amount and currency, and why the card was declined. If the invoice gets paid some other way, Dunity marks it recovered on its own.

  2. Right away

    Your customer gets one email

    It says the payment didn’t go through and links to a page where they can update their card, or to Stripe’s own invoice page if you haven’t added a publishable key. You write the subject and wording. Customers on your VIP list aren’t emailed.

  3. Over the next days

    Dunity retries on a schedule

    The first retry comes 24 hours later, or 72 hours after an insufficient-funds decline, since money often arrives by then. It tries up to 5 times, and you can change both. Retries run once a day, alongside Stripe’s own.

  4. Optional

    A payment wall inside your app

    Add one script tag and customers with a failed payment see a notice inside your product. In the last 3 days it becomes a countdown, and on the day you choose (10 days by default) access pauses until the card is updated.

  5. When retries end

    One last offer

    If you turn it on, Dunity emails a discount of your choice. When the customer updates their card, the discount goes on the invoice as a credit and Dunity retries the smaller amount. More on win-back offers.

  6. All along

    You see what came back

    Your dashboard shows what’s been recovered, what’s still at risk and why cards are failing, in each invoice’s own currency.

Setting up? The Stripe setup guide walks through the restricted key and its eight permissions.

Also included

  • Card-expiry reminders

    Customers get a reminder 30 and 7 days before their card expires, with a link to update it.

  • A VIP list

    Customers you add are skipped by retries, emails, expiry reminders and the payment wall.

  • Alerts for big failures

    Get a Slack message or an email when a failed payment is above an amount you set.

  • Every currency you bill in

    Amounts are shown in each invoice’s own currency, including ones without cents, like yen.

What Dunity doesn’t do

So you can tell quickly whether it fits.

  • Text messages. Reminders go by email only.
  • Cancellation flows or exit surveys.
  • Sending email from your own domain. Emails come from Dunity’s address, and you set the reply-to.
  • Billing platforms other than Stripe, like Paddle, Chargebee, Braintree or Recurly.

Wondering how this compares with what Stripe already does? See Dunity next to Stripe.

Questions about how it works

The details people ask about most.

How long does it take to set up Dunity?

A few minutes. You create a restricted key in Stripe with the permissions Dunity lists, paste it in, and Dunity sets up its own webhook. The only step that needs a developer is the optional payment wall, which is one script tag.

Does Dunity replace Stripe’s Smart Retries?

No. Stripe keeps retrying on its own schedule, and Dunity adds its own retries timed to the decline reason, plus the email, payment wall and win-back offer. You don’t need to turn anything off in Stripe, though if Stripe’s own failed-payment emails are on, your customer gets both.

When does Dunity email my customer?

Once, as soon as the payment fails, with a link to update their card. When retries end and you’ve turned on win-back offers, they get one more email with the discount.

How does Dunity decide when to retry?

By the decline reason. An insufficient-funds decline waits 72 hours, since money often arrives by then, and other declines wait 24 hours. It tries up to 5 times by default, and you can change both numbers.

What happens when retries end?

Retries end after the last attempt fails, or sooner when a retry comes back as a hard decline, like a stolen card. The payment is marked as failed on your dashboard. If you’ve turned on win-back offers, the customer gets one email with a discount, and if they update their card, Dunity applies it and tries again.

Can I keep some customers out of all this?

Yes. Add them to your VIP list and Dunity won’t retry, email, remind or show the payment wall to them. Their failed payments still show on your dashboard.