@reeboot/strapi-payment-plugin 0.0.0 → 0.0.2

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 (81) hide show
  1. package/README.md +398 -66
  2. package/dist/_chunks/Analytics-C2GKvPDX.js +355 -0
  3. package/dist/_chunks/Analytics-Chydh3dg.mjs +355 -0
  4. package/dist/_chunks/App-BCbEuN6h.mjs +68 -0
  5. package/dist/_chunks/App-E2k2mo5p.js +70 -0
  6. package/dist/_chunks/Customers-B8BlQ1BO.mjs +273 -0
  7. package/dist/_chunks/Customers-D0O5ET5C.js +273 -0
  8. package/dist/_chunks/Dashboard-CuqclLak.js +180 -0
  9. package/dist/_chunks/Dashboard-D8-ifJqB.mjs +180 -0
  10. package/dist/_chunks/Orders-5WGSzPGo.js +308 -0
  11. package/dist/_chunks/Orders-ClJJaQrX.mjs +308 -0
  12. package/dist/_chunks/Payments-CIMyOC3n.js +489 -0
  13. package/dist/_chunks/Payments-CRnRBf48.mjs +489 -0
  14. package/dist/_chunks/Settings-BXMLePI_.js +357 -0
  15. package/dist/_chunks/Settings-TeAvV4RH.mjs +357 -0
  16. package/dist/_chunks/en-BJocyOVu.mjs +240 -0
  17. package/dist/_chunks/en-BkVAf_R4.js +240 -0
  18. package/dist/_chunks/index-BTk7a2T5.js +66 -0
  19. package/dist/_chunks/index-Bz8V_5zH.mjs +67 -0
  20. package/dist/admin/index.js +2 -63
  21. package/dist/admin/index.mjs +2 -63
  22. package/dist/admin/src/components/AnalyticsChart.d.ts +19 -0
  23. package/dist/admin/src/components/CustomerList.d.ts +21 -0
  24. package/dist/admin/src/components/OrderList.d.ts +27 -0
  25. package/dist/admin/src/components/PaymentCard.d.ts +39 -0
  26. package/dist/admin/src/components/PaymentList.d.ts +19 -0
  27. package/dist/admin/src/components/RefundModal.d.ts +15 -0
  28. package/dist/admin/src/pages/Analytics.d.ts +2 -0
  29. package/dist/admin/src/pages/Customers.d.ts +2 -0
  30. package/dist/admin/src/pages/Dashboard.d.ts +2 -0
  31. package/dist/admin/src/pages/HomePage.d.ts +1 -1
  32. package/dist/admin/src/pages/Orders.d.ts +2 -0
  33. package/dist/admin/src/pages/Payments.d.ts +2 -0
  34. package/dist/admin/src/pages/Settings.d.ts +2 -0
  35. package/dist/server/index.js +1827 -7101
  36. package/dist/server/index.mjs +1826 -7100
  37. package/dist/server/src/config/index.d.ts +2 -10
  38. package/dist/server/src/content-types/customer/index.d.ts +69 -0
  39. package/dist/server/src/content-types/index.d.ts +207 -1
  40. package/dist/server/src/content-types/order/index.d.ts +70 -0
  41. package/dist/server/src/content-types/payment/index.d.ts +69 -0
  42. package/dist/server/src/controllers/controller.d.ts +6 -9
  43. package/dist/server/src/controllers/index.d.ts +30 -35
  44. package/dist/server/src/controllers/stripe.d.ts +104 -0
  45. package/dist/server/src/index.d.ts +262 -110
  46. package/dist/server/src/middlewares/index.d.ts +19 -1
  47. package/dist/server/src/policies/index.d.ts +3 -1
  48. package/dist/server/src/routes/{admin-routes.d.ts → admin/index.d.ts} +4 -4
  49. package/dist/server/src/routes/content-api/index.d.ts +21 -0
  50. package/dist/server/src/routes/index.d.ts +10 -26
  51. package/dist/server/src/services/index.d.ts +2 -37
  52. package/dist/server/src/services/{stripeDriver.d.ts → stripe.d.ts} +52 -28
  53. package/dist/server/src/types/index.d.ts +179 -0
  54. package/package.json +20 -24
  55. package/dist/_chunks/App-BGle38NN.js +0 -1149
  56. package/dist/_chunks/App-DoUUpjp-.mjs +0 -1149
  57. package/dist/_chunks/en-B4KWt_jN.js +0 -4
  58. package/dist/_chunks/en-Byx4XI2L.mjs +0 -4
  59. package/dist/admin/src/components/Header.d.ts +0 -2
  60. package/dist/admin/src/components/NavigationMenu.d.ts +0 -2
  61. package/dist/admin/src/components/Sidebar.d.ts +0 -2
  62. package/dist/admin/src/components/TransactionDetailsModal.d.ts +0 -18
  63. package/dist/admin/src/components/TransactionList.d.ts +0 -18
  64. package/dist/admin/src/pages/ConfigurationPage.d.ts +0 -2
  65. package/dist/admin/src/pages/DashboardPage.d.ts +0 -2
  66. package/dist/admin/src/pages/ProductsPage.d.ts +0 -2
  67. package/dist/admin/src/pages/SubscriptionsPage.d.ts +0 -2
  68. package/dist/admin/src/pages/TransactionsPage.d.ts +0 -2
  69. package/dist/server/controllers/product.d.ts +0 -12
  70. package/dist/server/controllers/subscription.d.ts +0 -12
  71. package/dist/server/services/product.d.ts +0 -7
  72. package/dist/server/services/subscription.d.ts +0 -7
  73. package/dist/server/src/controllers/productController.d.ts +0 -9
  74. package/dist/server/src/controllers/subscriptionController.d.ts +0 -9
  75. package/dist/server/src/routes/content-api.d.ts +0 -12
  76. package/dist/server/src/routes/product-routes.d.ts +0 -13
  77. package/dist/server/src/routes/refund-routes.d.ts +0 -13
  78. package/dist/server/src/routes/subscription-routes.d.ts +0 -13
  79. package/dist/server/src/services/paypalDriver.d.ts +0 -7
  80. package/dist/server/src/services/service.d.ts +0 -33
  81. package/jest.config.js +0 -13
@@ -1,3 +1,5 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
1
3
  /// <reference types="stripe/types/crypto/crypto" />
2
4
  /// <reference types="stripe/types/shared" />
3
5
  /// <reference types="stripe/types/Errors" />
@@ -5,7 +7,7 @@
5
7
  /// <reference types="stripe/types/Webhooks" />
6
8
  /// <reference types="stripe/types/EventTypes" />
7
9
  /// <reference types="stripe/types/UpcomingInvoices" />
8
- /// <reference types="stripe/types/ThinEvent" />
10
+ /// <reference types="stripe/types/Deprecations" />
9
11
  /// <reference types="stripe/types/AccountLinksResource" />
10
12
  /// <reference types="stripe/types/AccountSessionsResource" />
11
13
  /// <reference types="stripe/types/AccountsResource" />
@@ -15,9 +17,6 @@
15
17
  /// <reference types="stripe/types/BalanceResource" />
16
18
  /// <reference types="stripe/types/BalanceTransactionsResource" />
17
19
  /// <reference types="stripe/types/Billing/AlertsResource" />
18
- /// <reference types="stripe/types/Billing/CreditBalanceSummaryResource" />
19
- /// <reference types="stripe/types/Billing/CreditBalanceTransactionsResource" />
20
- /// <reference types="stripe/types/Billing/CreditGrantsResource" />
21
20
  /// <reference types="stripe/types/Billing/MeterEventAdjustmentsResource" />
22
21
  /// <reference types="stripe/types/Billing/MeterEventsResource" />
23
22
  /// <reference types="stripe/types/Billing/MetersResource" />
@@ -49,7 +48,6 @@
49
48
  /// <reference types="stripe/types/Identity/VerificationReportsResource" />
50
49
  /// <reference types="stripe/types/Identity/VerificationSessionsResource" />
51
50
  /// <reference types="stripe/types/InvoiceItemsResource" />
52
- /// <reference types="stripe/types/InvoicePaymentsResource" />
53
51
  /// <reference types="stripe/types/InvoiceRenderingTemplatesResource" />
54
52
  /// <reference types="stripe/types/InvoicesResource" />
55
53
  /// <reference types="stripe/types/Issuing/AuthorizationsResource" />
@@ -125,13 +123,6 @@
125
123
  /// <reference types="stripe/types/Treasury/ReceivedDebitsResource" />
126
124
  /// <reference types="stripe/types/Treasury/TransactionEntriesResource" />
127
125
  /// <reference types="stripe/types/Treasury/TransactionsResource" />
128
- /// <reference types="stripe/types/V2/Billing/MeterEventAdjustmentsResource" />
129
- /// <reference types="stripe/types/V2/Billing/MeterEventSessionResource" />
130
- /// <reference types="stripe/types/V2/Billing/MeterEventStreamResource" />
131
- /// <reference types="stripe/types/V2/Billing/MeterEventsResource" />
132
- /// <reference types="stripe/types/V2/Core/EventDestinationsResource" />
133
- /// <reference types="stripe/types/V2/EventTypes" />
134
- /// <reference types="stripe/types/V2/Core/EventsResource" />
135
126
  /// <reference types="stripe/types/WebhookEndpointsResource" />
136
127
  /// <reference types="stripe/types/AccountLinks" />
137
128
  /// <reference types="stripe/types/AccountSessions" />
@@ -146,9 +137,6 @@
146
137
  /// <reference types="stripe/types/BankAccounts" />
147
138
  /// <reference types="stripe/types/Billing/AlertTriggereds" />
148
139
  /// <reference types="stripe/types/Billing/Alerts" />
149
- /// <reference types="stripe/types/Billing/CreditBalanceSummary" />
150
- /// <reference types="stripe/types/Billing/CreditBalanceTransactions" />
151
- /// <reference types="stripe/types/Billing/CreditGrants" />
152
140
  /// <reference types="stripe/types/Billing/MeterEventAdjustments" />
153
141
  /// <reference types="stripe/types/Billing/MeterEventSummaries" />
154
142
  /// <reference types="stripe/types/Billing/MeterEvents" />
@@ -197,7 +185,6 @@
197
185
  /// <reference types="stripe/types/Identity/VerificationSessions" />
198
186
  /// <reference types="stripe/types/InvoiceItems" />
199
187
  /// <reference types="stripe/types/InvoiceLineItems" />
200
- /// <reference types="stripe/types/InvoicePayments" />
201
188
  /// <reference types="stripe/types/InvoiceRenderingTemplates" />
202
189
  /// <reference types="stripe/types/Invoices" />
203
190
  /// <reference types="stripe/types/Issuing/Authorizations" />
@@ -272,19 +259,56 @@
272
259
  /// <reference types="stripe/types/Treasury/ReceivedDebits" />
273
260
  /// <reference types="stripe/types/Treasury/TransactionEntries" />
274
261
  /// <reference types="stripe/types/Treasury/Transactions" />
275
- /// <reference types="stripe/types/V2/Billing/MeterEventAdjustments" />
276
- /// <reference types="stripe/types/V2/Billing/MeterEventSessions" />
277
- /// <reference types="stripe/types/V2/Billing/MeterEvents" />
278
- /// <reference types="stripe/types/V2/EventDestinations" />
279
- /// <reference types="stripe/types/V2/Events" />
262
+ /// <reference types="stripe/types/UsageRecordSummaries" />
263
+ /// <reference types="stripe/types/UsageRecords" />
280
264
  /// <reference types="stripe/types/WebhookEndpoints" />
281
265
  /// <reference types="stripe/types/lib" />
282
266
  /// <reference types="stripe/types/net/net" />
283
267
  import Stripe from 'stripe';
284
- declare const _default: {
285
- initializePayment(amount: any, currency: any, orderId: any, options: any): Promise<Stripe.Response<Stripe.PaymentIntent>>;
286
- processWebhook(payload: any, signature: any): Promise<Stripe.Event>;
287
- refundPayment(transactionId: any, amount: any, options: any): Promise<Stripe.Response<Stripe.Refund>>;
288
- getPaymentDetails(transactionId: any): Promise<Stripe.Response<Stripe.PaymentIntent>>;
289
- };
290
- export default _default;
268
+ import type { Core } from '@strapi/strapi';
269
+ interface PaymentIntentParams {
270
+ amount: number;
271
+ currency: string;
272
+ metadata?: Record<string, any>;
273
+ customer?: string;
274
+ orderId?: string;
275
+ customerId?: string;
276
+ payment_method?: string;
277
+ confirm?: boolean;
278
+ }
279
+ interface CreateCustomerParams {
280
+ email: string;
281
+ firstName: string;
282
+ lastName: string;
283
+ phone?: string;
284
+ address?: Record<string, any>;
285
+ metadata?: Record<string, any>;
286
+ strapiCustomerId?: string;
287
+ }
288
+ interface RefundParams {
289
+ paymentIntentId: string;
290
+ amount?: number;
291
+ reason?: Stripe.RefundCreateParams.Reason;
292
+ metadata?: Record<string, any>;
293
+ }
294
+ export interface StripeService {
295
+ initializeStripe(): Promise<Stripe>;
296
+ createPaymentIntent(params: PaymentIntentParams): Promise<Stripe.PaymentIntent>;
297
+ confirmPayment(paymentIntentId: string): Promise<Stripe.PaymentIntent>;
298
+ createCustomer(params: CreateCustomerParams): Promise<Stripe.Customer>;
299
+ retrieveCustomer(customerId: string): Promise<Stripe.Customer | Stripe.DeletedCustomer>;
300
+ createRefund(params: RefundParams): Promise<Stripe.Refund>;
301
+ handleWebhook(event: Stripe.Event): Promise<void>;
302
+ 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>;
309
+ getStripe(): Stripe | null;
310
+ }
311
+ declare const stripeService: ({ strapi }: {
312
+ strapi: Core.Strapi;
313
+ }) => StripeService;
314
+ export default stripeService;
@@ -0,0 +1,179 @@
1
+ export type PaymentStatus = 'pending' | 'succeeded' | 'failed' | 'canceled' | 'refunded';
2
+ export type OrderStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'refunded';
3
+ export interface PaymentInput {
4
+ stripe_payment_intent_id: string;
5
+ amount: number;
6
+ currency: string;
7
+ status: PaymentStatus;
8
+ payment_method?: string;
9
+ metadata?: Record<string, any>;
10
+ customer?: string;
11
+ order?: string;
12
+ }
13
+ export interface OrderInput {
14
+ order_number: string;
15
+ total_amount: number;
16
+ currency: string;
17
+ status: OrderStatus;
18
+ customer?: string;
19
+ items: Record<string, any>;
20
+ metadata?: Record<string, any>;
21
+ }
22
+ export interface CustomerInput {
23
+ email: string;
24
+ stripe_customer_id: string;
25
+ first_name: string;
26
+ last_name: string;
27
+ phone?: string;
28
+ address?: Record<string, any>;
29
+ metadata?: Record<string, any>;
30
+ }
31
+ export interface PaymentDocument {
32
+ documentId: string;
33
+ createdAt: string;
34
+ updatedAt: string;
35
+ publishedAt?: string;
36
+ amount: number;
37
+ currency: string;
38
+ status: PaymentStatus;
39
+ payment_method?: string;
40
+ metadata?: Record<string, any>;
41
+ stripe_payment_intent_id: string;
42
+ customer?: CustomerDocument;
43
+ order?: OrderDocument;
44
+ }
45
+ export interface OrderDocument {
46
+ documentId: string;
47
+ createdAt: string;
48
+ updatedAt: string;
49
+ publishedAt?: string;
50
+ order_number: string;
51
+ total_amount: number;
52
+ currency: string;
53
+ status: OrderStatus;
54
+ items: Record<string, any>;
55
+ metadata?: Record<string, any>;
56
+ customer?: CustomerDocument;
57
+ payments?: PaymentDocument[];
58
+ }
59
+ export interface CustomerDocument {
60
+ documentId: string;
61
+ createdAt: string;
62
+ updatedAt: string;
63
+ publishedAt?: string;
64
+ email: string;
65
+ stripe_customer_id: string;
66
+ first_name: string;
67
+ last_name: string;
68
+ phone?: string;
69
+ address?: Record<string, any>;
70
+ metadata?: Record<string, any>;
71
+ orders?: OrderDocument[];
72
+ payments?: PaymentDocument[];
73
+ }
74
+ export interface PaymentFilters {
75
+ stripe_payment_intent_id?: {
76
+ $eq: string;
77
+ };
78
+ amount?: {
79
+ $eq: number;
80
+ };
81
+ currency?: {
82
+ $eq: string;
83
+ };
84
+ status?: {
85
+ $eq: PaymentStatus;
86
+ };
87
+ payment_method?: {
88
+ $eq: string;
89
+ };
90
+ customer?: {
91
+ $eq: string;
92
+ };
93
+ order?: {
94
+ $eq: string;
95
+ };
96
+ createdAt?: {
97
+ $gte: string;
98
+ $lte: string;
99
+ };
100
+ $or?: PaymentFilters[];
101
+ }
102
+ export interface OrderFilters {
103
+ order_number?: {
104
+ $eq: string;
105
+ };
106
+ total_amount?: {
107
+ $eq: number;
108
+ };
109
+ currency?: {
110
+ $eq: string;
111
+ };
112
+ status?: {
113
+ $eq: OrderStatus;
114
+ };
115
+ customer?: {
116
+ $eq: string;
117
+ };
118
+ createdAt?: {
119
+ $gte: string;
120
+ $lte: string;
121
+ };
122
+ $or?: OrderFilters[];
123
+ }
124
+ export interface CustomerFilters {
125
+ email?: {
126
+ $eq: string;
127
+ $containsi: string;
128
+ };
129
+ stripe_customer_id?: {
130
+ $eq: string;
131
+ };
132
+ first_name?: {
133
+ $eq: string;
134
+ $containsi: string;
135
+ };
136
+ last_name?: {
137
+ $eq: string;
138
+ $containsi: string;
139
+ };
140
+ createdAt?: {
141
+ $gte: string;
142
+ $lte: string;
143
+ };
144
+ }
145
+ export interface ApiResponse<T> {
146
+ success: boolean;
147
+ data: T;
148
+ meta?: {
149
+ pagination?: {
150
+ page: number;
151
+ pageSize: number;
152
+ pageCount: number;
153
+ total: number;
154
+ };
155
+ };
156
+ }
157
+ export interface StripePaymentIntent {
158
+ id: string;
159
+ amount: number;
160
+ currency: string;
161
+ status: string;
162
+ created: number;
163
+ metadata: Record<string, string>;
164
+ client_secret?: string;
165
+ }
166
+ export interface StripeCustomer {
167
+ id: string;
168
+ email?: string;
169
+ name?: string;
170
+ created: number;
171
+ metadata: Record<string, string>;
172
+ }
173
+ export interface StripeRefund {
174
+ id: string;
175
+ amount: number;
176
+ currency: string;
177
+ status: string;
178
+ reason?: string;
179
+ }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.0",
2
+ "version": "0.0.2",
3
3
  "keywords": [],
4
4
  "type": "commonjs",
5
5
  "exports": {
@@ -31,45 +31,41 @@
31
31
  "test:ts:back": "run -T tsc -p server/tsconfig.json"
32
32
  },
33
33
  "dependencies": {
34
- "@paypal/checkout-server-sdk": "^1.0.0",
35
- "@strapi/design-system": "^2.0.0-rc.29",
36
- "@strapi/icons": "^2.0.0-rc.29",
37
- "formik": "^2.4.6",
38
- "react-intl": "^7.1.11"
34
+ "@strapi/design-system": "^2.1.0",
35
+ "@strapi/ui-primitives": "^2.1.0",
36
+ "@strapi/icons": "^2.1.0",
37
+ "react-intl": "^8.0.9",
38
+ "stripe": "^16.0.0"
39
39
  },
40
40
  "devDependencies": {
41
- "@strapi/sdk-plugin": "^5.3.2",
42
- "@strapi/strapi": "^5.19.0",
43
- "@strapi/typescript-utils": "^5.19.0",
44
- "@types/jest": "^30.0.0",
45
- "@types/react": "^19.1.9",
46
- "@types/react-dom": "^19.1.7",
47
- "jest": "^30.0.5",
48
- "prettier": "^3.6.2",
41
+ "@strapi/strapi": "^5.33.1",
42
+ "@strapi/sdk-plugin": "^5.4.0",
43
+ "prettier": "^3.7.4",
49
44
  "react": "^18.3.1",
50
45
  "react-dom": "^18.3.1",
51
- "react-router-dom": "^6.30.1",
46
+ "react-router-dom": "^6.30.2",
52
47
  "styled-components": "^6.1.19",
53
- "ts-jest": "^29.4.0",
54
- "typescript": "^5.8.3"
48
+ "@types/react": "^19.2.7",
49
+ "@types/react-dom": "^19.2.3",
50
+ "@strapi/typescript-utils": "^5.33.1",
51
+ "typescript": "^5.9.3"
55
52
  },
56
53
  "peerDependencies": {
57
- "@strapi/sdk-plugin": "^5.3.2",
58
- "@strapi/strapi": "^5.19.0",
54
+ "@strapi/strapi": "^5.33.1",
55
+ "@strapi/sdk-plugin": "^5.4.0",
59
56
  "react": "^18.3.1",
60
57
  "react-dom": "^18.3.1",
61
- "react-router-dom": "^6.30.1",
58
+ "react-router-dom": "^6.30.2",
62
59
  "styled-components": "^6.1.19"
63
60
  },
64
61
  "strapi": {
65
62
  "kind": "plugin",
66
63
  "name": "payment-plugin",
67
64
  "displayName": "",
68
- "description": ""
65
+ "description": "Handle payments"
69
66
  },
70
67
  "name": "@reeboot/strapi-payment-plugin",
71
- "description": "Paypal & Stripe integration for Strapi",
68
+ "description": "Handle payments",
72
69
  "license": "MIT",
73
- "author": "Reeboot <contact@reeboot.fr>",
74
- "main": "jest.config.js"
70
+ "author": "Bastoun"
75
71
  }