Setup

Stripe Integration

Connect StayPaid to Stripe in minutes. We check for failed payment events automatically and show them in your dashboard.

How It Works

StayPaid polls the Stripe Events API every hour using your encrypted API key. When it finds a failed payment event, StayPaid creates a recovery attempt in your dashboard and schedules the first email.

The integration is read-only for failed payments. StayPaid doesn't modify your Stripe account, charge customers, or change subscriptions. It only reads failed payment events and sends emails.

What You Need

  • •A Stripe account with active subscriptions.
  • •Your Stripe secret or restricted key (starts with sk_ or rk_).
  • •A few minutes to complete the onboarding wizard.

Step-by-Step Setup

Step 1: Get Your Stripe API Key

  1. Log in to your Stripe Dashboard.
  2. Go to Developers → API keys.
  3. Use your secret key, or create a restricted key with Events: Read.
  4. Copy the key (it starts with sk_ or rk_).

⚠️ Never share your API key. StayPaid encrypts it at rest and only uses it to read failed payment events.

Step 2: Enter the Key in StayPaid

During onboarding, you'll reach the Stripe step. Paste your key and click Connect. StayPaid will test the connection and confirm it can read your account events.

If validation fails, double-check that you're using a secret or restricted key (not a publishable key). For restricted keys, make sure Events: Read is enabled.

Step 3: Automatic Polling Starts

StayPaid checks Stripe every hour. You do not need to create or manage a webhook endpoint.

After connecting, open Settings and click Sync Now if you want the first check to run immediately.

What Events StayPaid Checks

StayPaid processes the following Stripe events:

  • •invoice.payment_failed — A subscription payment failed. StayPaid creates a recovery attempt.
  • •invoice.payment_succeeded — A previously failed payment succeeded. StayPaid marks it as recovered.

What StayPaid Does NOT Do

For security and transparency, here's what StayPaid never does with your Stripe account:

  • ✗Charge customers or process payments.
  • ✗Modify subscriptions, plans, or prices.
  • ✗Access customer payment methods or card details.
  • ✗Share your Stripe data with third parties.

Security

Your Stripe API key is encrypted at rest using AES-256. It is never logged, never exposed in the UI, and never sent to the client-side. StayPaid only uses it to read failed payment events and check payment status.

If you ever want to revoke access, rotate or delete the API key in Stripe. StayPaid will immediately lose access.

Troubleshooting

"Invalid API key"

Make sure you're using a secret key (starts with sk_) or a restricted key (starts with rk_), not a publishable key (starts with pk_). Restricted keys need Events: Read enabled.

"No failed payments found"

This is normal if you haven't had any failed payments recently. The next hourly check will pick up future failures automatically.

Sync hasn't run yet

Open Settings and click Sync Now. If the sync still fails, check the last sync error shown next to your Stripe connection.

Ready to connect Stripe?

Start Free — First 3 recoveries