Stripe is throwing
an error.
Most Stripe errors have a specific error code that tells you exactly what's wrong. The fastest path: check Stripe Dashboard โ Developers โ Logs โ find the failed event.
Read the error code first
Stripe Dashboard โ Developers โ Logs โ find the red event. Every error has a code like invalid_api_key, card_declined, webhook_signature_verification_failed. That code is your answer.
Common causes & fixes
Your live site is using sk_test_ keys. Real cards will be declined. Swap to sk_live_ keys in your environment variables.
The webhook secret in your code doesn't match Stripe's dashboard. Regenerate the signing secret and update your env var.
Stripe requires business verification before processing live payments. Check for banners in your Stripe dashboard.
Your Stripe library version may expect different response shapes. Check the Stripe changelog for breaking changes in recent API versions.
Verify your live API key works:
# Test your live key (should return charge list, not auth error): curl https://api.stripe.com/v1/charges \ -u sk_live_YOUR_KEY: \ -d limit=1