From 147cacb1e4a9f51c67e18263175313c7ec9f130d Mon Sep 17 00:00:00 2001 From: songtianlun Date: Wed, 6 Aug 2025 21:28:09 +0800 Subject: [PATCH] handle subscribe success --- src/app/api/webhooks/stripe/route.ts | 29 +++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/app/api/webhooks/stripe/route.ts b/src/app/api/webhooks/stripe/route.ts index 173377d..bb9042d 100644 --- a/src/app/api/webhooks/stripe/route.ts +++ b/src/app/api/webhooks/stripe/route.ts @@ -214,12 +214,35 @@ async function handleSubscriptionDeleted(subscription: Record) } } -async function handlePaymentSucceeded(_invoice: Record) { +async function handlePaymentSucceeded(invoice: Record) { try { - // 这里可以添加额外的逻辑,比如发送确认邮件等 + console.log('💰 Processing payment succeeded') + + const subscriptionId = invoice.subscription as string + const customerId = invoice.customer as string + + console.log('Payment details:', { + subscriptionId, + customerId, + amount: invoice.amount_paid, + status: invoice.status + }) + + if (!subscriptionId) { + console.log('❌ No subscription ID found in invoice, skipping') + return + } + + // 获取订阅详情 + console.log('📞 Retrieving subscription from Stripe...') + const subscription = await stripe.subscriptions.retrieve(subscriptionId) + console.log('✅ Retrieved subscription:', subscription.id, 'status:', subscription.status) + + // 处理订阅更新(激活逻辑) + await handleSubscriptionUpdate(subscription as unknown as Record) } catch (error) { - console.error('Error handling payment success:', error) + console.error('❌ Error handling payment success:', error) } }