Skip to main content

Payment Gateway Issues

Troubleshooting Stripe and PayPal integration problems.


General Checksโ€‹

  1. API Keys -- Verify keys in Admin > Settings > Payments are correct
  2. Webhook URL -- Must be https://yourdomain.com/webhooks/stripe (or /webhooks/paypal)
  3. Webhook Secret -- Must match what's in the Stripe/PayPal dashboard
  4. SSL -- Payment webhooks require HTTPS
  5. CSRF -- Webhook routes are CSRF-exempt (configured in routes/web.php)

Stripe Issuesโ€‹

Checkout Not Redirectingโ€‹

  • Check STRIPE_PUBLISHABLE_KEY and STRIPE_SECRET_KEY are correct
  • Ensure you're using live keys for production (not pk_test_/sk_test_)
  • Check browser console for JavaScript errors

Webhook Signature Verification Failedโ€‹

  • The STRIPE_WEBHOOK_SECRET must match the signing secret from Stripe dashboard
  • Webhooks must come from Stripe's IPs -- don't put a firewall in front

Subscription Not Activatingโ€‹

  • Check Admin > Payments for webhook events
  • Verify the checkout.session.completed event is being received
  • Check storage/logs/laravel.log for errors

Plan Prices Not Matchingโ€‹

  • Ensure the Stripe Price IDs in Admin > Plans match your Stripe dashboard prices
  • Both monthly and annual prices need separate Price IDs

PayPal Issuesโ€‹

Sandbox vs. Liveโ€‹

  • Check PAYPAL_MODE in .env -- sandbox for testing, live for production
  • Use sandbox credentials for testing, live credentials for production

Subscription Not Activatingโ€‹

  • Check webhook events in Admin > Payments
  • Verify PAYPAL_WEBHOOK_ID matches your PayPal webhook configuration
  • Check storage/logs/laravel.log for errors

Checking Payment Eventsโ€‹

Go to Admin > Payments to see all webhook events received from payment gateways. Each event shows:

  • Whether it was processed successfully
  • Any processing errors
  • The raw payload (for debugging)

Next Stepsโ€‹