base url
This commit is contained in:
parent
a7b6600e07
commit
94883bd04d
|
|
@ -33,7 +33,8 @@ export async function POST(req: Request) {
|
|||
boxId,
|
||||
boxName,
|
||||
amount,
|
||||
currency
|
||||
currency,
|
||||
req
|
||||
);
|
||||
|
||||
console.log('Checkout session created successfully:', { sessionId: session.id });
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { loadStripe } from '@stripe/stripe-js';
|
||||
import { headers } from 'next/headers';
|
||||
|
||||
// Initialize Stripe on the client
|
||||
export const getStripe = () => {
|
||||
|
|
@ -56,7 +57,8 @@ export async function createCheckoutSession(
|
|||
boxId: string,
|
||||
boxName: string,
|
||||
amount: number,
|
||||
currency: string = 'usd'
|
||||
currency: string = 'usd',
|
||||
request?: Request
|
||||
) {
|
||||
try {
|
||||
// This function should only be called from server-side code
|
||||
|
|
@ -67,6 +69,27 @@ export async function createCheckoutSession(
|
|||
typescript: true,
|
||||
});
|
||||
|
||||
// Determine the base URL dynamically
|
||||
let baseUrl = process.env.NEXT_PUBLIC_BASE_URL;
|
||||
|
||||
if (!baseUrl && request) {
|
||||
// Fallback: extract from request headers
|
||||
const headersList = await headers();
|
||||
const host = headersList.get('host');
|
||||
const protocol = headersList.get('x-forwarded-proto') || 'http';
|
||||
|
||||
if (host) {
|
||||
baseUrl = `${protocol}://${host}`;
|
||||
}
|
||||
}
|
||||
|
||||
// Final fallback for development
|
||||
if (!baseUrl) {
|
||||
baseUrl = 'http://localhost:3000';
|
||||
}
|
||||
|
||||
console.log('Using base URL for Stripe checkout:', baseUrl);
|
||||
|
||||
const session = await stripe.checkout.sessions.create({
|
||||
payment_method_types: ['card'],
|
||||
line_items: [
|
||||
|
|
@ -83,8 +106,8 @@ export async function createCheckoutSession(
|
|||
},
|
||||
],
|
||||
mode: 'payment',
|
||||
success_url: `${process.env.NEXT_PUBLIC_BASE_URL}/boxes/success?box_id=${boxId}&session_id={CHECKOUT_SESSION_ID}`,
|
||||
cancel_url: `${process.env.NEXT_PUBLIC_BASE_URL}/boxes?canceled=true`,
|
||||
success_url: `${baseUrl}/boxes/success?box_id=${boxId}&session_id={CHECKOUT_SESSION_ID}`,
|
||||
cancel_url: `${baseUrl}/boxes?canceled=true`,
|
||||
metadata: {
|
||||
boxId,
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user