DEV Community

velprove
velprove

Posted on • Originally published at velprove.com

How to Monitor the Stripe API and Catch Payment Outages Early

When Stripe goes down, your revenue stops. It does not matter how
fast your servers are or how polished your checkout flow is. If the
payment processor cannot accept charges, your business is dead in the
water. And Stripe outages are not always total blackouts. Partial
degradation is far more common: the API responds slowly, certain
endpoints fail while others work, or webhook deliveries stop without
any visible error on the dashboard.

If you wait for
Stripe's status page
to tell you there is an issue, you are already behind. Status pages
are updated manually, and they often lag the real impact by 10 to 30
minutes. By the time they acknowledge a problem, your customers have
already failed to check out, abandoned their carts, and moved on.

Why Stripe's Status Page Is Not Enough

Stripe's status page is a helpful communication tool, but it is
not a monitoring tool. Here is why relying on it creates a blind spot:

  • Lag time. Status pages are updated after an incident is confirmed internally. The gap between when an issue starts affecting your customers and when it appears on the status page can be 15 minutes or more.
  • Partial outages go unreported. If only a subset of API endpoints are degraded (say, the PaymentIntents endpoint is slow but the Customers endpoint is fine), it may not meet the threshold for a public status update.
  • Your specific integration might be affected differently. A Stripe issue that does not affect most merchants might still break your specific flow. For example, if you rely heavily on a Connect feature or a specific API version that has a bug.
  • Account-level issues are invisible. An expired API key, a rate limit hit, or a misconfigured webhook secret are problems on your end that Stripe's status page will never show.

The only reliable way to know that Stripe is working for your
customers is to actively test it yourself.

Setting Up a Stripe API Health Check With Velprove

Velprove's API check type lets you monitor Stripe by making a
real API call and validating the response, not just the status code,
but the actual JSON body. Here is how to set it up.

Step 1: Choose a safe, read-only endpoint

The best endpoint for health monitoring is the
Balance endpoint
: GET https://api.stripe.com/v1/balance. This endpoint
is read-only, does not create any objects, does not cost money, and
returns a predictable response structure. It is ideal for automated
monitoring.

Step 2: Create an API check in Velprove

Sign up for a free Velprove account and
create a new API check. Set the method to GET and the
URL to https://api.stripe.com/v1/balance.

Step 3: Configure authentication

Add an Authorization header with the value
Bearer sk_live_your_secret_key. Use a restricted API key
with read-only permissions for maximum security. You do not want your
monitoring key to have write access. In your Stripe dashboard, create
a restricted key with only the "Balance" read permission
enabled.

Step 4: Add JSON path validation

This is where Velprove goes beyond basic status code monitoring.
Configure a JSON path assertion to validate that the response
contains the expected data:

  • JSON path: $.object
  • Expected value: balance

This confirms that Stripe is not just responding, but returning a
valid balance object. If the API returns an error, a rate limit
response, or an authentication failure, the JSON path will not match
and the check will fail, which is exactly what you want. For more details on
setting up response validation, see our guide on
monitoring REST API health endpoints
.

Step 5: Set check interval and alerts

On the free plan, checks run every 5 minutes with email alerts. For
payment infrastructure, faster detection matters. The Starter plan
($19/mo) provides 1-minute intervals with Slack and webhook
notifications, and the Pro plan ($49/mo) offers 30-second intervals
with PagerDuty integration for after-hours escalation.

Interpreting Failures: Not Every Alert Is a Stripe Outage

When your Stripe health check fails, the cause is not always a
platform outage. Here are the most common reasons and how to
distinguish between them:

  • Authentication error (401). Your API key was rotated or the restricted key's permissions were changed. Check your Stripe dashboard under Developers and verify the key is still active.
  • Rate limit exceeded (429). You are making too many API calls. This is usually an issue with your application code, not with Stripe itself. Review your API logs for excessive request volume.
  • Server error (500/503). This is likely a genuine Stripe issue. Cross-reference with their status page and check community reports. If Stripe is down, there is nothing to fix on your end, but you can proactively notify your customers.
  • Timeout. The request took too long. This could indicate Stripe degradation or a network issue between your monitoring location and Stripe's servers. If timeouts are intermittent, consider it a warning sign of degradation.

Integrating Alerts Into Your Incident Response

Knowing about a Stripe issue 15 minutes before your customers
complain gives you time to respond. Here is what you can do with that
lead time:

  • Display a banner on your checkout page warning customers about payment processing delays
  • Switch to a backup payment processor if you have one configured
  • Notify your support team so they are ready for incoming questions
  • Update your own status page before customers start reporting issues

The difference between a professional incident response and a
panicked scramble is often just early detection. Automated monitoring
gives you that edge.

Start Monitoring Stripe in Minutes

Your customers trust you to handle their payments. When that
breaks, whether it is a Stripe outage, a rotated API key, or a rate
limit you did not expect, you should be the first to know. Not your
customers. Not your support inbox.

Set up a free Stripe API health check
with Velprove and stop relying on status pages to tell you when your
payments are broken. For a broader look at how Velprove compares to
other monitoring tools, see our
UptimeRobot alternative comparison
.

Top comments (0)