Webhook Configuration
Use this URL in your Stripe dashboard
Setup Instructions
- Go to Stripe Dashboard → Webhooks
- Click "Add endpoint"
- Paste the webhook URL above
- Select event:
checkout.session.completed - Click "Add endpoint"
- Copy the "Signing secret" and add it to your app's environment variables as
STRIPE_WEBHOOK_SECRET
Manual Payment Verification
If webhook isn't working, manually verify a payment session
Common Issues & Solutions
❌ Webhook not receiving events
- Verify webhook URL is correct in Stripe dashboard
- Check that
checkout.session.completed event is selected - Ensure webhook secret is correctly set in environment variables
- Check Stripe Events log for delivery status
⏰ Payment processing takes too long
- Webhooks can take 5-10 seconds to process
- Use manual verification if webhook is delayed
- Check function logs for errors
🔐 Authentication errors
- Webhook function uses service role (no user auth needed)
- Manual verification requires user to be logged in
- Check that BASE44_SERVICE_ROLE_KEY is set