Просмотр исходного кода

Merge pull request #25962 from overleaf/mf-stripe-payment-page-form-success-event

[web] Simulate sending `payment-page-form-success` event when user successfully subscribe using Stripe

GitOrigin-RevId: 82243fc16d3410670e4e6e9c0ccd487a5f2253a3
M Fahru 1 год назад
Родитель
Сommit
16f3795c3e
1 измененных файлов с 28 добавлено и 2 удалено
  1. 28 2
      services/web/types/subscription/analytics-event.ts

+ 28 - 2
services/web/types/subscription/analytics-event.ts

@@ -1,5 +1,9 @@
 import { CurrencyCode } from './currency'
 import { CurrencyCode } from './currency'
-import { PaymentProvider } from './dashboard/subscription'
+import {
+  PaymentProvider,
+  StripePaymentProviderService,
+} from './dashboard/subscription'
+import { RecurlyPlanCode } from './plan'
 
 
 type PaymentPageFormSubmitEventBaseSegmentation = {
 type PaymentPageFormSubmitEventBaseSegmentation = {
   currencyCode: CurrencyCode
   currencyCode: CurrencyCode
@@ -12,7 +16,7 @@ type PaymentPageFormSubmitEventBaseSegmentation = {
 
 
 type PaymentPageFormSubmitEventStripeSegmentation =
 type PaymentPageFormSubmitEventStripeSegmentation =
   PaymentPageFormSubmitEventBaseSegmentation & {
   PaymentPageFormSubmitEventBaseSegmentation & {
-    payment_provider: Exclude<PaymentProvider['service'], 'recurly'>
+    payment_provider: StripePaymentProviderService
     stripe_price_id: string
     stripe_price_id: string
     stripe_price_lookup_key: string
     stripe_price_lookup_key: string
   }
   }
@@ -28,3 +32,25 @@ type PaymentPageFormSubmitEventRecurlySegmentation =
 export type PaymentPageFormSubmitEventSegmentation =
 export type PaymentPageFormSubmitEventSegmentation =
   | PaymentPageFormSubmitEventStripeSegmentation
   | PaymentPageFormSubmitEventStripeSegmentation
   | PaymentPageFormSubmitEventRecurlySegmentation
   | PaymentPageFormSubmitEventRecurlySegmentation
+
+type PaymentPageFormSuccessEventBaseSegmentation = {
+  plan?: RecurlyPlanCode
+  upgradeType: 'standalone'
+  referrer?: string
+}
+
+type PaymentPageFormSuccessEventStripeSegmentation =
+  PaymentPageFormSuccessEventBaseSegmentation & {
+    payment_provider: StripePaymentProviderService
+    stripe_price_id: string
+    stripe_price_lookup_key: string
+  }
+
+type PaymentPageFormSuccessEventRecurlySegmentation =
+  PaymentPageFormSuccessEventBaseSegmentation & {
+    payment_provider: 'recurly'
+  }
+
+export type PaymentPageFormSuccessEventSegmentation =
+  | PaymentPageFormSuccessEventStripeSegmentation
+  | PaymentPageFormSuccessEventRecurlySegmentation