Stripe
Webhook signature mismatch
Webhook signature mismatch
STRIPE_WEBHOOK_SECRET doesn’t match the endpoint. Re-copy from Stripe → Webhooks → [endpoint] → Signing secret. Each endpoint has its own secret.Test mode price ID with live keys
Test mode price ID with live keys
Recreate the price in the right mode, or switch keys to match.
Webhook not arriving
Webhook not arriving
Check the endpoint is reachable (no auth in front of it). For local dev, use the Stripe CLI to forward.
OAuth (Google, GitHub, etc.)
'redirect_uri_mismatch'
'redirect_uri_mismatch'
The exact redirect URL must match what’s registered at the provider. Include protocol; match trailing slash exactly.
OAuth works in dev, fails in prod
OAuth works in dev, fails in prod
Did you register the production redirect URL at the provider? Each environment needs its own.
Resend / email
Emails arrive in spam
Emails arrive in spam
Verify your domain (SPF, DKIM, DMARC). Don’t send from
noreply@; use hello@.'Domain is not verified'
'Domain is not verified'
Verify in Resend, or send from
onboarding@resend.dev for testing.Bounces
Bounces
Mark bounced addresses invalid. Stop sending to them — bounces hurt deliverability.
OpenAI / AI providers
Quota exceeded
Quota exceeded
Add credit at the provider’s billing page.
Streaming cuts off
Streaming cuts off
max_tokens too low, or context window exceeded. Increase or shorten input.Related
Integrations overview
All integrations.
Common errors
Auth, type, build errors.
Debugging workflow
Systematic approach.
