What is SteadPay?
SteadPay is a billing enforcement layer for Stripe-powered SaaS products. When a subscriber’s payment fails, SteadPay intercepts their next login with a non-bypassable overlay that requires them to update their card before continuing. No emails. No grace periods. No revenue leakage.How it works
Stripe sends a webhook
When a payment fails, Stripe fires an
invoice.payment_failed event to SteadPay. SteadPay classifies it as a soft decline (retriable) or hard decline (card rejected outright) and updates the subscriber’s status accordingly.Your app checks the subscriber's status
On every authenticated session, your enforcement snippet (or mobile SDK) calls the SteadPay status API with the subscriber’s Stripe customer ID.
SteadPay enforces the gate
- Active — nothing shown, subscriber continues normally.
- Warning — a dismissable banner prompts the subscriber to update their card.
- Lockout — a full-screen overlay prevents all app access until the card is updated.
Enforcement surfaces
SteadPay provides four ways to integrate — pick the one that matches your stack:| Surface | Best for |
|---|---|
| JS snippet | Web apps — add one <script> tag |
| React Native SDK | React Native apps |
| Flutter SDK | Flutter apps |
| Swift SDK | iOS / macOS (SwiftUI or UIKit) |
| Android SDK | Android (Jetpack Compose) |
Prerequisites
- A Stripe account in live mode
- SteadPay account (sign up here)
- Your subscriber’s
stripe_customer_idavailable at login time