@forklaunch/implementation-billing-stripe 1.1.22 → 1.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,9 +11,9 @@ import {
11
11
  import { CurrencyEnum } from '../enum/currency.enum';
12
12
  import { PaymentMethodEnum } from '../enum/paymentMethod.enum';
13
13
  import {
14
- StripeCreatePaymentLinkDto,
15
- StripePaymentLinkDto,
16
- StripeUpdatePaymentLinkDto
14
+ StripePaymentLink,
15
+ StripePaymentLinkCreateParams,
16
+ StripePaymentLinkUpdateParams
17
17
  } from '../types/stripe.dto.types';
18
18
 
19
19
  export const CreatePaymentLinkSchema = <
@@ -26,7 +26,7 @@ export const CreatePaymentLinkSchema = <
26
26
  currency: enum_(CurrencyEnum),
27
27
  paymentMethods: array(enum_(PaymentMethodEnum)),
28
28
  status: enum_(StatusEnum),
29
- stripeFields: type<StripeCreatePaymentLinkDto<T>['stripeFields']>()
29
+ stripeFields: type<StripePaymentLinkCreateParams>()
30
30
  });
31
31
 
32
32
  export const UpdatePaymentLinkSchema = <
@@ -39,7 +39,7 @@ export const UpdatePaymentLinkSchema = <
39
39
  currency: optional(enum_(CurrencyEnum)),
40
40
  paymentMethods: optional(array(enum_(PaymentMethodEnum))),
41
41
  status: optional(enum_(StatusEnum)),
42
- stripeFields: optional(type<StripeUpdatePaymentLinkDto<T>['stripeFields']>())
42
+ stripeFields: optional(type<StripePaymentLinkUpdateParams>())
43
43
  });
44
44
 
45
45
  export const PaymentLinkSchema = <T extends Record<string, LiteralSchema>>(
@@ -50,7 +50,7 @@ export const PaymentLinkSchema = <T extends Record<string, LiteralSchema>>(
50
50
  currency: enum_(CurrencyEnum),
51
51
  paymentMethods: array(enum_(PaymentMethodEnum)),
52
52
  status: enum_(StatusEnum),
53
- stripeFields: type<StripePaymentLinkDto<T>['stripeFields']>(),
53
+ stripeFields: type<StripePaymentLink>(),
54
54
  createdAt: optional(date),
55
55
  updatedAt: optional(date)
56
56
  });
@@ -12,11 +12,13 @@ import { BillingProviderEnum } from '../enum/billingProvider.enum';
12
12
  import { CurrencyEnum } from '../enum/currency.enum';
13
13
  import { PlanCadenceEnum } from '../enum/planCadence.enum';
14
14
  import {
15
- StripeCreatePlanDto,
16
- StripePlanDto,
17
- StripeUpdatePlanDto
15
+ StripePlanCreateParams,
16
+ StripePlanUpdateParams,
17
+ StripeProduct
18
18
  } from '../types/stripe.dto.types';
19
19
 
20
+ type PlanOmissions = 'product' | 'interval' | 'currency';
21
+
20
22
  export const CreatePlanSchema = {
21
23
  id: optional(string),
22
24
  name: string,
@@ -25,7 +27,7 @@ export const CreatePlanSchema = {
25
27
  cadence: enum_(PlanCadenceEnum),
26
28
  currency: enum_(CurrencyEnum),
27
29
  features: optional(array(string)),
28
- stripeFields: type<StripeCreatePlanDto['stripeFields']>(),
30
+ stripeFields: type<Omit<StripePlanCreateParams, PlanOmissions>>(),
29
31
  externalId: string,
30
32
  billingProvider: enum_(BillingProviderEnum),
31
33
  active: boolean
@@ -39,7 +41,7 @@ export const UpdatePlanSchema = {
39
41
  cadence: optional(enum_(PlanCadenceEnum)),
40
42
  currency: optional(enum_(CurrencyEnum)),
41
43
  features: optional(array(string)),
42
- stripeFields: optional(type<StripeUpdatePlanDto['stripeFields']>()),
44
+ stripeFields: optional(type<Omit<StripePlanUpdateParams, PlanOmissions>>()),
43
45
  externalId: optional(string),
44
46
  billingProvider: optional(enum_(BillingProviderEnum)),
45
47
  active: optional(boolean)
@@ -53,7 +55,7 @@ export const PlanSchema = {
53
55
  cadence: enum_(PlanCadenceEnum),
54
56
  currency: enum_(CurrencyEnum),
55
57
  features: optional(array(string)),
56
- stripeFields: type<StripePlanDto['stripeFields']>(),
58
+ stripeFields: type<StripeProduct>(),
57
59
  externalId: string,
58
60
  billingProvider: enum_(BillingProviderEnum),
59
61
  active: boolean,
@@ -9,11 +9,13 @@ import {
9
9
  } from '@{{app_name}}/core';
10
10
  import { BillingProviderEnum } from '../enum/billingProvider.enum';
11
11
  import {
12
- StripeCreateSubscriptionDto,
13
- StripeSubscriptionDto,
14
- StripeUpdateSubscriptionDto
12
+ StripeSubscription,
13
+ StripeSubscriptionCreateParams,
14
+ StripeSubscriptionUpdateParams
15
15
  } from '../types/stripe.dto.types';
16
16
 
17
+ type SubscriptionOmissions = 'items' | 'customer';
18
+
17
19
  export const CreateSubscriptionSchema = <
18
20
  T extends Record<string, LiteralSchema>
19
21
  >(
@@ -30,7 +32,8 @@ export const CreateSubscriptionSchema = <
30
32
  endDate: optional(date),
31
33
  status: string,
32
34
  billingProvider: enum_(BillingProviderEnum),
33
- stripeFields: type<StripeCreateSubscriptionDto<T>['stripeFields']>()
35
+ stripeFields:
36
+ type<Omit<StripeSubscriptionCreateParams, SubscriptionOmissions>>()
34
37
  });
35
38
 
36
39
  export const UpdateSubscriptionSchema = <
@@ -49,7 +52,9 @@ export const UpdateSubscriptionSchema = <
49
52
  endDate: optional(date),
50
53
  status: optional(string),
51
54
  billingProvider: optional(enum_(BillingProviderEnum)),
52
- stripeFields: optional(type<StripeUpdateSubscriptionDto<T>['stripeFields']>())
55
+ stripeFields: optional(
56
+ type<Omit<StripeSubscriptionUpdateParams, SubscriptionOmissions>>()
57
+ )
53
58
  });
54
59
 
55
60
  export const SubscriptionSchema = <T extends Record<string, LiteralSchema>>(
@@ -66,7 +71,7 @@ export const SubscriptionSchema = <T extends Record<string, LiteralSchema>>(
66
71
  endDate: optional(date),
67
72
  status: string,
68
73
  billingProvider: enum_(BillingProviderEnum),
69
- stripeFields: type<StripeSubscriptionDto<T>['stripeFields']>(),
74
+ stripeFields: type<StripeSubscription>(),
70
75
  createdAt: optional(date),
71
76
  updatedAt: optional(date)
72
77
  });
@@ -21,6 +21,62 @@ import { CurrencyEnum } from '../enum/currency.enum';
21
21
  import { PaymentMethodEnum } from '../enum/paymentMethod.enum';
22
22
  import { PlanCadenceEnum } from '../enum/planCadence.enum';
23
23
 
24
+ // stripe@22's type packaging stopped re-exporting `SessionCreateParams` from
25
+ // the BillingPortal/Checkout namespaces at the top level — the interfaces
26
+ // still exist in the deep submodule (`Sessions.d.ts`) but aren't reachable as
27
+ // `StripeBillingPortalSessionCreateParams` / `StripeCheckoutSessionCreateParams`.
28
+ // Derive them from the actual method signatures, which are reachable and
29
+ // won't break if stripe rearranges its internal file layout again.
30
+ type UnwrapStripeResponse<T> =
31
+ T extends Promise<infer R>
32
+ ? R extends { lastResponse?: unknown }
33
+ ? Omit<R, 'lastResponse'>
34
+ : R
35
+ : never;
36
+
37
+ // Use `interface ... extends ...` instead of `type ... = ...` so the names
38
+ // survive declaration emit. Pure type aliases get expanded back to their
39
+ // canonical resolution (the deep stripe submodule paths) which then trips
40
+ // TS2883 in any consumer of this module — interfaces, by contrast, form
41
+ // nominal names that tsc preserves in `.d.ts` output. Empty bodies are
42
+ // intentional — we're solely re-naming the supertype.
43
+ /* eslint-disable @typescript-eslint/no-empty-object-type */
44
+ export interface StripeBillingPortalSessionCreateParams
45
+ extends NonNullable<
46
+ Parameters<Stripe['billingPortal']['sessions']['create']>[0]
47
+ > {}
48
+ export interface StripeBillingPortalSession
49
+ extends UnwrapStripeResponse<
50
+ ReturnType<Stripe['billingPortal']['sessions']['create']>
51
+ > {}
52
+ export interface StripeCheckoutSessionCreateParams
53
+ extends NonNullable<
54
+ Parameters<Stripe['checkout']['sessions']['create']>[0]
55
+ > {}
56
+ export interface StripeCheckoutSession
57
+ extends UnwrapStripeResponse<
58
+ ReturnType<Stripe['checkout']['sessions']['create']>
59
+ > {}
60
+ export interface StripePaymentLinkCreateParams
61
+ extends NonNullable<Parameters<Stripe['paymentLinks']['create']>[0]> {}
62
+ export interface StripePaymentLinkUpdateParams
63
+ extends NonNullable<Parameters<Stripe['paymentLinks']['update']>[1]> {}
64
+ export interface StripePaymentLink
65
+ extends UnwrapStripeResponse<ReturnType<Stripe['paymentLinks']['create']>> {}
66
+ export interface StripePlanCreateParams
67
+ extends NonNullable<Parameters<Stripe['plans']['create']>[0]> {}
68
+ export interface StripePlanUpdateParams
69
+ extends NonNullable<Parameters<Stripe['plans']['update']>[1]> {}
70
+ export interface StripeProduct
71
+ extends UnwrapStripeResponse<ReturnType<Stripe['products']['create']>> {}
72
+ export interface StripeSubscriptionCreateParams
73
+ extends NonNullable<Parameters<Stripe['subscriptions']['create']>[0]> {}
74
+ export interface StripeSubscriptionUpdateParams
75
+ extends NonNullable<Parameters<Stripe['subscriptions']['update']>[1]> {}
76
+ export interface StripeSubscription
77
+ extends UnwrapStripeResponse<ReturnType<Stripe['subscriptions']['create']>> {}
78
+ /* eslint-enable @typescript-eslint/no-empty-object-type */
79
+
24
80
  // Billing Portal Types
25
81
  type BillingPortalOmissions = 'customer';
26
82
 
@@ -29,7 +85,7 @@ export type StripeCreateBillingPortalDto = Omit<
29
85
  'providerFields'
30
86
  > & {
31
87
  stripeFields: Omit<
32
- Stripe.BillingPortal.SessionCreateParams,
88
+ StripeBillingPortalSessionCreateParams,
33
89
  BillingPortalOmissions
34
90
  >;
35
91
  };
@@ -39,7 +95,7 @@ export type StripeUpdateBillingPortalDto = Omit<
39
95
  'providerFields'
40
96
  > & {
41
97
  stripeFields?: Omit<
42
- Stripe.BillingPortal.SessionCreateParams,
98
+ StripeBillingPortalSessionCreateParams,
43
99
  BillingPortalOmissions
44
100
  >;
45
101
  };
@@ -48,7 +104,7 @@ export type StripeBillingPortalDto = Omit<
48
104
  BillingPortalDto,
49
105
  'providerFields'
50
106
  > & {
51
- stripeFields: Stripe.BillingPortal.Session;
107
+ stripeFields: StripeBillingPortalSession;
52
108
  };
53
109
 
54
110
  export type StripeBillingPortalDtos = {
@@ -74,7 +130,7 @@ export type StripeCreateCheckoutSessionDto<StatusEnum> = Omit<
74
130
  > & {
75
131
  uri: string;
76
132
  stripeFields: Omit<
77
- Stripe.Checkout.SessionCreateParams,
133
+ StripeCheckoutSessionCreateParams,
78
134
  CheckoutSessionOmissions
79
135
  >;
80
136
  };
@@ -88,7 +144,7 @@ export type StripeUpdateCheckoutSessionDto<StatusEnum> = Omit<
88
144
  'providerFields'
89
145
  > & {
90
146
  stripeFields?: Omit<
91
- Stripe.Checkout.SessionCreateParams,
147
+ StripeCheckoutSessionCreateParams,
92
148
  CheckoutSessionOmissions
93
149
  >;
94
150
  };
@@ -98,7 +154,7 @@ export type StripeCheckoutSessionDto<StatusEnum> = Omit<
98
154
  'providerFields' | 'uri'
99
155
  > & {
100
156
  uri: string;
101
- stripeFields: Stripe.Checkout.Session;
157
+ stripeFields: StripeCheckoutSession;
102
158
  };
103
159
 
104
160
  export type StripeCheckoutSessionDtos<StatusEnum> = {
@@ -116,7 +172,7 @@ export type StripeCreatePaymentLinkDto<StatusEnum> = Omit<
116
172
  >,
117
173
  'providerFields'
118
174
  > & {
119
- stripeFields: Stripe.PaymentLinkCreateParams;
175
+ stripeFields: StripePaymentLinkCreateParams;
120
176
  };
121
177
 
122
178
  export type StripeUpdatePaymentLinkDto<StatusEnum> = Omit<
@@ -127,14 +183,14 @@ export type StripeUpdatePaymentLinkDto<StatusEnum> = Omit<
127
183
  >,
128
184
  'providerFields'
129
185
  > & {
130
- stripeFields?: Stripe.PaymentLinkUpdateParams;
186
+ stripeFields?: StripePaymentLinkUpdateParams;
131
187
  };
132
188
 
133
189
  export type StripePaymentLinkDto<StatusEnum> = Omit<
134
190
  PaymentLinkDto<typeof PaymentMethodEnum, typeof CurrencyEnum, StatusEnum>,
135
191
  'providerFields'
136
192
  > & {
137
- stripeFields: Stripe.PaymentLink;
193
+ stripeFields: StripePaymentLink;
138
194
  };
139
195
 
140
196
  export type StripePaymentLinkDtos<StatusEnum> = {
@@ -154,7 +210,7 @@ export type StripeCreatePlanDto = Omit<
154
210
  >,
155
211
  'providerFields'
156
212
  > & {
157
- stripeFields: Omit<Stripe.PlanCreateParams, PlanOmissions>;
213
+ stripeFields: Omit<StripePlanCreateParams, PlanOmissions>;
158
214
  };
159
215
 
160
216
  export type StripeUpdatePlanDto = Omit<
@@ -165,7 +221,7 @@ export type StripeUpdatePlanDto = Omit<
165
221
  >,
166
222
  'providerFields'
167
223
  > & {
168
- stripeFields?: Omit<Stripe.PlanUpdateParams, PlanOmissions>;
224
+ stripeFields?: Omit<StripePlanUpdateParams, PlanOmissions>;
169
225
  };
170
226
 
171
227
  export type StripePlanDto = Omit<
@@ -176,7 +232,7 @@ export type StripePlanDto = Omit<
176
232
  >,
177
233
  'providerFields'
178
234
  > & {
179
- stripeFields: Stripe.Product;
235
+ stripeFields: StripeProduct;
180
236
  };
181
237
 
182
238
  export type StripePlanDtos = {
@@ -192,21 +248,21 @@ export type StripeCreateSubscriptionDto<PartyType> = Omit<
192
248
  CreateSubscriptionDto<PartyType, typeof BillingProviderEnum>,
193
249
  'providerFields'
194
250
  > & {
195
- stripeFields: Omit<Stripe.SubscriptionCreateParams, SubscriptionOmissions>;
251
+ stripeFields: Omit<StripeSubscriptionCreateParams, SubscriptionOmissions>;
196
252
  };
197
253
 
198
254
  export type StripeUpdateSubscriptionDto<PartyType> = Omit<
199
255
  UpdateSubscriptionDto<PartyType, typeof BillingProviderEnum>,
200
256
  'providerFields'
201
257
  > & {
202
- stripeFields?: Omit<Stripe.SubscriptionUpdateParams, SubscriptionOmissions>;
258
+ stripeFields?: Omit<StripeSubscriptionUpdateParams, SubscriptionOmissions>;
203
259
  };
204
260
 
205
261
  export type StripeSubscriptionDto<PartyType> = Omit<
206
262
  SubscriptionDto<PartyType, typeof BillingProviderEnum>,
207
263
  'providerFields'
208
264
  > & {
209
- stripeFields: Stripe.Subscription;
265
+ stripeFields: StripeSubscription;
210
266
  };
211
267
 
212
268
  export type StripeSubscriptionDtos<PartyType> = {
@@ -6,8 +6,9 @@ import { BillingPortalService, CheckoutSessionService, PaymentLinkService, PlanS
6
6
  export * from '@forklaunch/interfaces-billing/interfaces';
7
7
  import { AnySchemaValidator } from '@forklaunch/validator';
8
8
  import { EntityManager } from '@mikro-orm/core';
9
- import Stripe__default from 'stripe';
10
- import { StripeBillingPortalEntities, StripeBillingPortalDtos, StripeBillingPortalMappers, StripeCreateBillingPortalDto, StripeUpdateBillingPortalDto, StripeCheckoutSessionEntities, StripeCheckoutSessionDtos, StripeCheckoutSessionMappers, StripeCreateCheckoutSessionDto, StripePaymentLinkEntities, StripePaymentLinkDtos, StripeCreatePaymentLinkDto, StripeUpdatePaymentLinkDto, StripePaymentLinkDto, StripePaymentLinkMappers, StripePlanEntities, StripePlanDtos, StripeCreatePlanDto, StripeUpdatePlanDto, StripePlanDto, StripePlanMappers, StripeSubscriptionEntities, StripeSubscriptionDtos, StripeCreateSubscriptionDto, StripeUpdateSubscriptionDto, StripeSubscriptionDto, StripeSubscriptionMappers } from '../domain/types/index.mjs';
9
+ import Stripe from 'stripe';
10
+ import { StripeBillingPortalEntities, StripeBillingPortalMappers, StripeCheckoutSessionEntities, StripeCheckoutSessionMappers, StripePaymentLinkEntities, StripePaymentLinkMappers, StripePlanEntities, StripePlanMappers, StripeSubscriptionEntities, StripeSubscriptionMappers } from '../domain/types/index.mjs';
11
+ import { m as StripeBillingPortalDtos, n as StripeCreateBillingPortalDto, o as StripeUpdateBillingPortalDto, p as StripeCheckoutSessionDtos, q as StripeCreateCheckoutSessionDto, r as StripePaymentLinkDtos, s as StripeCreatePaymentLinkDto, t as StripeUpdatePaymentLinkDto, u as StripePaymentLinkDto, v as StripePlanDtos, w as StripeCreatePlanDto, x as StripeUpdatePlanDto, y as StripePlanDto, z as StripeSubscriptionDtos, A as StripeCreateSubscriptionDto, B as StripeUpdateSubscriptionDto, C as StripeSubscriptionDto } from '../stripe.dto.types-62tPCNUc.mjs';
11
12
  import { PaymentMethodEnum, CurrencyEnum, PlanCadenceEnum, BillingProviderEnum } from '../domain/enum/index.mjs';
12
13
  export * from '@forklaunch/interfaces-billing/types';
13
14
 
@@ -22,14 +23,14 @@ declare class StripeBillingPortalService<SchemaValidator extends AnySchemaValida
22
23
  telemetry?: TelemetryOptions;
23
24
  } | undefined;
24
25
  baseBillingPortalService: BaseBillingPortalService<SchemaValidator, Entities, Dto>;
25
- protected readonly stripeClient: Stripe__default;
26
+ protected readonly stripeClient: Stripe;
26
27
  protected readonly em: EntityManager;
27
28
  protected readonly cache: TtlCache;
28
29
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
29
30
  protected readonly schemaValidator: SchemaValidator;
30
31
  private readonly billingPortalSessionExpiryDurationMs;
31
32
  protected readonly mappers: StripeBillingPortalMappers<Entities, Dto>;
32
- constructor(stripeClient: Stripe__default, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeBillingPortalMappers<Entities, Dto>, options?: {
33
+ constructor(stripeClient: Stripe, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeBillingPortalMappers<Entities, Dto>, options?: {
33
34
  enableDatabaseBackup?: boolean;
34
35
  telemetry?: TelemetryOptions;
35
36
  } | undefined);
@@ -49,13 +50,13 @@ declare class StripeCheckoutSessionService<SchemaValidator extends AnySchemaVali
49
50
  telemetry?: TelemetryOptions;
50
51
  } | undefined;
51
52
  baseCheckoutSessionService: BaseCheckoutSessionService<SchemaValidator, PaymentMethodEnum, CurrencyEnum, StatusEnum, MapperEntities, Dto>;
52
- protected readonly stripeClient: Stripe__default;
53
+ protected readonly stripeClient: Stripe;
53
54
  protected readonly em: EntityManager;
54
55
  protected readonly cache: TtlCache;
55
56
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
56
57
  protected readonly schemaValidator: SchemaValidator;
57
58
  protected readonly mappers: StripeCheckoutSessionMappers<StatusEnum, MapperEntities, Dto>;
58
- constructor(stripeClient: Stripe__default, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeCheckoutSessionMappers<StatusEnum, MapperEntities, Dto>, options?: {
59
+ constructor(stripeClient: Stripe, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeCheckoutSessionMappers<StatusEnum, MapperEntities, Dto>, options?: {
59
60
  enableDatabaseBackup?: boolean;
60
61
  telemetry?: TelemetryOptions;
61
62
  } | undefined);
@@ -78,13 +79,13 @@ declare class StripePaymentLinkService<SchemaValidator extends AnySchemaValidato
78
79
  telemetry?: TelemetryOptions;
79
80
  } | undefined;
80
81
  basePaymentLinkService: BasePaymentLinkService<SchemaValidator, PaymentMethodEnum, CurrencyEnum, StatusEnum, Entities, Dto>;
81
- protected readonly stripeClient: Stripe__default;
82
+ protected readonly stripeClient: Stripe;
82
83
  protected readonly em: EntityManager;
83
84
  protected readonly cache: TtlCache;
84
85
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
85
86
  protected readonly schemaValidator: SchemaValidator;
86
87
  protected readonly mappers: StripePaymentLinkMappers<StatusEnum, Entities, Dto>;
87
- constructor(stripeClient: Stripe__default, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripePaymentLinkMappers<StatusEnum, Entities, Dto>, options?: {
88
+ constructor(stripeClient: Stripe, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripePaymentLinkMappers<StatusEnum, Entities, Dto>, options?: {
88
89
  enableDatabaseBackup?: boolean;
89
90
  telemetry?: TelemetryOptions;
90
91
  } | undefined);
@@ -109,12 +110,12 @@ declare class StripePlanService<SchemaValidator extends AnySchemaValidator, Enti
109
110
  databaseTableName?: string;
110
111
  } | undefined;
111
112
  basePlanService: BasePlanService<SchemaValidator, PlanCadenceEnum, CurrencyEnum, BillingProviderEnum, Entities, Dto>;
112
- protected readonly stripeClient: Stripe__default;
113
+ protected readonly stripeClient: Stripe;
113
114
  protected readonly em: EntityManager;
114
115
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
115
116
  protected readonly schemaValidator: SchemaValidator;
116
117
  protected readonly mappers: StripePlanMappers<Entities, Dto>;
117
- constructor(stripeClient: Stripe__default, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripePlanMappers<Entities, Dto>, options?: {
118
+ constructor(stripeClient: Stripe, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripePlanMappers<Entities, Dto>, options?: {
118
119
  telemetry?: TelemetryOptions;
119
120
  databaseTableName?: string;
120
121
  } | undefined);
@@ -137,12 +138,12 @@ declare class StripeSubscriptionService<SchemaValidator extends AnySchemaValidat
137
138
  databaseTableName?: string;
138
139
  } | undefined;
139
140
  baseSubscriptionService: BaseSubscriptionService<SchemaValidator, PartyType, BillingProviderEnum, Entities, Dto>;
140
- protected readonly stripeClient: Stripe__default;
141
+ protected readonly stripeClient: Stripe;
141
142
  protected readonly em: EntityManager;
142
143
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
143
144
  protected readonly schemaValidator: SchemaValidator;
144
145
  protected readonly mappers: StripeSubscriptionMappers<PartyType, Entities, Dto>;
145
- constructor(stripeClient: Stripe__default, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeSubscriptionMappers<PartyType, Entities, Dto>, options?: {
146
+ constructor(stripeClient: Stripe, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeSubscriptionMappers<PartyType, Entities, Dto>, options?: {
146
147
  telemetry?: TelemetryOptions;
147
148
  databaseTableName?: string;
148
149
  } | undefined);
@@ -159,7 +160,7 @@ declare class StripeSubscriptionService<SchemaValidator extends AnySchemaValidat
159
160
 
160
161
  declare class StripeWebhookService<SchemaValidator extends AnySchemaValidator, StatusEnum, PartyEnum, BillingPortalEntities extends StripeBillingPortalEntities = StripeBillingPortalEntities, CheckoutSessionEntities extends StripeCheckoutSessionEntities<StatusEnum> = StripeCheckoutSessionEntities<StatusEnum>, PaymentLinkEntities extends StripePaymentLinkEntities<StatusEnum> = StripePaymentLinkEntities<StatusEnum>, PlanEntities extends StripePlanEntities = StripePlanEntities, SubscriptionEntities extends StripeSubscriptionEntities<PartyEnum> = StripeSubscriptionEntities<PartyEnum>> {
161
162
  protected readonly partyEnum: PartyEnum;
162
- protected readonly stripeClient: Stripe__default;
163
+ protected readonly stripeClient: Stripe;
163
164
  protected readonly em: EntityManager;
164
165
  protected readonly schemaValidator: SchemaValidator;
165
166
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
@@ -168,14 +169,14 @@ declare class StripeWebhookService<SchemaValidator extends AnySchemaValidator, S
168
169
  protected readonly paymentLinkService: StripePaymentLinkService<SchemaValidator, StatusEnum, PaymentLinkEntities>;
169
170
  protected readonly planService: StripePlanService<SchemaValidator, PlanEntities>;
170
171
  protected readonly subscriptionService: StripeSubscriptionService<SchemaValidator, PartyEnum, SubscriptionEntities>;
171
- constructor(stripeClient: Stripe__default, em: EntityManager, schemaValidator: SchemaValidator, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, billingPortalService: StripeBillingPortalService<SchemaValidator, BillingPortalEntities>, checkoutSessionService: StripeCheckoutSessionService<SchemaValidator, StatusEnum, CheckoutSessionEntities>, paymentLinkService: StripePaymentLinkService<SchemaValidator, StatusEnum, PaymentLinkEntities>, planService: StripePlanService<SchemaValidator, PlanEntities>, subscriptionService: StripeSubscriptionService<SchemaValidator, PartyEnum, SubscriptionEntities>, partyEnum: PartyEnum);
172
+ constructor(stripeClient: Stripe, em: EntityManager, schemaValidator: SchemaValidator, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, billingPortalService: StripeBillingPortalService<SchemaValidator, BillingPortalEntities>, checkoutSessionService: StripeCheckoutSessionService<SchemaValidator, StatusEnum, CheckoutSessionEntities>, paymentLinkService: StripePaymentLinkService<SchemaValidator, StatusEnum, PaymentLinkEntities>, planService: StripePlanService<SchemaValidator, PlanEntities>, subscriptionService: StripeSubscriptionService<SchemaValidator, PartyEnum, SubscriptionEntities>, partyEnum: PartyEnum);
172
173
  /**
173
174
  * Resolve the party type for a subscription event.
174
175
  * Stripe subscriptions are customer-scoped — customers map to users
175
176
  * by default. Override this method to implement organization-level
176
177
  * subscriptions or other party resolution logic.
177
178
  */
178
- protected resolvePartyType(_event: Stripe__default.Event): PartyEnum[keyof PartyEnum];
179
+ protected resolvePartyType(_event: Stripe.Event): PartyEnum[keyof PartyEnum];
179
180
  /**
180
181
  * Extract features from Stripe product metadata.
181
182
  * Features can be stored as:
@@ -183,7 +184,7 @@ declare class StripeWebhookService<SchemaValidator extends AnySchemaValidator, S
183
184
  * - metadata.features: JSON array string (e.g., '["feature1","feature2"]')
184
185
  */
185
186
  private extractFeaturesFromProduct;
186
- handleWebhookEvent(event: Stripe__default.Event): Promise<void>;
187
+ handleWebhookEvent(event: Stripe.Event): Promise<void>;
187
188
  }
188
189
 
189
190
  export { StripeBillingPortalService, StripeCheckoutSessionService, StripePaymentLinkService, StripePlanService, StripeSubscriptionService, StripeWebhookService };
@@ -6,8 +6,9 @@ import { BillingPortalService, CheckoutSessionService, PaymentLinkService, PlanS
6
6
  export * from '@forklaunch/interfaces-billing/interfaces';
7
7
  import { AnySchemaValidator } from '@forklaunch/validator';
8
8
  import { EntityManager } from '@mikro-orm/core';
9
- import Stripe__default from 'stripe';
10
- import { StripeBillingPortalEntities, StripeBillingPortalDtos, StripeBillingPortalMappers, StripeCreateBillingPortalDto, StripeUpdateBillingPortalDto, StripeCheckoutSessionEntities, StripeCheckoutSessionDtos, StripeCheckoutSessionMappers, StripeCreateCheckoutSessionDto, StripePaymentLinkEntities, StripePaymentLinkDtos, StripeCreatePaymentLinkDto, StripeUpdatePaymentLinkDto, StripePaymentLinkDto, StripePaymentLinkMappers, StripePlanEntities, StripePlanDtos, StripeCreatePlanDto, StripeUpdatePlanDto, StripePlanDto, StripePlanMappers, StripeSubscriptionEntities, StripeSubscriptionDtos, StripeCreateSubscriptionDto, StripeUpdateSubscriptionDto, StripeSubscriptionDto, StripeSubscriptionMappers } from '../domain/types/index.js';
9
+ import Stripe from 'stripe';
10
+ import { StripeBillingPortalEntities, StripeBillingPortalMappers, StripeCheckoutSessionEntities, StripeCheckoutSessionMappers, StripePaymentLinkEntities, StripePaymentLinkMappers, StripePlanEntities, StripePlanMappers, StripeSubscriptionEntities, StripeSubscriptionMappers } from '../domain/types/index.js';
11
+ import { m as StripeBillingPortalDtos, n as StripeCreateBillingPortalDto, o as StripeUpdateBillingPortalDto, p as StripeCheckoutSessionDtos, q as StripeCreateCheckoutSessionDto, r as StripePaymentLinkDtos, s as StripeCreatePaymentLinkDto, t as StripeUpdatePaymentLinkDto, u as StripePaymentLinkDto, v as StripePlanDtos, w as StripeCreatePlanDto, x as StripeUpdatePlanDto, y as StripePlanDto, z as StripeSubscriptionDtos, A as StripeCreateSubscriptionDto, B as StripeUpdateSubscriptionDto, C as StripeSubscriptionDto } from '../stripe.dto.types-BnAQ5iRQ.js';
11
12
  import { PaymentMethodEnum, CurrencyEnum, PlanCadenceEnum, BillingProviderEnum } from '../domain/enum/index.js';
12
13
  export * from '@forklaunch/interfaces-billing/types';
13
14
 
@@ -22,14 +23,14 @@ declare class StripeBillingPortalService<SchemaValidator extends AnySchemaValida
22
23
  telemetry?: TelemetryOptions;
23
24
  } | undefined;
24
25
  baseBillingPortalService: BaseBillingPortalService<SchemaValidator, Entities, Dto>;
25
- protected readonly stripeClient: Stripe__default;
26
+ protected readonly stripeClient: Stripe;
26
27
  protected readonly em: EntityManager;
27
28
  protected readonly cache: TtlCache;
28
29
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
29
30
  protected readonly schemaValidator: SchemaValidator;
30
31
  private readonly billingPortalSessionExpiryDurationMs;
31
32
  protected readonly mappers: StripeBillingPortalMappers<Entities, Dto>;
32
- constructor(stripeClient: Stripe__default, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeBillingPortalMappers<Entities, Dto>, options?: {
33
+ constructor(stripeClient: Stripe, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeBillingPortalMappers<Entities, Dto>, options?: {
33
34
  enableDatabaseBackup?: boolean;
34
35
  telemetry?: TelemetryOptions;
35
36
  } | undefined);
@@ -49,13 +50,13 @@ declare class StripeCheckoutSessionService<SchemaValidator extends AnySchemaVali
49
50
  telemetry?: TelemetryOptions;
50
51
  } | undefined;
51
52
  baseCheckoutSessionService: BaseCheckoutSessionService<SchemaValidator, PaymentMethodEnum, CurrencyEnum, StatusEnum, MapperEntities, Dto>;
52
- protected readonly stripeClient: Stripe__default;
53
+ protected readonly stripeClient: Stripe;
53
54
  protected readonly em: EntityManager;
54
55
  protected readonly cache: TtlCache;
55
56
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
56
57
  protected readonly schemaValidator: SchemaValidator;
57
58
  protected readonly mappers: StripeCheckoutSessionMappers<StatusEnum, MapperEntities, Dto>;
58
- constructor(stripeClient: Stripe__default, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeCheckoutSessionMappers<StatusEnum, MapperEntities, Dto>, options?: {
59
+ constructor(stripeClient: Stripe, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeCheckoutSessionMappers<StatusEnum, MapperEntities, Dto>, options?: {
59
60
  enableDatabaseBackup?: boolean;
60
61
  telemetry?: TelemetryOptions;
61
62
  } | undefined);
@@ -78,13 +79,13 @@ declare class StripePaymentLinkService<SchemaValidator extends AnySchemaValidato
78
79
  telemetry?: TelemetryOptions;
79
80
  } | undefined;
80
81
  basePaymentLinkService: BasePaymentLinkService<SchemaValidator, PaymentMethodEnum, CurrencyEnum, StatusEnum, Entities, Dto>;
81
- protected readonly stripeClient: Stripe__default;
82
+ protected readonly stripeClient: Stripe;
82
83
  protected readonly em: EntityManager;
83
84
  protected readonly cache: TtlCache;
84
85
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
85
86
  protected readonly schemaValidator: SchemaValidator;
86
87
  protected readonly mappers: StripePaymentLinkMappers<StatusEnum, Entities, Dto>;
87
- constructor(stripeClient: Stripe__default, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripePaymentLinkMappers<StatusEnum, Entities, Dto>, options?: {
88
+ constructor(stripeClient: Stripe, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripePaymentLinkMappers<StatusEnum, Entities, Dto>, options?: {
88
89
  enableDatabaseBackup?: boolean;
89
90
  telemetry?: TelemetryOptions;
90
91
  } | undefined);
@@ -109,12 +110,12 @@ declare class StripePlanService<SchemaValidator extends AnySchemaValidator, Enti
109
110
  databaseTableName?: string;
110
111
  } | undefined;
111
112
  basePlanService: BasePlanService<SchemaValidator, PlanCadenceEnum, CurrencyEnum, BillingProviderEnum, Entities, Dto>;
112
- protected readonly stripeClient: Stripe__default;
113
+ protected readonly stripeClient: Stripe;
113
114
  protected readonly em: EntityManager;
114
115
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
115
116
  protected readonly schemaValidator: SchemaValidator;
116
117
  protected readonly mappers: StripePlanMappers<Entities, Dto>;
117
- constructor(stripeClient: Stripe__default, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripePlanMappers<Entities, Dto>, options?: {
118
+ constructor(stripeClient: Stripe, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripePlanMappers<Entities, Dto>, options?: {
118
119
  telemetry?: TelemetryOptions;
119
120
  databaseTableName?: string;
120
121
  } | undefined);
@@ -137,12 +138,12 @@ declare class StripeSubscriptionService<SchemaValidator extends AnySchemaValidat
137
138
  databaseTableName?: string;
138
139
  } | undefined;
139
140
  baseSubscriptionService: BaseSubscriptionService<SchemaValidator, PartyType, BillingProviderEnum, Entities, Dto>;
140
- protected readonly stripeClient: Stripe__default;
141
+ protected readonly stripeClient: Stripe;
141
142
  protected readonly em: EntityManager;
142
143
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
143
144
  protected readonly schemaValidator: SchemaValidator;
144
145
  protected readonly mappers: StripeSubscriptionMappers<PartyType, Entities, Dto>;
145
- constructor(stripeClient: Stripe__default, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeSubscriptionMappers<PartyType, Entities, Dto>, options?: {
146
+ constructor(stripeClient: Stripe, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: StripeSubscriptionMappers<PartyType, Entities, Dto>, options?: {
146
147
  telemetry?: TelemetryOptions;
147
148
  databaseTableName?: string;
148
149
  } | undefined);
@@ -159,7 +160,7 @@ declare class StripeSubscriptionService<SchemaValidator extends AnySchemaValidat
159
160
 
160
161
  declare class StripeWebhookService<SchemaValidator extends AnySchemaValidator, StatusEnum, PartyEnum, BillingPortalEntities extends StripeBillingPortalEntities = StripeBillingPortalEntities, CheckoutSessionEntities extends StripeCheckoutSessionEntities<StatusEnum> = StripeCheckoutSessionEntities<StatusEnum>, PaymentLinkEntities extends StripePaymentLinkEntities<StatusEnum> = StripePaymentLinkEntities<StatusEnum>, PlanEntities extends StripePlanEntities = StripePlanEntities, SubscriptionEntities extends StripeSubscriptionEntities<PartyEnum> = StripeSubscriptionEntities<PartyEnum>> {
161
162
  protected readonly partyEnum: PartyEnum;
162
- protected readonly stripeClient: Stripe__default;
163
+ protected readonly stripeClient: Stripe;
163
164
  protected readonly em: EntityManager;
164
165
  protected readonly schemaValidator: SchemaValidator;
165
166
  protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
@@ -168,14 +169,14 @@ declare class StripeWebhookService<SchemaValidator extends AnySchemaValidator, S
168
169
  protected readonly paymentLinkService: StripePaymentLinkService<SchemaValidator, StatusEnum, PaymentLinkEntities>;
169
170
  protected readonly planService: StripePlanService<SchemaValidator, PlanEntities>;
170
171
  protected readonly subscriptionService: StripeSubscriptionService<SchemaValidator, PartyEnum, SubscriptionEntities>;
171
- constructor(stripeClient: Stripe__default, em: EntityManager, schemaValidator: SchemaValidator, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, billingPortalService: StripeBillingPortalService<SchemaValidator, BillingPortalEntities>, checkoutSessionService: StripeCheckoutSessionService<SchemaValidator, StatusEnum, CheckoutSessionEntities>, paymentLinkService: StripePaymentLinkService<SchemaValidator, StatusEnum, PaymentLinkEntities>, planService: StripePlanService<SchemaValidator, PlanEntities>, subscriptionService: StripeSubscriptionService<SchemaValidator, PartyEnum, SubscriptionEntities>, partyEnum: PartyEnum);
172
+ constructor(stripeClient: Stripe, em: EntityManager, schemaValidator: SchemaValidator, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, billingPortalService: StripeBillingPortalService<SchemaValidator, BillingPortalEntities>, checkoutSessionService: StripeCheckoutSessionService<SchemaValidator, StatusEnum, CheckoutSessionEntities>, paymentLinkService: StripePaymentLinkService<SchemaValidator, StatusEnum, PaymentLinkEntities>, planService: StripePlanService<SchemaValidator, PlanEntities>, subscriptionService: StripeSubscriptionService<SchemaValidator, PartyEnum, SubscriptionEntities>, partyEnum: PartyEnum);
172
173
  /**
173
174
  * Resolve the party type for a subscription event.
174
175
  * Stripe subscriptions are customer-scoped — customers map to users
175
176
  * by default. Override this method to implement organization-level
176
177
  * subscriptions or other party resolution logic.
177
178
  */
178
- protected resolvePartyType(_event: Stripe__default.Event): PartyEnum[keyof PartyEnum];
179
+ protected resolvePartyType(_event: Stripe.Event): PartyEnum[keyof PartyEnum];
179
180
  /**
180
181
  * Extract features from Stripe product metadata.
181
182
  * Features can be stored as:
@@ -183,7 +184,7 @@ declare class StripeWebhookService<SchemaValidator extends AnySchemaValidator, S
183
184
  * - metadata.features: JSON array string (e.g., '["feature1","feature2"]')
184
185
  */
185
186
  private extractFeaturesFromProduct;
186
- handleWebhookEvent(event: Stripe__default.Event): Promise<void>;
187
+ handleWebhookEvent(event: Stripe.Event): Promise<void>;
187
188
  }
188
189
 
189
190
  export { StripeBillingPortalService, StripeCheckoutSessionService, StripePaymentLinkService, StripePlanService, StripeSubscriptionService, StripeWebhookService };
@@ -50,6 +50,7 @@ var StripeBillingPortalService = class {
50
50
  options
51
51
  );
52
52
  }
53
+ options;
53
54
  baseBillingPortalService;
54
55
  stripeClient;
55
56
  em;
@@ -128,6 +129,7 @@ var StripeCheckoutSessionService = class {
128
129
  options
129
130
  );
130
131
  }
132
+ options;
131
133
  baseCheckoutSessionService;
132
134
  stripeClient;
133
135
  em;
@@ -207,6 +209,7 @@ var StripePaymentLinkService = class {
207
209
  options
208
210
  );
209
211
  }
212
+ options;
210
213
  basePaymentLinkService;
211
214
  stripeClient;
212
215
  em;
@@ -331,6 +334,7 @@ var StripePlanService = class {
331
334
  options
332
335
  );
333
336
  }
337
+ options;
334
338
  basePlanService;
335
339
  stripeClient;
336
340
  em;
@@ -462,6 +466,7 @@ var StripeSubscriptionService = class {
462
466
  options
463
467
  );
464
468
  }
469
+ options;
465
470
  baseSubscriptionService;
466
471
  stripeClient;
467
472
  em;
@@ -18,6 +18,7 @@ var StripeBillingPortalService = class {
18
18
  options
19
19
  );
20
20
  }
21
+ options;
21
22
  baseBillingPortalService;
22
23
  stripeClient;
23
24
  em;
@@ -96,6 +97,7 @@ var StripeCheckoutSessionService = class {
96
97
  options
97
98
  );
98
99
  }
100
+ options;
99
101
  baseCheckoutSessionService;
100
102
  stripeClient;
101
103
  em;
@@ -175,6 +177,7 @@ var StripePaymentLinkService = class {
175
177
  options
176
178
  );
177
179
  }
180
+ options;
178
181
  basePaymentLinkService;
179
182
  stripeClient;
180
183
  em;
@@ -299,6 +302,7 @@ var StripePlanService = class {
299
302
  options
300
303
  );
301
304
  }
305
+ options;
302
306
  basePlanService;
303
307
  stripeClient;
304
308
  em;
@@ -430,6 +434,7 @@ var StripeSubscriptionService = class {
430
434
  options
431
435
  );
432
436
  }
437
+ options;
433
438
  baseSubscriptionService;
434
439
  stripeClient;
435
440
  em;