@reeboot/strapi-payment-plugin 0.0.8 → 0.0.10

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.
Files changed (36) hide show
  1. package/dist/_chunks/{Analytics-CncK5kn-.mjs → Analytics-CPXtqS6s.mjs} +1 -1
  2. package/dist/_chunks/{Analytics-c8KBuG3k.js → Analytics-ZpHHWBQt.js} +1 -1
  3. package/dist/_chunks/{App-B5AB8Omu.mjs → App-CZNZ1JKf.mjs} +13 -7
  4. package/dist/_chunks/{App-Cih9sWu1.js → App-CsbyykNC.js} +13 -7
  5. package/dist/_chunks/{Customers-CZWOnN26.js → Customers-D4RVSZ_m.js} +1 -1
  6. package/dist/_chunks/{Customers-BVk2gx7w.mjs → Customers-DMDEBpH9.mjs} +1 -1
  7. package/dist/_chunks/{Dashboard-DAjD8Q_6.mjs → Dashboard-D-ckyWDO.mjs} +1 -1
  8. package/dist/_chunks/{Dashboard-CEif4jQn.js → Dashboard-NNqGJmYw.js} +1 -1
  9. package/dist/_chunks/{Orders-DZXb54VO.js → Orders-BELfgToU.js} +1 -1
  10. package/dist/_chunks/{Orders-DdJqI1HB.mjs → Orders-BIkRttRZ.mjs} +1 -1
  11. package/dist/_chunks/{Payments-VzDGbK4W.js → Payments-CIEb4f07.js} +1 -1
  12. package/dist/_chunks/{Payments-DFL-Cwgy.mjs → Payments-CKlL-PCV.mjs} +1 -1
  13. package/dist/_chunks/{Settings-SALxClBu.mjs → Settings-BQXkYm-c.mjs} +6 -5
  14. package/dist/_chunks/{Settings-B1tR3WOm.js → Settings-CcY98Hyw.js} +6 -5
  15. package/dist/_chunks/Subscriptions--cI3HC2x.js +178 -0
  16. package/dist/_chunks/Subscriptions-Dq8Uk7sK.mjs +178 -0
  17. package/dist/_chunks/{index-CB6TMitx.mjs → index-BBarHYyt.mjs} +1 -1
  18. package/dist/_chunks/{index-D-fFikb8.js → index-DBZ4rcUW.js} +1 -1
  19. package/dist/admin/index.js +1 -1
  20. package/dist/admin/index.mjs +1 -1
  21. package/dist/admin/src/index.d.ts +22 -1
  22. package/dist/admin/src/pages/Subscriptions.d.ts +2 -0
  23. package/dist/admin/src/types/index.d.ts +20 -0
  24. package/dist/server/index.js +619 -47
  25. package/dist/server/index.mjs +619 -47
  26. package/dist/server/src/content-types/customer/index.d.ts +6 -0
  27. package/dist/server/src/content-types/index.d.ts +89 -0
  28. package/dist/server/src/content-types/subscription/index.d.ts +84 -0
  29. package/dist/server/src/controllers/index.d.ts +7 -0
  30. package/dist/server/src/controllers/stripe.d.ts +34 -2
  31. package/dist/server/src/index.d.ts +99 -6
  32. package/dist/server/src/middlewares/index.d.ts +3 -3
  33. package/dist/server/src/services/stripe.d.ts +97 -13
  34. package/dist/server/src/services/types/api.d.ts +24 -5
  35. package/dist/server/src/types/plugin-config.d.ts +360 -0
  36. package/package.json +2 -2
@@ -7,7 +7,7 @@
7
7
  /// <reference types="stripe/types/Webhooks" />
8
8
  /// <reference types="stripe/types/EventTypes" />
9
9
  /// <reference types="stripe/types/UpcomingInvoices" />
10
- /// <reference types="stripe/types/Deprecations" />
10
+ /// <reference types="stripe/types/V2/EventMisc" />
11
11
  /// <reference types="stripe/types/AccountLinksResource" />
12
12
  /// <reference types="stripe/types/AccountSessionsResource" />
13
13
  /// <reference types="stripe/types/AccountsResource" />
@@ -15,8 +15,12 @@
15
15
  /// <reference types="stripe/types/ApplicationFeesResource" />
16
16
  /// <reference types="stripe/types/Apps/SecretsResource" />
17
17
  /// <reference types="stripe/types/BalanceResource" />
18
+ /// <reference types="stripe/types/BalanceSettingsResource" />
18
19
  /// <reference types="stripe/types/BalanceTransactionsResource" />
19
20
  /// <reference types="stripe/types/Billing/AlertsResource" />
21
+ /// <reference types="stripe/types/Billing/CreditBalanceSummaryResource" />
22
+ /// <reference types="stripe/types/Billing/CreditBalanceTransactionsResource" />
23
+ /// <reference types="stripe/types/Billing/CreditGrantsResource" />
20
24
  /// <reference types="stripe/types/Billing/MeterEventAdjustmentsResource" />
21
25
  /// <reference types="stripe/types/Billing/MeterEventsResource" />
22
26
  /// <reference types="stripe/types/Billing/MetersResource" />
@@ -48,6 +52,7 @@
48
52
  /// <reference types="stripe/types/Identity/VerificationReportsResource" />
49
53
  /// <reference types="stripe/types/Identity/VerificationSessionsResource" />
50
54
  /// <reference types="stripe/types/InvoiceItemsResource" />
55
+ /// <reference types="stripe/types/InvoicePaymentsResource" />
51
56
  /// <reference types="stripe/types/InvoiceRenderingTemplatesResource" />
52
57
  /// <reference types="stripe/types/InvoicesResource" />
53
58
  /// <reference types="stripe/types/Issuing/AuthorizationsResource" />
@@ -59,11 +64,13 @@
59
64
  /// <reference types="stripe/types/Issuing/TokensResource" />
60
65
  /// <reference types="stripe/types/Issuing/TransactionsResource" />
61
66
  /// <reference types="stripe/types/MandatesResource" />
67
+ /// <reference types="stripe/types/PaymentAttemptRecordsResource" />
62
68
  /// <reference types="stripe/types/PaymentIntentsResource" />
63
69
  /// <reference types="stripe/types/PaymentLinksResource" />
64
70
  /// <reference types="stripe/types/PaymentMethodConfigurationsResource" />
65
71
  /// <reference types="stripe/types/PaymentMethodDomainsResource" />
66
72
  /// <reference types="stripe/types/PaymentMethodsResource" />
73
+ /// <reference types="stripe/types/PaymentRecordsResource" />
67
74
  /// <reference types="stripe/types/PayoutsResource" />
68
75
  /// <reference types="stripe/types/PlansResource" />
69
76
  /// <reference types="stripe/types/PricesResource" />
@@ -71,6 +78,7 @@
71
78
  /// <reference types="stripe/types/PromotionCodesResource" />
72
79
  /// <reference types="stripe/types/QuotesResource" />
73
80
  /// <reference types="stripe/types/Radar/EarlyFraudWarningsResource" />
81
+ /// <reference types="stripe/types/Radar/PaymentEvaluationsResource" />
74
82
  /// <reference types="stripe/types/Radar/ValueListItemsResource" />
75
83
  /// <reference types="stripe/types/Radar/ValueListsResource" />
76
84
  /// <reference types="stripe/types/RefundsResource" />
@@ -85,6 +93,7 @@
85
93
  /// <reference types="stripe/types/SubscriptionItemsResource" />
86
94
  /// <reference types="stripe/types/SubscriptionSchedulesResource" />
87
95
  /// <reference types="stripe/types/SubscriptionsResource" />
96
+ /// <reference types="stripe/types/Tax/AssociationsResource" />
88
97
  /// <reference types="stripe/types/Tax/CalculationsResource" />
89
98
  /// <reference types="stripe/types/Tax/RegistrationsResource" />
90
99
  /// <reference types="stripe/types/Tax/SettingsResource" />
@@ -95,6 +104,7 @@
95
104
  /// <reference types="stripe/types/Terminal/ConfigurationsResource" />
96
105
  /// <reference types="stripe/types/Terminal/ConnectionTokensResource" />
97
106
  /// <reference types="stripe/types/Terminal/LocationsResource" />
107
+ /// <reference types="stripe/types/Terminal/OnboardingLinksResource" />
98
108
  /// <reference types="stripe/types/Terminal/ReadersResource" />
99
109
  /// <reference types="stripe/types/TestHelpers/ConfirmationTokensResource" />
100
110
  /// <reference types="stripe/types/TestHelpers/CustomersResource" />
@@ -123,6 +133,18 @@
123
133
  /// <reference types="stripe/types/Treasury/ReceivedDebitsResource" />
124
134
  /// <reference types="stripe/types/Treasury/TransactionEntriesResource" />
125
135
  /// <reference types="stripe/types/Treasury/TransactionsResource" />
136
+ /// <reference types="stripe/types/V2/Billing/MeterEventAdjustmentsResource" />
137
+ /// <reference types="stripe/types/V2/Billing/MeterEventSessionResource" />
138
+ /// <reference types="stripe/types/V2/Billing/MeterEventStreamResource" />
139
+ /// <reference types="stripe/types/V2/Billing/MeterEventsResource" />
140
+ /// <reference types="stripe/types/V2/Core/AccountLinksResource" />
141
+ /// <reference types="stripe/types/V2/Core/AccountTokensResource" />
142
+ /// <reference types="stripe/types/V2/Core/Accounts/PersonTokensResource" />
143
+ /// <reference types="stripe/types/V2/Core/Accounts/PersonsResource" />
144
+ /// <reference types="stripe/types/V2/Core/AccountsResource" />
145
+ /// <reference types="stripe/types/V2/Core/EventDestinationsResource" />
146
+ /// <reference types="stripe/types/V2/Core/EventTypes" />
147
+ /// <reference types="stripe/types/V2/Core/EventsResource" />
126
148
  /// <reference types="stripe/types/WebhookEndpointsResource" />
127
149
  /// <reference types="stripe/types/AccountLinks" />
128
150
  /// <reference types="stripe/types/AccountSessions" />
@@ -132,11 +154,15 @@
132
154
  /// <reference types="stripe/types/Applications" />
133
155
  /// <reference types="stripe/types/Apps/Secrets" />
134
156
  /// <reference types="stripe/types/Balance" />
157
+ /// <reference types="stripe/types/BalanceSettings" />
135
158
  /// <reference types="stripe/types/BalanceTransactionSources" />
136
159
  /// <reference types="stripe/types/BalanceTransactions" />
137
160
  /// <reference types="stripe/types/BankAccounts" />
138
161
  /// <reference types="stripe/types/Billing/AlertTriggereds" />
139
162
  /// <reference types="stripe/types/Billing/Alerts" />
163
+ /// <reference types="stripe/types/Billing/CreditBalanceSummary" />
164
+ /// <reference types="stripe/types/Billing/CreditBalanceTransactions" />
165
+ /// <reference types="stripe/types/Billing/CreditGrants" />
140
166
  /// <reference types="stripe/types/Billing/MeterEventAdjustments" />
141
167
  /// <reference types="stripe/types/Billing/MeterEventSummaries" />
142
168
  /// <reference types="stripe/types/Billing/MeterEvents" />
@@ -185,6 +211,7 @@
185
211
  /// <reference types="stripe/types/Identity/VerificationSessions" />
186
212
  /// <reference types="stripe/types/InvoiceItems" />
187
213
  /// <reference types="stripe/types/InvoiceLineItems" />
214
+ /// <reference types="stripe/types/InvoicePayments" />
188
215
  /// <reference types="stripe/types/InvoiceRenderingTemplates" />
189
216
  /// <reference types="stripe/types/Invoices" />
190
217
  /// <reference types="stripe/types/Issuing/Authorizations" />
@@ -198,11 +225,14 @@
198
225
  /// <reference types="stripe/types/LineItems" />
199
226
  /// <reference types="stripe/types/LoginLinks" />
200
227
  /// <reference types="stripe/types/Mandates" />
228
+ /// <reference types="stripe/types/PaymentAttemptRecords" />
229
+ /// <reference types="stripe/types/PaymentIntentAmountDetailsLineItems" />
201
230
  /// <reference types="stripe/types/PaymentIntents" />
202
231
  /// <reference types="stripe/types/PaymentLinks" />
203
232
  /// <reference types="stripe/types/PaymentMethodConfigurations" />
204
233
  /// <reference types="stripe/types/PaymentMethodDomains" />
205
234
  /// <reference types="stripe/types/PaymentMethods" />
235
+ /// <reference types="stripe/types/PaymentRecords" />
206
236
  /// <reference types="stripe/types/Payouts" />
207
237
  /// <reference types="stripe/types/Persons" />
208
238
  /// <reference types="stripe/types/Plans" />
@@ -212,11 +242,15 @@
212
242
  /// <reference types="stripe/types/PromotionCodes" />
213
243
  /// <reference types="stripe/types/Quotes" />
214
244
  /// <reference types="stripe/types/Radar/EarlyFraudWarnings" />
245
+ /// <reference types="stripe/types/Radar/PaymentEvaluations" />
215
246
  /// <reference types="stripe/types/Radar/ValueListItems" />
216
247
  /// <reference types="stripe/types/Radar/ValueLists" />
217
248
  /// <reference types="stripe/types/Refunds" />
218
249
  /// <reference types="stripe/types/Reporting/ReportRuns" />
219
250
  /// <reference types="stripe/types/Reporting/ReportTypes" />
251
+ /// <reference types="stripe/types/Reserve/Holds" />
252
+ /// <reference types="stripe/types/Reserve/Plans" />
253
+ /// <reference types="stripe/types/Reserve/Releases" />
220
254
  /// <reference types="stripe/types/ReserveTransactions" />
221
255
  /// <reference types="stripe/types/Reviews" />
222
256
  /// <reference types="stripe/types/SetupAttempts" />
@@ -229,6 +263,7 @@
229
263
  /// <reference types="stripe/types/SubscriptionItems" />
230
264
  /// <reference types="stripe/types/SubscriptionSchedules" />
231
265
  /// <reference types="stripe/types/Subscriptions" />
266
+ /// <reference types="stripe/types/Tax/Associations" />
232
267
  /// <reference types="stripe/types/Tax/CalculationLineItems" />
233
268
  /// <reference types="stripe/types/Tax/Calculations" />
234
269
  /// <reference types="stripe/types/Tax/Registrations" />
@@ -242,6 +277,7 @@
242
277
  /// <reference types="stripe/types/Terminal/Configurations" />
243
278
  /// <reference types="stripe/types/Terminal/ConnectionTokens" />
244
279
  /// <reference types="stripe/types/Terminal/Locations" />
280
+ /// <reference types="stripe/types/Terminal/OnboardingLinks" />
245
281
  /// <reference types="stripe/types/Terminal/Readers" />
246
282
  /// <reference types="stripe/types/TestHelpers/TestClocks" />
247
283
  /// <reference types="stripe/types/Tokens" />
@@ -259,17 +295,28 @@
259
295
  /// <reference types="stripe/types/Treasury/ReceivedDebits" />
260
296
  /// <reference types="stripe/types/Treasury/TransactionEntries" />
261
297
  /// <reference types="stripe/types/Treasury/Transactions" />
262
- /// <reference types="stripe/types/UsageRecordSummaries" />
263
- /// <reference types="stripe/types/UsageRecords" />
298
+ /// <reference types="stripe/types/V2/Billing/MeterEventAdjustments" />
299
+ /// <reference types="stripe/types/V2/Billing/MeterEventSessions" />
300
+ /// <reference types="stripe/types/V2/Billing/MeterEvents" />
301
+ /// <reference types="stripe/types/V2/Core/AccountLinks" />
302
+ /// <reference types="stripe/types/V2/Core/AccountPersonTokens" />
303
+ /// <reference types="stripe/types/V2/Core/AccountPersons" />
304
+ /// <reference types="stripe/types/V2/Core/AccountTokens" />
305
+ /// <reference types="stripe/types/V2/Core/Accounts" />
306
+ /// <reference types="stripe/types/V2/Core/EventDestinations" />
307
+ /// <reference types="stripe/types/V2/Core/Events" />
308
+ /// <reference types="stripe/types/V2/DeletedObject" />
264
309
  /// <reference types="stripe/types/WebhookEndpoints" />
265
310
  /// <reference types="stripe/types/lib" />
266
311
  /// <reference types="stripe/types/net/net" />
267
312
  import Stripe from 'stripe';
268
313
  import type { Core } from '@strapi/strapi';
314
+ import type { OrderInput, CustomerInput, SubscriptionInput } from './types';
315
+ import { type StripeAddress, type OrderItem } from '../types/plugin-config';
269
316
  interface PaymentIntentParams {
270
317
  amount: number;
271
318
  currency: string;
272
- metadata?: Record<string, any>;
319
+ metadata?: Record<string, string>;
273
320
  customer?: string;
274
321
  orderId?: string;
275
322
  customerId?: string;
@@ -281,15 +328,46 @@ interface CreateCustomerParams {
281
328
  firstName: string;
282
329
  lastName: string;
283
330
  phone?: string;
284
- address?: Record<string, any>;
285
- metadata?: Record<string, any>;
331
+ address?: StripeAddress;
332
+ metadata?: Record<string, string>;
286
333
  strapiCustomerId?: string;
287
334
  }
288
335
  interface RefundParams {
289
336
  paymentIntentId: string;
290
337
  amount?: number;
291
338
  reason?: Stripe.RefundCreateParams.Reason;
292
- metadata?: Record<string, any>;
339
+ metadata?: Record<string, string>;
340
+ }
341
+ interface InitializePaymentFlowParams {
342
+ amount: number;
343
+ currency: string;
344
+ email: string;
345
+ firstName: string;
346
+ lastName: string;
347
+ items?: OrderItem[];
348
+ metadata?: Record<string, string>;
349
+ confirm?: boolean;
350
+ payment_method?: string;
351
+ orderNumber?: string;
352
+ }
353
+ type CreateOrderData = Omit<OrderInput, 'order_status' | 'payment_status'> & {
354
+ order_status?: OrderInput['order_status'];
355
+ payment_status?: OrderInput['payment_status'];
356
+ };
357
+ export interface CreateSubscriptionParams {
358
+ strapiCustomerId: string;
359
+ stripeCustomerId: string;
360
+ priceId: string;
361
+ trialPeriodDays?: number;
362
+ metadata?: Record<string, string>;
363
+ defaultPaymentMethod?: string;
364
+ }
365
+ export interface UpdateSubscriptionParams {
366
+ priceId?: string;
367
+ cancelAtPeriodEnd?: boolean;
368
+ trialEnd?: number | 'now';
369
+ metadata?: Record<string, string>;
370
+ defaultPaymentMethod?: string;
293
371
  }
294
372
  export interface StripeService {
295
373
  initializeStripe(): Promise<Stripe>;
@@ -300,13 +378,19 @@ export interface StripeService {
300
378
  createRefund(params: RefundParams): Promise<Stripe.Refund>;
301
379
  handleWebhook(event: Stripe.Event): Promise<void>;
302
380
  constructEvent(payload: string | Buffer, signature: string): Promise<Stripe.Event>;
303
- updateStrapiOrder(orderId: string, data: any): Promise<void>;
304
- updateStrapiCustomer(customerId: string, data: any): Promise<void>;
305
- createStrapiPaymentRecord(paymentIntent: Stripe.PaymentIntent): Promise<any>;
306
- createCustomerRecord(data: any): Promise<any>;
307
- createOrderRecord(data: any): Promise<any>;
308
- initializePaymentFlow(params: any): Promise<any>;
381
+ updateStrapiOrder(orderId: string, data: Partial<OrderInput>): Promise<void>;
382
+ updateStrapiCustomer(customerId: string, data: Partial<CustomerInput>): Promise<void>;
383
+ createStrapiPaymentRecord(paymentIntent: Stripe.PaymentIntent): Promise<unknown>;
384
+ createCustomerRecord(data: CustomerInput): Promise<unknown>;
385
+ createOrderRecord(data: CreateOrderData): Promise<unknown>;
386
+ initializePaymentFlow(params: InitializePaymentFlowParams): Promise<unknown>;
309
387
  getStripe(): Stripe | null;
388
+ createSubscription(params: CreateSubscriptionParams): Promise<Stripe.Subscription>;
389
+ cancelSubscription(stripeSubscriptionId: string, cancelAtPeriodEnd?: boolean): Promise<Stripe.Subscription>;
390
+ updateSubscription(stripeSubscriptionId: string, params: UpdateSubscriptionParams): Promise<Stripe.Subscription>;
391
+ retrieveSubscription(stripeSubscriptionId: string): Promise<Stripe.Subscription>;
392
+ createStrapiSubscriptionRecord(subscription: Stripe.Subscription, strapiCustomerId?: string): Promise<unknown>;
393
+ updateStrapiSubscription(stripeSubscriptionId: string, data: Partial<SubscriptionInput>): Promise<void>;
310
394
  }
311
395
  declare const stripeService: ({ strapi }: {
312
396
  strapi: Core.Strapi;
@@ -1,12 +1,15 @@
1
+ import type { StripeAddress, OrderItem } from '../../types/plugin-config';
1
2
  export type PaymentStatus = 'pending' | 'succeeded' | 'failed' | 'canceled' | 'refunded';
2
3
  export type OrderStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'refunded';
4
+ export type SubscriptionStatus = 'active' | 'canceled' | 'incomplete' | 'incomplete_expired' | 'past_due' | 'paused' | 'trialing' | 'unpaid';
5
+ export type StripeMetadata = Record<string, string>;
3
6
  export interface PaymentInput {
4
7
  stripe_payment_intent_id: string;
5
8
  amount: number;
6
9
  currency: string;
7
10
  payment_status: PaymentStatus;
8
11
  payment_method?: string;
9
- metadata?: Record<string, any>;
12
+ metadata?: StripeMetadata;
10
13
  customer?: string;
11
14
  order?: string;
12
15
  }
@@ -17,8 +20,8 @@ export interface OrderInput {
17
20
  order_status: OrderStatus;
18
21
  payment_status: 'unpaid' | 'paid' | 'partially_paid' | 'refunded';
19
22
  customer?: string;
20
- items: Record<string, any>;
21
- metadata?: Record<string, any>;
23
+ items: OrderItem[];
24
+ metadata?: StripeMetadata;
22
25
  }
23
26
  export interface CustomerInput {
24
27
  email: string;
@@ -26,6 +29,22 @@ export interface CustomerInput {
26
29
  first_name: string;
27
30
  last_name: string;
28
31
  phone?: string;
29
- address?: Record<string, any>;
30
- metadata?: Record<string, any>;
32
+ address?: StripeAddress;
33
+ metadata?: StripeMetadata;
34
+ }
35
+ export interface SubscriptionInput {
36
+ stripe_subscription_id: string;
37
+ stripe_customer_id: string;
38
+ stripe_price_id: string;
39
+ stripe_product_id?: string;
40
+ status: SubscriptionStatus;
41
+ current_period_start?: string;
42
+ current_period_end?: string;
43
+ cancel_at_period_end?: boolean;
44
+ canceled_at?: string | null;
45
+ trial_start?: string | null;
46
+ trial_end?: string | null;
47
+ latest_invoice_id?: string;
48
+ metadata?: StripeMetadata;
49
+ customer?: string;
31
50
  }