Stripe dunning engine · BYOK · 0% revenue share

Recover failed payments with three emails that sound like you wrote them.

RebillKit listens to invoice.payment_failed, sends from your domain through Resend, and stops the moment the invoice is paid. Your Stripe key, your Resend account, your money.

No card required to connect. Keys are encrypted before they touch disk.

  • EncryptionAES-256-GCMserver-side, at rest
  • Recovery linkFresh 1-click portalno login, no expiry
  • SendingYour Resendyour domain, your name

Live recovery trace

in_1Qx9K2Lm4A8
  1. invoice.payment_failed
    Card expired · Visa •••• 4242
    $79.00
  2. Email #1 sent +15m
    From alex@acmesaas.comQuick thing about your card

    Your card ending 4242 did not go through for the March invoice...

    plain text
  3. 1-click link opened
    /r/tok_8f2a -> fresh Stripe portal · no login
    182 ms
  4. invoice.paid
    Emails #2 and #3 auto-cancelled
    +$79.00
Recovered in 6h 12m$0.00 in fees
Open in live sandbox →

Product preview · Sample tenant

ROI calculator

The math on your MRR

Move the slider. The arithmetic is the argument, and the assumptions are on the table.

How we count a recovery
Monthly recurring revenue
$10,000
Failed payment rate

6% is the middle of the 5–9% range Stripe merchants report. Your dashboard has your real number, and the recovery share is an assumption, not a benchmark.

MRR$10,000
Failed payments (6%)$600
Lost in 12 months$7,200
Recovered at 33%$2,376
RebillKit, once$99
Break-even15 days

Arithmetic with visible assumptions, not a promise of recovery.

The honest comparison

Why founders switch to RebillKit

Three ways to handle a failed payment. The difference is who owns the keys, the sender and the money.

Why founders switch to RebillKit
What changesRebillKitDunning suites with revenue shareStripe default
Price$99 once, then $0. Founder Pass for the first 50.$150–500+/mo plus revenue share.Free, native emails.
Revenue share0%. We never touch your payouts.1–5% of recovered revenue.Not applicable.
Emails3 plain-text notes written like a founder.HTML templates with a corporate tone.Generic automated reminders.
Sending domainYour verified Resend domain.Their shared sending infrastructure.Stripe's domain, no control over the sender.
Card updateFresh portal session on every click, no login.Pre-generated links that can expire.Login required, several steps.
Data and keysYour keys, your data, your Stripe account.They store your Stripe data.Stripe owns the flow.
SetupA restricted key and one webhook.OAuth review and a longer onboarding.Native, but limited.

Competitor pricing is a public range at the time of writing and changes often. We do not name products we cannot verify.

How it works

The whole loop, on one screen

01

Stripe fails a payment

RebillKit receives invoice.payment_failed through your own webhook endpoint and opens one case for that invoice.

02

Three notes go out

Day 0, day 3 and day 7, sent from your domain through your Resend account. Plain text, no tracking pixel.

03

The invoice gets paid

invoice.paid cancels the remaining notes and attributes the recovered amount to the case. No duplicate emails.

Pricing

Simple, founder-friendly pricing

One price for the first 50 founders. One monthly plan after that. No revenue share.

Prices are shown in USD or EUR. Stripe charges the currency you select at checkout.

Pro MonthlyStandard plan

Pro Monthly

$29per month

  • The same recovery engine, billed monthly through Stripe Billing Portal.
  • 14-day money-back guarantee. No questions.
FAQ

Questions founders ask before connecting a key

Is it safe to give you my Stripe Restricted Key and Resend API Key?

Keys are encrypted at rest with AES-256-GCM, a per-tenant IV and an auth tag. After saving, they never return to the browser: you only see a mask such as rk_live_••••4921. They are not written to logs, and the master key lives in Secret Manager.

Why plain-text emails instead of an HTML template?

A plain note from your verified domain reads like a message from a person, not a receipt from a company. RebillKit sends no tracking pixel, so we never claim an engagement metric we cannot measure.

How does the one-click card update work without a login?

The email contains an opaque recovery link. When it is clicked, RebillKit creates a fresh Stripe Billing Portal session for payment method update at that moment. There is no pre-generated URL to expire and no password to remember.

What if the customer already paid or updated the card elsewhere?

RebillKit listens for invoice.paid and subscription status events. The moment Stripe confirms the payment, pending reminders are cancelled. The recovery counter only credits invoices verified as paid after at least one email was sent.

Do you take a percentage of recovered revenue?

No. Zero revenue share. You pay $99 once for the Founder Pass or $29 per month for Pro. Every recovered dollar or euro stays in your Stripe account.

What happens when the 50 Founder Passes sell out?

The Founder Pass is capped at 50 verified purchases with an atomic counter. After seat 50, checkout switches to Pro Monthly. The public counter reads the real Firestore value, never a browser-side estimate.