Merge pull request #25490 from overleaf/mf-send-subscription-cancelled-and-reactivated-event-stripe-subscription

[web] Send analytics events and user properties for cancelled and reactivated event in Stripe subscription

GitOrigin-RevId: 07a4e6395be334c90910b5d421624c4daa703d3b
This commit is contained in:
M Fahru
2025-05-15 08:11:51 -07:00
committed by Copybot
parent 75ce58d0c6
commit 8017918063

View File

@@ -1,12 +1,22 @@
import Stripe from 'stripe'
type StripeWebhookEventType =
| 'customer.subscription.created'
| 'customer.subscription.updated'
| 'customer.subscription.deleted'
export type CustomerSubscriptionUpdatedWebhookEvent = {
type: 'customer.subscription.updated'
data: {
object: Stripe.Subscription & {
metadata: {
adminUserId?: string
}
}
// https://docs.stripe.com/api/events/object?api-version=2025-04-30.basil#event_object-data-previous_attributes
previous_attributes: {
cancel_at_period_end?: boolean // will only be present if the subscription was cancelled or reactivated
}
}
}
export type CustomerSubscriptionWebhookEvent = {
type: StripeWebhookEventType
export type CustomerSubscriptionCreatedWebhookEvent = {
type: 'customer.subscription.created'
data: {
object: Stripe.Subscription & {
metadata: {
@@ -15,3 +25,19 @@ export type CustomerSubscriptionWebhookEvent = {
}
}
}
export type CustomerSubscriptionsDeletedWebhookEvent = {
type: 'customer.subscription.deleted'
data: {
object: Stripe.Subscription & {
metadata: {
adminUserId?: string
}
}
}
}
export type CustomerSubscriptionWebhookEvent =
| CustomerSubscriptionUpdatedWebhookEvent
| CustomerSubscriptionCreatedWebhookEvent
| CustomerSubscriptionsDeletedWebhookEvent