fix(checkout): skip loadStripe when no publishable key is set
loadStripe(undefined) threw "Expected publishable key to be of type string" on every page that imports CheckoutOverlay. Production sets the key, so live behaviour is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
bcd7bd2c7b
commit
81358b0815
@@ -9,7 +9,10 @@ import { PaymentStep } from './checkout/PaymentStep';
|
||||
import { ReviewStep } from './checkout/ReviewStep';
|
||||
import { ConfirmationStep } from './checkout/ConfirmationStep';
|
||||
|
||||
const stripePromise = loadStripe(process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY!);
|
||||
// Without a publishable key (local builds), loadStripe throws on every page that
|
||||
// imports this module. Elements accepts null and the payment step stays empty.
|
||||
const publishableKey = process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY;
|
||||
const stripePromise = publishableKey ? loadStripe(publishableKey) : null;
|
||||
|
||||
const STEPS: { id: CheckoutStep; label: string }[] = [
|
||||
{ id: 'shipping', label: 'Shipping' },
|
||||
|
||||
Reference in New Issue
Block a user