@shophost/rest-api 2.0.61 → 2.0.62
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.
- package/package.json +1 -1
- package/src/bootstrap.js +1 -1
- package/src/bootstrap.js.map +1 -1
- package/src/container.d.ts +4 -0
- package/src/container.js +1 -1
- package/src/container.js.map +1 -1
- package/src/core/lib/prisma.d.ts +24 -24
- package/src/core/notifications/email.service.d.ts +12 -14
- package/src/core/notifications/email.service.js +1 -1
- package/src/core/notifications/email.service.js.map +1 -1
- package/src/features/access/access.route.d.ts +6 -6
- package/src/features/cart/cart.route.d.ts +15 -15
- package/src/features/cart/cart.schema.d.ts +27 -27
- package/src/features/cart/cart.service.d.ts +4 -4
- package/src/features/customer/customer.route.d.ts +9 -9
- package/src/features/customer/customer.schema.d.ts +9 -9
- package/src/features/customer/customer.service.d.ts +1 -1
- package/src/features/integration/integration-registry.d.ts +10 -10
- package/src/features/integration/integration-registry.js +1 -1
- package/src/features/integration/integration-registry.js.map +1 -1
- package/src/features/integration/integration.service.d.ts +5 -1
- package/src/features/integration/integration.service.js +1 -1
- package/src/features/integration/integration.service.js.map +1 -1
- package/src/features/manufacturer/manufacturer.route.d.ts +14 -14
- package/src/features/manufacturer/manufacturer.schema.d.ts +1 -1
- package/src/features/manufacturer/manufacturer.service.d.ts +2 -2
- package/src/features/order/order-fulfillment.service.d.ts +12 -0
- package/src/features/order/order-fulfillment.service.js +1 -0
- package/src/features/order/order-fulfillment.service.js.map +1 -0
- package/src/features/order/order.route.d.ts +61 -61
- package/src/features/order/order.schema.d.ts +14 -14
- package/src/features/order/order.service.d.ts +10 -6
- package/src/features/order/order.service.js +1 -1
- package/src/features/order/order.service.js.map +1 -1
- package/src/features/order/recipient.schema.d.ts +2 -2
- package/src/features/organization/organization-configuration.schema.d.ts +25 -25
- package/src/features/organization/organization.route.d.ts +67 -67
- package/src/features/organization/organization.schema.d.ts +25 -25
- package/src/features/organization/organization.service.d.ts +8 -8
- package/src/features/payment/payment-webhook.service.d.ts +12 -0
- package/src/features/payment/payment-webhook.service.js +1 -0
- package/src/features/payment/payment-webhook.service.js.map +1 -0
- package/src/features/payment/payment.service.d.ts +3 -12
- package/src/features/payment/payment.service.js +1 -1
- package/src/features/payment/payment.service.js.map +1 -1
- package/src/features/payment/stripe.service.d.ts +22 -32
- package/src/features/payment/stripe.service.js +1 -1
- package/src/features/payment/stripe.service.js.map +1 -1
- package/src/features/product/product-modifier.schema.d.ts +30 -30
- package/src/features/product/product.route.d.ts +182 -182
- package/src/features/product/product.schema.d.ts +65 -65
- package/src/features/product/product.service.d.ts +26 -26
- package/src/features/product-category/product-category.route.d.ts +14 -14
- package/src/features/product-category/product-category.schema.d.ts +1 -1
- package/src/features/product-category/product-category.service.d.ts +2 -2
- package/src/features/reservation/reservation.route.d.ts +12 -12
- package/src/features/reservation/reservation.schema.d.ts +6 -6
- package/src/features/reservation/reservation.service.d.ts +3 -5
- package/src/features/reservation/reservation.service.js +1 -1
- package/src/features/reservation/reservation.service.js.map +1 -1
- package/src/features/shipping-method/shipping-method.route.d.ts +6 -6
- package/src/features/webhook/webhook.handler.d.ts +2 -2
- package/src/features/webhook/webhook.handler.js +1 -1
- package/src/features/webhook/webhook.handler.js.map +1 -1
- package/src/schemas/locales.schema.d.ts +6 -6
- package/src/schemas/pagination.schema.d.ts +6 -6
- package/src/schemas/queries.schema.d.ts +6 -6
|
@@ -31,7 +31,13 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
31
31
|
isAcceptingReservations: z.ZodBoolean;
|
|
32
32
|
isOpen: z.ZodDefault<z.ZodBoolean>;
|
|
33
33
|
defaultLocale: z.ZodEnum<{
|
|
34
|
+
hr: "hr";
|
|
35
|
+
th: "th";
|
|
36
|
+
tr: "tr";
|
|
34
37
|
id: "id";
|
|
38
|
+
is: "is";
|
|
39
|
+
mt: "mt";
|
|
40
|
+
ml: "ml";
|
|
35
41
|
af: "af";
|
|
36
42
|
sq: "sq";
|
|
37
43
|
ar_dz: "ar_dz";
|
|
@@ -58,7 +64,6 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
58
64
|
zh_cn: "zh_cn";
|
|
59
65
|
zh_sg: "zh_sg";
|
|
60
66
|
zh_tw: "zh_tw";
|
|
61
|
-
hr: "hr";
|
|
62
67
|
cs: "cs";
|
|
63
68
|
da: "da";
|
|
64
69
|
nl_be: "nl_be";
|
|
@@ -93,7 +98,6 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
93
98
|
he: "he";
|
|
94
99
|
hi: "hi";
|
|
95
100
|
hu: "hu";
|
|
96
|
-
is: "is";
|
|
97
101
|
ga: "ga";
|
|
98
102
|
it: "it";
|
|
99
103
|
it_ch: "it_ch";
|
|
@@ -103,9 +107,7 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
103
107
|
lv: "lv";
|
|
104
108
|
lt: "lt";
|
|
105
109
|
mk: "mk";
|
|
106
|
-
ml: "ml";
|
|
107
110
|
ms: "ms";
|
|
108
|
-
mt: "mt";
|
|
109
111
|
no: "no";
|
|
110
112
|
nb: "nb";
|
|
111
113
|
nn: "nn";
|
|
@@ -136,8 +138,6 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
136
138
|
es: "es";
|
|
137
139
|
sv: "sv";
|
|
138
140
|
sv_fi: "sv_fi";
|
|
139
|
-
th: "th";
|
|
140
|
-
tr: "tr";
|
|
141
141
|
uk: "uk";
|
|
142
142
|
ur: "ur";
|
|
143
143
|
vi: "vi";
|
|
@@ -146,7 +146,13 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
146
146
|
zu: "zu";
|
|
147
147
|
}>;
|
|
148
148
|
supportedLocales: z.ZodArray<z.ZodEnum<{
|
|
149
|
+
hr: "hr";
|
|
150
|
+
th: "th";
|
|
151
|
+
tr: "tr";
|
|
149
152
|
id: "id";
|
|
153
|
+
is: "is";
|
|
154
|
+
mt: "mt";
|
|
155
|
+
ml: "ml";
|
|
150
156
|
af: "af";
|
|
151
157
|
sq: "sq";
|
|
152
158
|
ar_dz: "ar_dz";
|
|
@@ -173,7 +179,6 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
173
179
|
zh_cn: "zh_cn";
|
|
174
180
|
zh_sg: "zh_sg";
|
|
175
181
|
zh_tw: "zh_tw";
|
|
176
|
-
hr: "hr";
|
|
177
182
|
cs: "cs";
|
|
178
183
|
da: "da";
|
|
179
184
|
nl_be: "nl_be";
|
|
@@ -208,7 +213,6 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
208
213
|
he: "he";
|
|
209
214
|
hi: "hi";
|
|
210
215
|
hu: "hu";
|
|
211
|
-
is: "is";
|
|
212
216
|
ga: "ga";
|
|
213
217
|
it: "it";
|
|
214
218
|
it_ch: "it_ch";
|
|
@@ -218,9 +222,7 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
218
222
|
lv: "lv";
|
|
219
223
|
lt: "lt";
|
|
220
224
|
mk: "mk";
|
|
221
|
-
ml: "ml";
|
|
222
225
|
ms: "ms";
|
|
223
|
-
mt: "mt";
|
|
224
226
|
no: "no";
|
|
225
227
|
nb: "nb";
|
|
226
228
|
nn: "nn";
|
|
@@ -251,8 +253,6 @@ export declare const OrganizationSchema: z.ZodObject<{
|
|
|
251
253
|
es: "es";
|
|
252
254
|
sv: "sv";
|
|
253
255
|
sv_fi: "sv_fi";
|
|
254
|
-
th: "th";
|
|
255
|
-
tr: "tr";
|
|
256
256
|
uk: "uk";
|
|
257
257
|
ur: "ur";
|
|
258
258
|
vi: "vi";
|
|
@@ -371,6 +371,7 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
371
371
|
placeId: z.ZodOptional<z.ZodString>;
|
|
372
372
|
}, z.core.$strip>>;
|
|
373
373
|
configuration: z.ZodOptional<z.ZodObject<{
|
|
374
|
+
hostname: z.ZodOptional<z.ZodOptional<z.ZodCoercedString<unknown>>>;
|
|
374
375
|
openingTimes: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
375
376
|
monday: z.ZodNullable<z.ZodString>;
|
|
376
377
|
tuesday: z.ZodNullable<z.ZodString>;
|
|
@@ -390,7 +391,13 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
390
391
|
sunday: z.ZodNullable<z.ZodString>;
|
|
391
392
|
}, z.core.$strip>>>;
|
|
392
393
|
defaultLocale: z.ZodOptional<z.ZodEnum<{
|
|
394
|
+
hr: "hr";
|
|
395
|
+
th: "th";
|
|
396
|
+
tr: "tr";
|
|
393
397
|
id: "id";
|
|
398
|
+
is: "is";
|
|
399
|
+
mt: "mt";
|
|
400
|
+
ml: "ml";
|
|
394
401
|
af: "af";
|
|
395
402
|
sq: "sq";
|
|
396
403
|
ar_dz: "ar_dz";
|
|
@@ -417,7 +424,6 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
417
424
|
zh_cn: "zh_cn";
|
|
418
425
|
zh_sg: "zh_sg";
|
|
419
426
|
zh_tw: "zh_tw";
|
|
420
|
-
hr: "hr";
|
|
421
427
|
cs: "cs";
|
|
422
428
|
da: "da";
|
|
423
429
|
nl_be: "nl_be";
|
|
@@ -452,7 +458,6 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
452
458
|
he: "he";
|
|
453
459
|
hi: "hi";
|
|
454
460
|
hu: "hu";
|
|
455
|
-
is: "is";
|
|
456
461
|
ga: "ga";
|
|
457
462
|
it: "it";
|
|
458
463
|
it_ch: "it_ch";
|
|
@@ -462,9 +467,7 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
462
467
|
lv: "lv";
|
|
463
468
|
lt: "lt";
|
|
464
469
|
mk: "mk";
|
|
465
|
-
ml: "ml";
|
|
466
470
|
ms: "ms";
|
|
467
|
-
mt: "mt";
|
|
468
471
|
no: "no";
|
|
469
472
|
nb: "nb";
|
|
470
473
|
nn: "nn";
|
|
@@ -495,8 +498,6 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
495
498
|
es: "es";
|
|
496
499
|
sv: "sv";
|
|
497
500
|
sv_fi: "sv_fi";
|
|
498
|
-
th: "th";
|
|
499
|
-
tr: "tr";
|
|
500
501
|
uk: "uk";
|
|
501
502
|
ur: "ur";
|
|
502
503
|
vi: "vi";
|
|
@@ -504,7 +505,6 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
504
505
|
ji: "ji";
|
|
505
506
|
zu: "zu";
|
|
506
507
|
}>>;
|
|
507
|
-
hostname: z.ZodOptional<z.ZodOptional<z.ZodCoercedString<unknown>>>;
|
|
508
508
|
countriesShipping: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
509
509
|
stripeAccountId: z.ZodOptional<z.ZodOptional<z.ZodCoercedString<unknown>>>;
|
|
510
510
|
enableHostCheckout: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -512,7 +512,13 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
512
512
|
isAcceptingOrders: z.ZodOptional<z.ZodBoolean>;
|
|
513
513
|
isAcceptingReservations: z.ZodOptional<z.ZodBoolean>;
|
|
514
514
|
supportedLocales: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
515
|
+
hr: "hr";
|
|
516
|
+
th: "th";
|
|
517
|
+
tr: "tr";
|
|
515
518
|
id: "id";
|
|
519
|
+
is: "is";
|
|
520
|
+
mt: "mt";
|
|
521
|
+
ml: "ml";
|
|
516
522
|
af: "af";
|
|
517
523
|
sq: "sq";
|
|
518
524
|
ar_dz: "ar_dz";
|
|
@@ -539,7 +545,6 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
539
545
|
zh_cn: "zh_cn";
|
|
540
546
|
zh_sg: "zh_sg";
|
|
541
547
|
zh_tw: "zh_tw";
|
|
542
|
-
hr: "hr";
|
|
543
548
|
cs: "cs";
|
|
544
549
|
da: "da";
|
|
545
550
|
nl_be: "nl_be";
|
|
@@ -574,7 +579,6 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
574
579
|
he: "he";
|
|
575
580
|
hi: "hi";
|
|
576
581
|
hu: "hu";
|
|
577
|
-
is: "is";
|
|
578
582
|
ga: "ga";
|
|
579
583
|
it: "it";
|
|
580
584
|
it_ch: "it_ch";
|
|
@@ -584,9 +588,7 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
584
588
|
lv: "lv";
|
|
585
589
|
lt: "lt";
|
|
586
590
|
mk: "mk";
|
|
587
|
-
ml: "ml";
|
|
588
591
|
ms: "ms";
|
|
589
|
-
mt: "mt";
|
|
590
592
|
no: "no";
|
|
591
593
|
nb: "nb";
|
|
592
594
|
nn: "nn";
|
|
@@ -617,8 +619,6 @@ export declare const UpdateOrganizationSchema: z.ZodObject<{
|
|
|
617
619
|
es: "es";
|
|
618
620
|
sv: "sv";
|
|
619
621
|
sv_fi: "sv_fi";
|
|
620
|
-
th: "th";
|
|
621
|
-
tr: "tr";
|
|
622
622
|
uk: "uk";
|
|
623
623
|
ur: "ur";
|
|
624
624
|
vi: "vi";
|
|
@@ -51,8 +51,8 @@ declare class OrganizationService {
|
|
|
51
51
|
isAcceptingOrders: boolean;
|
|
52
52
|
isAcceptingReservations: boolean;
|
|
53
53
|
isOpen: boolean;
|
|
54
|
-
defaultLocale: "id" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "
|
|
55
|
-
supportedLocales: ("id" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "
|
|
54
|
+
defaultLocale: "hr" | "th" | "tr" | "id" | "is" | "mt" | "ml" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "cs" | "da" | "nl_be" | "nl" | "en" | "en_au" | "en_bz" | "en_ca" | "en_ie" | "en_jm" | "en_nz" | "en_za" | "en_tt" | "en_gb" | "en_us" | "et" | "fo" | "fa" | "fi" | "fr_be" | "fr_ca" | "fr_lu" | "fr" | "fr_ch" | "gd" | "de_at" | "de_li" | "de_lu" | "de" | "de_ch" | "el" | "he" | "hi" | "hu" | "ga" | "it" | "it_ch" | "ja" | "ko" | "ku" | "lv" | "lt" | "mk" | "ms" | "no" | "nb" | "nn" | "pl" | "pt_br" | "pt" | "pa" | "rm" | "ro" | "ro_md" | "ru" | "ru_md" | "sr" | "sk" | "sl" | "sb" | "es_ar" | "es_bo" | "es_cl" | "es_co" | "es_cr" | "es_do" | "es_ec" | "es_sv" | "es_gt" | "es_hn" | "es_mx" | "es" | "sv" | "sv_fi" | "uk" | "ur" | "vi" | "cy" | "ji" | "zu";
|
|
55
|
+
supportedLocales: ("hr" | "th" | "tr" | "id" | "is" | "mt" | "ml" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "cs" | "da" | "nl_be" | "nl" | "en" | "en_au" | "en_bz" | "en_ca" | "en_ie" | "en_jm" | "en_nz" | "en_za" | "en_tt" | "en_gb" | "en_us" | "et" | "fo" | "fa" | "fi" | "fr_be" | "fr_ca" | "fr_lu" | "fr" | "fr_ch" | "gd" | "de_at" | "de_li" | "de_lu" | "de" | "de_ch" | "el" | "he" | "hi" | "hu" | "ga" | "it" | "it_ch" | "ja" | "ko" | "ku" | "lv" | "lt" | "mk" | "ms" | "no" | "nb" | "nn" | "pl" | "pt_br" | "pt" | "pa" | "rm" | "ro" | "ro_md" | "ru" | "ru_md" | "sr" | "sk" | "sl" | "sb" | "es_ar" | "es_bo" | "es_cl" | "es_co" | "es_cr" | "es_do" | "es_ec" | "es_sv" | "es_gt" | "es_hn" | "es_mx" | "es" | "sv" | "sv_fi" | "uk" | "ur" | "vi" | "cy" | "ji" | "zu")[];
|
|
56
56
|
defaultCurrency: "USD" | "EUR" | "GBP" | "JPY" | "AUD" | "CAD" | "CHF" | "CNY" | "SEK" | "NZD" | "MXN" | "SGD" | "HKD" | "NOK" | "KRW" | "TRY" | "RUB" | "INR" | "BRL" | "ZAR" | "DKK" | "PLN" | "THB" | "IDR" | "HUF" | "CZK" | "ILS" | "PHP" | "AED" | "COP" | "SAR" | "MYR" | "RON";
|
|
57
57
|
createdAt: Date;
|
|
58
58
|
hostname?: string | undefined;
|
|
@@ -123,8 +123,8 @@ declare class OrganizationService {
|
|
|
123
123
|
isAcceptingOrders: boolean;
|
|
124
124
|
isAcceptingReservations: boolean;
|
|
125
125
|
isOpen: boolean;
|
|
126
|
-
defaultLocale: "id" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "
|
|
127
|
-
supportedLocales: ("id" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "
|
|
126
|
+
defaultLocale: "hr" | "th" | "tr" | "id" | "is" | "mt" | "ml" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "cs" | "da" | "nl_be" | "nl" | "en" | "en_au" | "en_bz" | "en_ca" | "en_ie" | "en_jm" | "en_nz" | "en_za" | "en_tt" | "en_gb" | "en_us" | "et" | "fo" | "fa" | "fi" | "fr_be" | "fr_ca" | "fr_lu" | "fr" | "fr_ch" | "gd" | "de_at" | "de_li" | "de_lu" | "de" | "de_ch" | "el" | "he" | "hi" | "hu" | "ga" | "it" | "it_ch" | "ja" | "ko" | "ku" | "lv" | "lt" | "mk" | "ms" | "no" | "nb" | "nn" | "pl" | "pt_br" | "pt" | "pa" | "rm" | "ro" | "ro_md" | "ru" | "ru_md" | "sr" | "sk" | "sl" | "sb" | "es_ar" | "es_bo" | "es_cl" | "es_co" | "es_cr" | "es_do" | "es_ec" | "es_sv" | "es_gt" | "es_hn" | "es_mx" | "es" | "sv" | "sv_fi" | "uk" | "ur" | "vi" | "cy" | "ji" | "zu";
|
|
127
|
+
supportedLocales: ("hr" | "th" | "tr" | "id" | "is" | "mt" | "ml" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "cs" | "da" | "nl_be" | "nl" | "en" | "en_au" | "en_bz" | "en_ca" | "en_ie" | "en_jm" | "en_nz" | "en_za" | "en_tt" | "en_gb" | "en_us" | "et" | "fo" | "fa" | "fi" | "fr_be" | "fr_ca" | "fr_lu" | "fr" | "fr_ch" | "gd" | "de_at" | "de_li" | "de_lu" | "de" | "de_ch" | "el" | "he" | "hi" | "hu" | "ga" | "it" | "it_ch" | "ja" | "ko" | "ku" | "lv" | "lt" | "mk" | "ms" | "no" | "nb" | "nn" | "pl" | "pt_br" | "pt" | "pa" | "rm" | "ro" | "ro_md" | "ru" | "ru_md" | "sr" | "sk" | "sl" | "sb" | "es_ar" | "es_bo" | "es_cl" | "es_co" | "es_cr" | "es_do" | "es_ec" | "es_sv" | "es_gt" | "es_hn" | "es_mx" | "es" | "sv" | "sv_fi" | "uk" | "ur" | "vi" | "cy" | "ji" | "zu")[];
|
|
128
128
|
defaultCurrency: "USD" | "EUR" | "GBP" | "JPY" | "AUD" | "CAD" | "CHF" | "CNY" | "SEK" | "NZD" | "MXN" | "SGD" | "HKD" | "NOK" | "KRW" | "TRY" | "RUB" | "INR" | "BRL" | "ZAR" | "DKK" | "PLN" | "THB" | "IDR" | "HUF" | "CZK" | "ILS" | "PHP" | "AED" | "COP" | "SAR" | "MYR" | "RON";
|
|
129
129
|
createdAt: Date;
|
|
130
130
|
hostname?: string | undefined;
|
|
@@ -192,8 +192,8 @@ declare class OrganizationService {
|
|
|
192
192
|
isAcceptingOrders: boolean;
|
|
193
193
|
isAcceptingReservations: boolean;
|
|
194
194
|
isOpen: boolean;
|
|
195
|
-
defaultLocale: "id" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "
|
|
196
|
-
supportedLocales: ("id" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "
|
|
195
|
+
defaultLocale: "hr" | "th" | "tr" | "id" | "is" | "mt" | "ml" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "cs" | "da" | "nl_be" | "nl" | "en" | "en_au" | "en_bz" | "en_ca" | "en_ie" | "en_jm" | "en_nz" | "en_za" | "en_tt" | "en_gb" | "en_us" | "et" | "fo" | "fa" | "fi" | "fr_be" | "fr_ca" | "fr_lu" | "fr" | "fr_ch" | "gd" | "de_at" | "de_li" | "de_lu" | "de" | "de_ch" | "el" | "he" | "hi" | "hu" | "ga" | "it" | "it_ch" | "ja" | "ko" | "ku" | "lv" | "lt" | "mk" | "ms" | "no" | "nb" | "nn" | "pl" | "pt_br" | "pt" | "pa" | "rm" | "ro" | "ro_md" | "ru" | "ru_md" | "sr" | "sk" | "sl" | "sb" | "es_ar" | "es_bo" | "es_cl" | "es_co" | "es_cr" | "es_do" | "es_ec" | "es_sv" | "es_gt" | "es_hn" | "es_mx" | "es" | "sv" | "sv_fi" | "uk" | "ur" | "vi" | "cy" | "ji" | "zu";
|
|
196
|
+
supportedLocales: ("hr" | "th" | "tr" | "id" | "is" | "mt" | "ml" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "cs" | "da" | "nl_be" | "nl" | "en" | "en_au" | "en_bz" | "en_ca" | "en_ie" | "en_jm" | "en_nz" | "en_za" | "en_tt" | "en_gb" | "en_us" | "et" | "fo" | "fa" | "fi" | "fr_be" | "fr_ca" | "fr_lu" | "fr" | "fr_ch" | "gd" | "de_at" | "de_li" | "de_lu" | "de" | "de_ch" | "el" | "he" | "hi" | "hu" | "ga" | "it" | "it_ch" | "ja" | "ko" | "ku" | "lv" | "lt" | "mk" | "ms" | "no" | "nb" | "nn" | "pl" | "pt_br" | "pt" | "pa" | "rm" | "ro" | "ro_md" | "ru" | "ru_md" | "sr" | "sk" | "sl" | "sb" | "es_ar" | "es_bo" | "es_cl" | "es_co" | "es_cr" | "es_do" | "es_ec" | "es_sv" | "es_gt" | "es_hn" | "es_mx" | "es" | "sv" | "sv_fi" | "uk" | "ur" | "vi" | "cy" | "ji" | "zu")[];
|
|
197
197
|
defaultCurrency: "USD" | "EUR" | "GBP" | "JPY" | "AUD" | "CAD" | "CHF" | "CNY" | "SEK" | "NZD" | "MXN" | "SGD" | "HKD" | "NOK" | "KRW" | "TRY" | "RUB" | "INR" | "BRL" | "ZAR" | "DKK" | "PLN" | "THB" | "IDR" | "HUF" | "CZK" | "ILS" | "PHP" | "AED" | "COP" | "SAR" | "MYR" | "RON";
|
|
198
198
|
createdAt: Date;
|
|
199
199
|
hostname?: string | undefined;
|
|
@@ -261,8 +261,8 @@ declare class OrganizationService {
|
|
|
261
261
|
isAcceptingOrders: boolean;
|
|
262
262
|
isAcceptingReservations: boolean;
|
|
263
263
|
isOpen: boolean;
|
|
264
|
-
defaultLocale: "id" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "
|
|
265
|
-
supportedLocales: ("id" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "
|
|
264
|
+
defaultLocale: "hr" | "th" | "tr" | "id" | "is" | "mt" | "ml" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "cs" | "da" | "nl_be" | "nl" | "en" | "en_au" | "en_bz" | "en_ca" | "en_ie" | "en_jm" | "en_nz" | "en_za" | "en_tt" | "en_gb" | "en_us" | "et" | "fo" | "fa" | "fi" | "fr_be" | "fr_ca" | "fr_lu" | "fr" | "fr_ch" | "gd" | "de_at" | "de_li" | "de_lu" | "de" | "de_ch" | "el" | "he" | "hi" | "hu" | "ga" | "it" | "it_ch" | "ja" | "ko" | "ku" | "lv" | "lt" | "mk" | "ms" | "no" | "nb" | "nn" | "pl" | "pt_br" | "pt" | "pa" | "rm" | "ro" | "ro_md" | "ru" | "ru_md" | "sr" | "sk" | "sl" | "sb" | "es_ar" | "es_bo" | "es_cl" | "es_co" | "es_cr" | "es_do" | "es_ec" | "es_sv" | "es_gt" | "es_hn" | "es_mx" | "es" | "sv" | "sv_fi" | "uk" | "ur" | "vi" | "cy" | "ji" | "zu";
|
|
265
|
+
supportedLocales: ("hr" | "th" | "tr" | "id" | "is" | "mt" | "ml" | "af" | "sq" | "ar_dz" | "ar_bh" | "ar_eg" | "ar_iq" | "ar_jo" | "ar_kw" | "ar_lb" | "ar_ly" | "ar_ma" | "ar_om" | "ar_qa" | "ar_sa" | "ar_sy" | "ar_tn" | "ar_ae" | "ar_ye" | "eu" | "be" | "bg" | "ca" | "zh_hk" | "zh_cn" | "zh_sg" | "zh_tw" | "cs" | "da" | "nl_be" | "nl" | "en" | "en_au" | "en_bz" | "en_ca" | "en_ie" | "en_jm" | "en_nz" | "en_za" | "en_tt" | "en_gb" | "en_us" | "et" | "fo" | "fa" | "fi" | "fr_be" | "fr_ca" | "fr_lu" | "fr" | "fr_ch" | "gd" | "de_at" | "de_li" | "de_lu" | "de" | "de_ch" | "el" | "he" | "hi" | "hu" | "ga" | "it" | "it_ch" | "ja" | "ko" | "ku" | "lv" | "lt" | "mk" | "ms" | "no" | "nb" | "nn" | "pl" | "pt_br" | "pt" | "pa" | "rm" | "ro" | "ro_md" | "ru" | "ru_md" | "sr" | "sk" | "sl" | "sb" | "es_ar" | "es_bo" | "es_cl" | "es_co" | "es_cr" | "es_do" | "es_ec" | "es_sv" | "es_gt" | "es_hn" | "es_mx" | "es" | "sv" | "sv_fi" | "uk" | "ur" | "vi" | "cy" | "ji" | "zu")[];
|
|
266
266
|
defaultCurrency: "USD" | "EUR" | "GBP" | "JPY" | "AUD" | "CAD" | "CHF" | "CNY" | "SEK" | "NZD" | "MXN" | "SGD" | "HKD" | "NOK" | "KRW" | "TRY" | "RUB" | "INR" | "BRL" | "ZAR" | "DKK" | "PLN" | "THB" | "IDR" | "HUF" | "CZK" | "ILS" | "PHP" | "AED" | "COP" | "SAR" | "MYR" | "RON";
|
|
267
267
|
createdAt: Date;
|
|
268
268
|
hostname?: string | undefined;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PrismaClientType } from "../../core/lib/prisma";
|
|
2
|
+
import { OrderFulfillmentService } from "../order/order-fulfillment.service";
|
|
3
|
+
import { StripeService } from "./stripe.service";
|
|
4
|
+
declare class PaymentWebhookService {
|
|
5
|
+
private readonly prisma;
|
|
6
|
+
private readonly stripeService;
|
|
7
|
+
private readonly orderFulfillmentService;
|
|
8
|
+
constructor(prisma: PrismaClientType, stripeService: StripeService, orderFulfillmentService: Pick<OrderFulfillmentService, "fulfillPaidOrder">);
|
|
9
|
+
processWebhookEvent(provider: "stripe" | "revolut", signature: string | null, body: string, organizationId?: string): Promise<void>;
|
|
10
|
+
private handleStripeCheckoutCompleted;
|
|
11
|
+
}
|
|
12
|
+
export { PaymentWebhookService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__awaiter as c}from"tslib";import{HttpException as s}from"../../core/exceptions/http-exception";class p{constructor(e,t,r){this.prisma=e,this.stripeService=t,this.orderFulfillmentService=r}processWebhookEvent(e,t,r,d){return c(this,void 0,void 0,function*(){if(!t)throw new s(401,"Signature is required");if(e==="stripe"){const n=yield this.stripeService.constructWebhookEvent(d,t,r);return n.type==="checkout.session.completed"?this.handleStripeCheckoutCompleted(n.data.object,d):void 0}else throw new s(400,"Payment provider not supported")})}handleStripeCheckoutCompleted(e,t){return c(this,void 0,void 0,function*(){var r,d,n,u,a;if(((r=e.metadata)===null||r===void 0?void 0:r.testIntegration)==="true")return;const i=yield this.prisma.paymentSession.findFirst({where:Object.assign({referenceId:e.id},t?{payment:{order:{organizationId:t}}}:{}),include:{payment:{include:{order:!0}}}});if(!i)throw new s(404,"Payment session not found");const o=(d=i.payment)===null||d===void 0?void 0:d.order;if(!o)throw new s(404,"Order not found");i.capturedAt&&(o.inventoryDeductedAt||o.inventoryConflictAt)||((!i.capturedAt||i.payment.status!=="succeeded")&&(yield this.prisma.paymentSession.update({where:{id:i.id},data:{capturedAt:(n=i.capturedAt)!==null&&n!==void 0?n:new Date,payment:{update:{status:"succeeded"}}}})),yield this.orderFulfillmentService.fulfillPaidOrder(o.id,(a=(u=e.metadata)===null||u===void 0?void 0:u.userId)!==null&&a!==void 0?a:o.userId))})}}export{p as PaymentWebhookService};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-webhook.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/payment/payment-webhook.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { PrismaClientType } from "../../core/lib/prisma";
|
|
2
2
|
import { Locale, User } from "../../schemas";
|
|
3
|
-
import { IntegrationRegistry } from "../integration/integration-registry";
|
|
4
|
-
import { InventoryService } from "../inventory/inventory.service";
|
|
5
3
|
import { Order } from "../order/order.schema";
|
|
4
|
+
import { StripeService } from "./stripe.service";
|
|
6
5
|
export interface PaymentServiceOptions {
|
|
7
6
|
revolut?: {
|
|
8
7
|
secretKey: string;
|
|
@@ -17,14 +16,8 @@ interface CreateCheckoutSessionOptions {
|
|
|
17
16
|
declare class PaymentService {
|
|
18
17
|
private readonly prisma;
|
|
19
18
|
readonly options: PaymentServiceOptions;
|
|
20
|
-
private readonly
|
|
21
|
-
|
|
22
|
-
private readonly stripeRuntimes;
|
|
23
|
-
constructor(prisma: PrismaClientType, options: PaymentServiceOptions, integrationRegistry: IntegrationRegistry, inventoryService: InventoryService);
|
|
24
|
-
private getStripeNotConfiguredMessage;
|
|
25
|
-
private resolveStripeRuntime;
|
|
26
|
-
private requireStripeRuntime;
|
|
27
|
-
private getOrderEmailService;
|
|
19
|
+
private readonly stripeService;
|
|
20
|
+
constructor(prisma: PrismaClientType, options: PaymentServiceOptions, stripeService: StripeService);
|
|
28
21
|
getPaymentMethods(organizationId?: string): Promise<{
|
|
29
22
|
id: string;
|
|
30
23
|
provider: "stripe" | "revolut" | "payu" | "not_applicable";
|
|
@@ -36,7 +29,5 @@ declare class PaymentService {
|
|
|
36
29
|
sessionId: string;
|
|
37
30
|
redirectUrl: string | null;
|
|
38
31
|
}>;
|
|
39
|
-
processWebhookEvent(provider: "stripe" | "revolut", signature: string | null, body: string, organizationId?: string): Promise<void>;
|
|
40
|
-
private handleStripeCheckoutCompleted;
|
|
41
32
|
}
|
|
42
33
|
export { PaymentService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as
|
|
1
|
+
import{__awaiter as o}from"tslib";import{HttpException as n}from"../../core/exceptions/http-exception";class d{constructor(i,t,e){this.prisma=i,this.options=t,this.stripeService=e}getPaymentMethods(i){return o(this,void 0,void 0,function*(){const t=[],e=yield this.stripeService.getPaymentMethods(i);return e.includes("card")&&t.push({id:"stripe:card",provider:"stripe",description:"Visa, Mastercard, American Express etc..",method:"card"}),e.includes("blik")&&t.push({id:"stripe:blik",provider:"stripe",description:"Popular payment method in Poland",method:"blik"}),this.options.revolut&&this.options.revolut.paymentMethods.includes("card")&&t.push({id:"revolut:card",provider:"revolut",description:"Visa, Mastercard, American Express etc..",method:"card"}),this.options.revolut&&this.options.revolut.paymentMethods.includes("blik")&&t.push({id:"revolut:blik",provider:"revolut",description:"Popular payment method in Poland",method:"blik"}),t})}handleCheckoutSessionByProvider(i,t,e,s){return o(this,void 0,void 0,function*(){if(e.payment.provider==="stripe")return this.stripeService.createCheckoutSession(i,t,e,s);throw new n(400,"Payment provider not supported")})}createCheckoutSession(i,t,e,s){return o(this,void 0,void 0,function*(){const r=yield this.handleCheckoutSessionByProvider(i,t,e,s);return yield this.prisma.paymentSession.create({data:{payment:{connect:{id:e.payment.id}},referenceId:r.id,amount:e.payment.total,currency:e.payment.currency,rawData:JSON.stringify(r)}}),{sessionId:r.id,redirectUrl:r.url}})}}export{d as PaymentService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/payment/payment.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"payment.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/payment/payment.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,28 @@
|
|
|
1
1
|
import Stripe from "stripe";
|
|
2
|
-
import { PrismaClientType } from "../../core/lib/prisma";
|
|
3
|
-
import { EmailService } from "../../core/notifications/email.service";
|
|
4
2
|
import { Locale, User } from "../../schemas";
|
|
3
|
+
import { IntegrationRegistry } from "../integration/integration-registry";
|
|
5
4
|
import { Order } from "../order/order.schema";
|
|
6
|
-
export interface StripeServiceOptions {
|
|
7
|
-
secretKey: string;
|
|
8
|
-
webhookSecret?: string;
|
|
9
|
-
paymentMethods: string[];
|
|
10
|
-
resendApiKey?: string;
|
|
11
|
-
resendFromEmail?: string;
|
|
12
|
-
}
|
|
13
|
-
interface CreateCheckoutSessionOptions {
|
|
14
|
-
successUrl: string;
|
|
15
|
-
cancelUrl: string;
|
|
16
|
-
locale: Locale;
|
|
17
|
-
}
|
|
18
|
-
interface CreateTestCheckoutSessionOptions {
|
|
19
|
-
cancelUrl: string;
|
|
20
|
-
currency: string;
|
|
21
|
-
customerEmail: string;
|
|
22
|
-
organizationName: string;
|
|
23
|
-
paymentMethod: "card" | "blik";
|
|
24
|
-
successUrl: string;
|
|
25
|
-
}
|
|
26
5
|
declare class StripeService {
|
|
27
|
-
private readonly
|
|
28
|
-
readonly
|
|
29
|
-
|
|
30
|
-
private
|
|
31
|
-
|
|
32
|
-
private
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
6
|
+
private readonly integrationRegistry;
|
|
7
|
+
private readonly runtimes;
|
|
8
|
+
constructor(integrationRegistry: IntegrationRegistry);
|
|
9
|
+
private getNotConfiguredMessage;
|
|
10
|
+
private getInstance;
|
|
11
|
+
private requireInstance;
|
|
12
|
+
private selectTestPaymentMethod;
|
|
13
|
+
getPaymentMethods(organizationId?: string): Promise<string[]>;
|
|
14
|
+
constructWebhookEvent(organizationId: string | undefined, signature: string, body: string): Promise<Stripe.Event>;
|
|
15
|
+
createCheckoutSession(organizationId: string, user: User, order: Order, { locale, successUrl, cancelUrl, }: {
|
|
16
|
+
successUrl: string;
|
|
17
|
+
cancelUrl: string;
|
|
18
|
+
locale: Locale;
|
|
19
|
+
}): Promise<Stripe.Response<Stripe.Checkout.Session>>;
|
|
20
|
+
createTestCheckoutSession(organizationId: string, { cancelUrl, customerEmail, defaultCurrency, organizationName, successUrl, }: {
|
|
21
|
+
cancelUrl: string;
|
|
22
|
+
customerEmail: string;
|
|
23
|
+
defaultCurrency: string;
|
|
24
|
+
organizationName: string;
|
|
25
|
+
successUrl: string;
|
|
26
|
+
}): Promise<Stripe.Response<Stripe.Checkout.Session>>;
|
|
37
27
|
}
|
|
38
28
|
export { StripeService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as c}from"tslib";import
|
|
1
|
+
import{__awaiter as c}from"tslib";import b from"stripe";import{HttpException as l}from"../../core/exceptions/http-exception";import{getStoredStripeConfig as k}from"../integration/integration-config";class M{constructor(e){this.integrationRegistry=e,this.runtimes=new Map}getNotConfiguredMessage(e){return e?"Stripe integration is not configured for this organization":"Stripe integration is not configured"}getInstance(e){return c(this,void 0,void 0,function*(){var i;if(!e)return;const t=k(this.integrationRegistry.get(e,"stripe")),o=t?.secretKey;if(!o){this.runtimes.delete(e);return}const s=JSON.stringify(t??null),r=this.runtimes.get(e);if(r?.signature===s)return r;const n={webhookSecret:t?.webhookSecret,paymentMethods:(i=t?.paymentMethods)!==null&&i!==void 0?i:[],signature:s,stripe:new b(o)};return this.runtimes.set(e,n),n})}requireInstance(e){return c(this,void 0,void 0,function*(){const i=yield this.getInstance(e);if(!i)throw new l(400,this.getNotConfiguredMessage(e));return i})}selectTestPaymentMethod(e){if(e.includes("card"))return"card";if(e.includes("blik"))return"blik"}getPaymentMethods(e){return c(this,void 0,void 0,function*(){var i,t;return(t=(i=yield this.getInstance(e))===null||i===void 0?void 0:i.paymentMethods)!==null&&t!==void 0?t:[]})}constructWebhookEvent(e,i,t){return c(this,void 0,void 0,function*(){const o=yield this.requireInstance(e);if(!o.webhookSecret)throw new l(400,"Stripe webhook secret is not configured");return o.stripe.webhooks.constructEvent(t,i,o.webhookSecret)})}createCheckoutSession(e,i,t,o){return c(this,arguments,void 0,function*(s,r,n,{locale:h,successUrl:p,cancelUrl:m}){var u;const y=yield this.requireInstance(s);if(n.payment.method!=="card"&&n.payment.method!=="blik")throw new l(400,"Payment method not supported");if(!y.paymentMethods.includes(n.payment.method))throw new l(400,`Stripe payment method ${n.payment.method} is not enabled`);const v={payment_method_types:[n.payment.method],customer_email:r.email,line_items:n.items.map(({translations:_,unitPrice:g,quantity:w,image:d})=>{var f;const a=_.find(S=>S.locale===h);return{quantity:w,price_data:{currency:"pln",product_data:{name:(f=a?.title)!==null&&f!==void 0?f:"N/A",description:a?.subtitle||void 0,images:d?.url?[d?.url]:void 0},unit_amount:g*100}}}),shipping_options:!((u=n.shippingMethod)===null||u===void 0)&&u.shippingZones[0].price?[{shipping_rate_data:{type:"fixed_amount",fixed_amount:{amount:n.payment.shipping*100,currency:n.currency.toLowerCase()},display_name:"Delivery fee"}}]:void 0,mode:"payment",success_url:p,cancel_url:m,metadata:{userId:r.id,orderId:n.id}};return y.stripe.checkout.sessions.create(v)})}createTestCheckoutSession(e,i){return c(this,arguments,void 0,function*(t,{cancelUrl:o,customerEmail:s,defaultCurrency:r,organizationName:n,successUrl:h}){const p=yield this.requireInstance(t);if(!p.webhookSecret)throw new l(400,"Stripe webhook secret is not configured");const m=this.selectTestPaymentMethod(p.paymentMethods);if(!m)throw new l(400,"Enable at least one Stripe payment method before testing.");const u=m==="blik"?"pln":r.toLowerCase();return p.stripe.checkout.sessions.create({payment_method_types:[m],customer_email:s,line_items:[{quantity:1,price_data:{currency:u,product_data:{name:`${n} Test Product`,description:"Mock item created by Shophost to verify the Stripe checkout flow."},unit_amount:1999}},{quantity:1,price_data:{currency:u,product_data:{name:"Shophost Test Add-on",description:"Additional mock line item used for Stripe integration testing."},unit_amount:499}}],mode:"payment",success_url:h,cancel_url:o,metadata:{testIntegration:"true"}})})}}export{M as StripeService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/payment/stripe.service.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"stripe.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/payment/stripe.service.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAW1E,MAAM,aAAa;IAGjB,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAFpD,aAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEW,CAAC;IAEjE,uBAAuB,CAAC,cAAuB;QACrD,OAAO,cAAc;YACnB,CAAC,CAAC,4DAA4D;YAC9D,CAAC,CAAC,sCAAsC,CAAC;IAC7C,CAAC;IAEa,WAAW,CACvB,cAAuB;;;YAEvB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,MAAM,GAAG,qBAAqB,CAClC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CACvD,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC;YAEpC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACrC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAEjD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,MAAK,SAAS,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,OAAO,GAAG;gBACd,aAAa,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa;gBACpC,cAAc,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,mCAAI,EAAE;gBAC5C,SAAS;gBACT,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;aAC9B,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAE3C,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEa,eAAe,CAAC,cAAuB;;YACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAEvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,aAAa,CACrB,GAAG,EACH,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAC7C,CAAC;YACJ,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEO,uBAAuB,CAAC,cAAwB;QACtD,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,MAAe,CAAC;QACzB,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,MAAe,CAAC;QACzB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEY,iBAAiB,CAAC,cAAuB;;;YACpD,OAAO,MAAA,MAAA,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,0CAAE,cAAc,mCAAI,EAAE,CAAC;QACxE,CAAC;KAAA;IAEY,qBAAqB,CAChC,cAAkC,EAClC,SAAiB,EACjB,IAAY;;YAEZ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAC3C,IAAI,EACJ,SAAS,EACT,OAAO,CAAC,aAAa,CACtB,CAAC;QACJ,CAAC;KAAA;IAEY,qBAAqB;6DAChC,cAAsB,EACtB,IAAU,EACV,KAAY,EACZ,EACE,MAAM,EACN,UAAU,EACV,SAAS,GAKV;;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvE,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,aAAa,CACrB,GAAG,EACH,yBAAyB,KAAK,CAAC,OAAO,CAAC,MAAM,iBAAiB,CAC/D,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAwC;gBAClD,oBAAoB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC5C,cAAc,EAAE,IAAI,CAAC,KAAK;gBAC1B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CACzB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;;oBAC/C,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;oBAElE,OAAO;wBACL,QAAQ;wBACR,UAAU,EAAE;4BACV,QAAQ,EAAE,KAAK;4BACf,YAAY,EAAE;gCACZ,IAAI,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,mCAAI,KAAK;gCACjC,WAAW,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,KAAI,SAAS;gCAC/C,MAAM,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,EAAC,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;6BAC9C;4BACD,WAAW,EAAE,SAAS,GAAG,GAAG;yBAC7B;qBACF,CAAC;gBACJ,CAAC,CACF;gBACD,gBAAgB,EAAE,CAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,aAAa,CAAC,CAAC,EAAE,KAAK;oBAC5D,CAAC,CAAC;wBACE;4BACE,kBAAkB,EAAE;gCAClB,IAAI,EAAE,cAAc;gCACpB,YAAY,EAAE;oCACZ,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG;oCACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;iCACvC;gCACD,YAAY,EAAE,cAAc;6BAC7B;yBACF;qBACF;oBACH,CAAC,CAAC,SAAS;gBACb,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE;oBACR,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,OAAO,EAAE,KAAK,CAAC,EAAE;iBAClB;aACF,CAAC;YAEF,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;KAAA;IAEY,yBAAyB;6DACpC,cAAsB,EACtB,EACE,SAAS,EACT,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,UAAU,GAOX;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE3E,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,aAAa,CACrB,GAAG,EACH,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GACZ,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YAEnE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7C,oBAAoB,EAAE,CAAC,aAAa,CAAC;gBACrC,cAAc,EAAE,aAAa;gBAC7B,UAAU,EAAE;oBACV;wBACE,QAAQ,EAAE,CAAC;wBACX,UAAU,EAAE;4BACV,QAAQ;4BACR,YAAY,EAAE;gCACZ,IAAI,EAAE,GAAG,gBAAgB,eAAe;gCACxC,WAAW,EACT,mEAAmE;6BACtE;4BACD,WAAW,EAAE,IAAI;yBAClB;qBACF;oBACD;wBACE,QAAQ,EAAE,CAAC;wBACX,UAAU,EAAE;4BACV,QAAQ;4BACR,YAAY,EAAE;gCACZ,IAAI,EAAE,sBAAsB;gCAC5B,WAAW,EACT,gEAAgE;6BACnE;4BACD,WAAW,EAAE,GAAG;yBACjB;qBACF;iBACF;gBACD,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE;oBACR,eAAe,EAAE,MAAM;iBACxB;aACF,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|