– I see “Unauthorized” on admin pages
– Ensure you’re logged in with an account whose role is ADMIN. Promote a user in the DB if needed.
– Stripe checkout doesn’t start
– Confirm STRIPE_SECRET_KEY and APP_BASE_URL are set. The create-session API currently allows only ADMIN to initiate sessions (demo lock). Adjust the role check for real users.
– Webhook signature verification failed
– Verify STRIPE_WEBHOOK_SECRET. When testing locally, use Stripe CLI to forward events and copy the printed secret.
– Cloudinary uploads fail
– Ensure both server (API key/secret) and client (NEXT_PUBLIC_*) variables are set. If using an unsigned preset, check the name and that it’s allowed for the target folder.
– Prisma migrate errors
– Confirm MySQL is running and `DATABASE_URL` is correct. Try `npx prisma generate` and re-run the migration.
– Images not loading
– Use `https://res.cloudinary.com/…` URLs or local images under `public/`. The Next.js image config permits Cloudinary hosts.