@forklaunch/implementation-billing-stripe 1.1.22 → 1.1.23

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,9 @@ 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: type<
36
+ Omit<StripeSubscriptionCreateParams, SubscriptionOmissions>
37
+ >()
34
38
  });
35
39
 
36
40
  export const UpdateSubscriptionSchema = <
@@ -49,7 +53,9 @@ export const UpdateSubscriptionSchema = <
49
53
  endDate: optional(date),
50
54
  status: optional(string),
51
55
  billingProvider: optional(enum_(BillingProviderEnum)),
52
- stripeFields: optional(type<StripeUpdateSubscriptionDto<T>['stripeFields']>())
56
+ stripeFields: optional(
57
+ type<Omit<StripeSubscriptionUpdateParams, SubscriptionOmissions>>()
58
+ )
53
59
  });
54
60
 
55
61
  export const SubscriptionSchema = <T extends Record<string, LiteralSchema>>(
@@ -66,7 +72,7 @@ export const SubscriptionSchema = <T extends Record<string, LiteralSchema>>(
66
72
  endDate: optional(date),
67
73
  status: string,
68
74
  billingProvider: enum_(BillingProviderEnum),
69
- stripeFields: type<StripeSubscriptionDto<T>['stripeFields']>(),
75
+ stripeFields: type<StripeSubscription>(),
70
76
  createdAt: optional(date),
71
77
  updatedAt: optional(date)
72
78
  });
@@ -21,6 +21,53 @@ 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> = T extends Promise<infer R>
31
+ ? R extends { lastResponse?: unknown }
32
+ ? Omit<R, 'lastResponse'>
33
+ : R
34
+ : never;
35
+
36
+ // Use `interface ... extends ...` instead of `type ... = ...` so the names
37
+ // survive declaration emit. Pure type aliases get expanded back to their
38
+ // canonical resolution (the deep stripe submodule paths) which then trips
39
+ // TS2883 in any consumer of this module — interfaces, by contrast, form
40
+ // nominal names that tsc preserves in `.d.ts` output. Empty bodies are
41
+ // intentional — we're solely re-naming the supertype.
42
+ /* eslint-disable @typescript-eslint/no-empty-object-type */
43
+ export interface StripeBillingPortalSessionCreateParams
44
+ extends NonNullable<Parameters<Stripe['billingPortal']['sessions']['create']>[0]> {}
45
+ export interface StripeBillingPortalSession
46
+ extends UnwrapStripeResponse<ReturnType<Stripe['billingPortal']['sessions']['create']>> {}
47
+ export interface StripeCheckoutSessionCreateParams
48
+ extends NonNullable<Parameters<Stripe['checkout']['sessions']['create']>[0]> {}
49
+ export interface StripeCheckoutSession
50
+ extends UnwrapStripeResponse<ReturnType<Stripe['checkout']['sessions']['create']>> {}
51
+ export interface StripePaymentLinkCreateParams
52
+ extends NonNullable<Parameters<Stripe['paymentLinks']['create']>[0]> {}
53
+ export interface StripePaymentLinkUpdateParams
54
+ extends NonNullable<Parameters<Stripe['paymentLinks']['update']>[1]> {}
55
+ export interface StripePaymentLink
56
+ extends UnwrapStripeResponse<ReturnType<Stripe['paymentLinks']['create']>> {}
57
+ export interface StripePlanCreateParams
58
+ extends NonNullable<Parameters<Stripe['plans']['create']>[0]> {}
59
+ export interface StripePlanUpdateParams
60
+ extends NonNullable<Parameters<Stripe['plans']['update']>[1]> {}
61
+ export interface StripeProduct
62
+ extends UnwrapStripeResponse<ReturnType<Stripe['products']['create']>> {}
63
+ export interface StripeSubscriptionCreateParams
64
+ extends NonNullable<Parameters<Stripe['subscriptions']['create']>[0]> {}
65
+ export interface StripeSubscriptionUpdateParams
66
+ extends NonNullable<Parameters<Stripe['subscriptions']['update']>[1]> {}
67
+ export interface StripeSubscription
68
+ extends UnwrapStripeResponse<ReturnType<Stripe['subscriptions']['create']>> {}
69
+ /* eslint-enable @typescript-eslint/no-empty-object-type */
70
+
24
71
  // Billing Portal Types
25
72
  type BillingPortalOmissions = 'customer';
26
73
 
@@ -29,7 +76,7 @@ export type StripeCreateBillingPortalDto = Omit<
29
76
  'providerFields'
30
77
  > & {
31
78
  stripeFields: Omit<
32
- Stripe.BillingPortal.SessionCreateParams,
79
+ StripeBillingPortalSessionCreateParams,
33
80
  BillingPortalOmissions
34
81
  >;
35
82
  };
@@ -39,7 +86,7 @@ export type StripeUpdateBillingPortalDto = Omit<
39
86
  'providerFields'
40
87
  > & {
41
88
  stripeFields?: Omit<
42
- Stripe.BillingPortal.SessionCreateParams,
89
+ StripeBillingPortalSessionCreateParams,
43
90
  BillingPortalOmissions
44
91
  >;
45
92
  };
@@ -48,7 +95,7 @@ export type StripeBillingPortalDto = Omit<
48
95
  BillingPortalDto,
49
96
  'providerFields'
50
97
  > & {
51
- stripeFields: Stripe.BillingPortal.Session;
98
+ stripeFields: StripeBillingPortalSession;
52
99
  };
53
100
 
54
101
  export type StripeBillingPortalDtos = {
@@ -74,7 +121,7 @@ export type StripeCreateCheckoutSessionDto<StatusEnum> = Omit<
74
121
  > & {
75
122
  uri: string;
76
123
  stripeFields: Omit<
77
- Stripe.Checkout.SessionCreateParams,
124
+ StripeCheckoutSessionCreateParams,
78
125
  CheckoutSessionOmissions
79
126
  >;
80
127
  };
@@ -88,7 +135,7 @@ export type StripeUpdateCheckoutSessionDto<StatusEnum> = Omit<
88
135
  'providerFields'
89
136
  > & {
90
137
  stripeFields?: Omit<
91
- Stripe.Checkout.SessionCreateParams,
138
+ StripeCheckoutSessionCreateParams,
92
139
  CheckoutSessionOmissions
93
140
  >;
94
141
  };
@@ -98,7 +145,7 @@ export type StripeCheckoutSessionDto<StatusEnum> = Omit<
98
145
  'providerFields' | 'uri'
99
146
  > & {
100
147
  uri: string;
101
- stripeFields: Stripe.Checkout.Session;
148
+ stripeFields: StripeCheckoutSession;
102
149
  };
103
150
 
104
151
  export type StripeCheckoutSessionDtos<StatusEnum> = {
@@ -116,7 +163,7 @@ export type StripeCreatePaymentLinkDto<StatusEnum> = Omit<
116
163
  >,
117
164
  'providerFields'
118
165
  > & {
119
- stripeFields: Stripe.PaymentLinkCreateParams;
166
+ stripeFields: StripePaymentLinkCreateParams;
120
167
  };
121
168
 
122
169
  export type StripeUpdatePaymentLinkDto<StatusEnum> = Omit<
@@ -127,14 +174,14 @@ export type StripeUpdatePaymentLinkDto<StatusEnum> = Omit<
127
174
  >,
128
175
  'providerFields'
129
176
  > & {
130
- stripeFields?: Stripe.PaymentLinkUpdateParams;
177
+ stripeFields?: StripePaymentLinkUpdateParams;
131
178
  };
132
179
 
133
180
  export type StripePaymentLinkDto<StatusEnum> = Omit<
134
181
  PaymentLinkDto<typeof PaymentMethodEnum, typeof CurrencyEnum, StatusEnum>,
135
182
  'providerFields'
136
183
  > & {
137
- stripeFields: Stripe.PaymentLink;
184
+ stripeFields: StripePaymentLink;
138
185
  };
139
186
 
140
187
  export type StripePaymentLinkDtos<StatusEnum> = {
@@ -154,7 +201,7 @@ export type StripeCreatePlanDto = Omit<
154
201
  >,
155
202
  'providerFields'
156
203
  > & {
157
- stripeFields: Omit<Stripe.PlanCreateParams, PlanOmissions>;
204
+ stripeFields: Omit<StripePlanCreateParams, PlanOmissions>;
158
205
  };
159
206
 
160
207
  export type StripeUpdatePlanDto = Omit<
@@ -165,7 +212,7 @@ export type StripeUpdatePlanDto = Omit<
165
212
  >,
166
213
  'providerFields'
167
214
  > & {
168
- stripeFields?: Omit<Stripe.PlanUpdateParams, PlanOmissions>;
215
+ stripeFields?: Omit<StripePlanUpdateParams, PlanOmissions>;
169
216
  };
170
217
 
171
218
  export type StripePlanDto = Omit<
@@ -176,7 +223,7 @@ export type StripePlanDto = Omit<
176
223
  >,
177
224
  'providerFields'
178
225
  > & {
179
- stripeFields: Stripe.Product;
226
+ stripeFields: StripeProduct;
180
227
  };
181
228
 
182
229
  export type StripePlanDtos = {
@@ -192,21 +239,21 @@ export type StripeCreateSubscriptionDto<PartyType> = Omit<
192
239
  CreateSubscriptionDto<PartyType, typeof BillingProviderEnum>,
193
240
  'providerFields'
194
241
  > & {
195
- stripeFields: Omit<Stripe.SubscriptionCreateParams, SubscriptionOmissions>;
242
+ stripeFields: Omit<StripeSubscriptionCreateParams, SubscriptionOmissions>;
196
243
  };
197
244
 
198
245
  export type StripeUpdateSubscriptionDto<PartyType> = Omit<
199
246
  UpdateSubscriptionDto<PartyType, typeof BillingProviderEnum>,
200
247
  'providerFields'
201
248
  > & {
202
- stripeFields?: Omit<Stripe.SubscriptionUpdateParams, SubscriptionOmissions>;
249
+ stripeFields?: Omit<StripeSubscriptionUpdateParams, SubscriptionOmissions>;
203
250
  };
204
251
 
205
252
  export type StripeSubscriptionDto<PartyType> = Omit<
206
253
  SubscriptionDto<PartyType, typeof BillingProviderEnum>,
207
254
  'providerFields'
208
255
  > & {
209
- stripeFields: Stripe.Subscription;
256
+ stripeFields: StripeSubscription;
210
257
  };
211
258
 
212
259
  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;