diff --git a/app/api/webhooks/stripe/route.ts b/app/api/webhooks/stripe/route.ts index d19af57..fd4a266 100644 --- a/app/api/webhooks/stripe/route.ts +++ b/app/api/webhooks/stripe/route.ts @@ -42,11 +42,12 @@ export async function POST(request: Request) { session.subscription as string ) as Stripe.Subscription; + const subscriptionItem = subscription.items.data[0]; const updatedData = { stripeSubscriptionId: subscription.id, stripeCustomerId: subscription.customer as string, - stripePriceId: subscription.items.data[0].price.id, - stripeCurrentPeriodEnd: new Date(subscription.current_period_end * 1000), + stripePriceId: subscriptionItem.price.id, + stripeCurrentPeriodEnd: new Date(subscriptionItem.current_period_end * 1000), }; if (session?.metadata?.userId != null) { @@ -84,12 +85,13 @@ export async function POST(request: Request) { ) as Stripe.Subscription; // Update the price id and set the new period end. + const subscriptionItem = subscription.items.data[0]; await db .update(subscriptions) .set({ - stripePriceId: subscription.items.data[0].price.id, + stripePriceId: subscriptionItem.price.id, stripeCurrentPeriodEnd: new Date( - subscription.current_period_end * 1000 + subscriptionItem.current_period_end * 1000 ), }) .where(eq(subscriptions.stripeSubscriptionId, subscription.id));