cabloy 5.1.127 → 5.1.128

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 (85) hide show
  1. package/.cabloy-version +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/cabloy-docs/backend/i18n-guide.md +86 -7
  4. package/e2e/specs/a-commerce/commerce.spec.ts +93 -8
  5. package/package.json +1 -1
  6. package/vona/env/.env +2 -0
  7. package/vona/env/.env.prod +6 -2
  8. package/vona/packages-cli/cabloy-cli/package.json +1 -1
  9. package/vona/packages-cli/cli/package.json +1 -1
  10. package/vona/packages-cli/cli-set-api/package.json +1 -1
  11. package/vona/packages-utils/module-glob/package.json +1 -1
  12. package/vona/packages-utils/utils/package.json +1 -1
  13. package/vona/packages-utils/utils/src/vona.ts +8 -1
  14. package/vona/packages-vona/vona/package.json +1 -1
  15. package/vona/packages-vona/vona-core/package.json +1 -1
  16. package/vona/packages-vona/vona-mock/package.json +1 -1
  17. package/vona/pnpm-lock.yaml +10 -39
  18. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/.metadata/index.ts +1 -1
  19. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/dto/productSelectResItem.tsx +3 -1
  20. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/dto/productView.tsx +3 -1
  21. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/entity/product.tsx +23 -3
  22. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/model/product.ts +1 -0
  23. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/service/product.ts +7 -2
  24. package/vona/src/suite/a-commerce/modules/commerce-catalog/test/productPresentation.test.ts +214 -0
  25. package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/payScene.commerceOrder.ts +39 -3
  26. package/vona/src/suite/a-commerce/modules/commerce-payment/src/service/commercePayScene.ts +14 -1
  27. package/vona/src/suite/a-commerce/modules/commerce-payment/src/service/paymentAttempt.ts +5 -1
  28. package/vona/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +17 -0
  29. package/vona/src/suite/a-commerce/modules/commerce-trade/src/controller/checkout.ts +18 -0
  30. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutCreate.tsx +3 -0
  31. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutPaymentMethod.tsx +19 -0
  32. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutPaymentMethods.tsx +17 -0
  33. package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/order.ts +51 -0
  34. package/vona/src/suite/a-commerce/modules/commerce-trade/test/paymentOutcome.test.ts +2 -1
  35. package/vona/src/suite-vendor/a-pay/modules/a-pay/package.json +1 -1
  36. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/.metadata/index.ts +94 -55
  37. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/bean.payScene.ts +65 -1
  38. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/meta.redlock.ts +2 -0
  39. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/controller/paymentCallback.ts +32 -0
  40. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/controller/paymentSession.ts +26 -8
  41. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/paymentCallback.ts +99 -0
  42. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/paymentSession.ts +26 -3
  43. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/providerOperation.ts +214 -82
  44. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/refundOperation.ts +27 -2
  45. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/types/payScene.ts +9 -0
  46. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/types/payment.ts +5 -0
  47. package/vona/src/suite-vendor/a-pay/modules/pay-mock/package.json +1 -1
  48. package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/bean/payProvider.mock.ts +7 -0
  49. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/package.json +1 -1
  50. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/bean/payProvider.paypal.ts +395 -84
  51. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/lib/index.ts +1 -1
  52. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/lib/paypalGateway.ts +129 -0
  53. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/types/index.ts +2 -0
  54. package/vona/src/suite-vendor/a-pay/modules/pay-stripe/package.json +1 -1
  55. package/vona/src/suite-vendor/a-pay/modules/pay-stripe/src/bean/payProvider.stripe.ts +7 -0
  56. package/vona/src/suite-vendor/a-pay/package.json +5 -5
  57. package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +1 -1
  58. package/vona/src/suite-vendor/a-vona/package.json +1 -1
  59. package/zova/packages-cli/cli/package.json +3 -3
  60. package/zova/packages-cli/cli-set-front/package.json +4 -4
  61. package/zova/packages-utils/zova-jsx/package.json +3 -3
  62. package/zova/packages-utils/zova-vite/package.json +2 -2
  63. package/zova/packages-zova/zova/package.json +3 -3
  64. package/zova/packages-zova/zova-core/package.json +2 -2
  65. package/zova/src/suite/a-commerce/modules/commerce-member/src/api/openapi/schemas.ts +8 -0
  66. package/zova/src/suite/a-commerce/modules/commerce-member/src/api/openapi/types.ts +175 -0
  67. package/zova/src/suite/a-commerce/modules/commerce-trade/cli/openapi.config.ts +1 -0
  68. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/commerceTradeCheckout.ts +16 -0
  69. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/schemas.ts +8 -0
  70. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/types.ts +177 -2
  71. package/zova/src/suite/a-commerce/modules/commerce-trade/src/apiSchema/commerceTradeCheckout.ts +12 -1
  72. package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/cart.ts +11 -0
  73. package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/checkout/controller.tsx +25 -1
  74. package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/payment/controller.tsx +27 -4
  75. package/zova/src/suite-vendor/a-pay/modules/a-pay/cli/openapi.config.ts +1 -1
  76. package/zova/src/suite-vendor/a-pay/modules/a-pay/package.json +1 -1
  77. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/api/openapi/schemas.ts +20 -8
  78. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/api/openapi/types.ts +292 -32
  79. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/api/paymentSession.ts +26 -4
  80. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/apiSchema/paymentSession.ts +5 -0
  81. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/component/paymentNextAction/controller.tsx +2 -1
  82. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/model/paymentSession.ts +12 -0
  83. package/zova/src/suite-vendor/a-pay/package.json +2 -2
  84. package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +4 -4
  85. package/zova/src/suite-vendor/a-zova/package.json +2 -2
@@ -95,7 +95,39 @@ export interface paths {
95
95
  patch?: never;
96
96
  trace?: never;
97
97
  };
98
- '/api/payment-session/{id}/start': {
98
+ '/api/payment-callback/return': {
99
+ parameters: {
100
+ query?: never;
101
+ header?: never;
102
+ path?: never;
103
+ cookie?: never;
104
+ };
105
+ get: operations['PaymentCallback_returned'];
106
+ put?: never;
107
+ post?: never;
108
+ delete?: never;
109
+ options?: never;
110
+ head?: never;
111
+ patch?: never;
112
+ trace?: never;
113
+ };
114
+ '/api/payment-callback/cancel': {
115
+ parameters: {
116
+ query?: never;
117
+ header?: never;
118
+ path?: never;
119
+ cookie?: never;
120
+ };
121
+ get: operations['PaymentCallback_cancelled'];
122
+ put?: never;
123
+ post?: never;
124
+ delete?: never;
125
+ options?: never;
126
+ head?: never;
127
+ patch?: never;
128
+ trace?: never;
129
+ };
130
+ '/api/pay/payment-session/{id}/start': {
99
131
  parameters: {
100
132
  query?: never;
101
133
  header?: never;
@@ -111,7 +143,23 @@ export interface paths {
111
143
  patch?: never;
112
144
  trace?: never;
113
145
  };
114
- '/api/payment-session/{id}': {
146
+ '/api/pay/payment-session/{id}/reconcile': {
147
+ parameters: {
148
+ query?: never;
149
+ header?: never;
150
+ path?: never;
151
+ cookie?: never;
152
+ };
153
+ get?: never;
154
+ put?: never;
155
+ post: operations['PaymentSession_reconcile'];
156
+ delete?: never;
157
+ options?: never;
158
+ head?: never;
159
+ patch?: never;
160
+ trace?: never;
161
+ };
162
+ '/api/pay/payment-session/{id}': {
115
163
  parameters: {
116
164
  query?: never;
117
165
  header?: never;
@@ -527,6 +575,22 @@ export interface paths {
527
575
  patch: operations['CommerceTradeCart_updateItem'];
528
576
  trace?: never;
529
577
  };
578
+ '/api/commerce/trade/checkout/payment-methods': {
579
+ parameters: {
580
+ query?: never;
581
+ header?: never;
582
+ path?: never;
583
+ cookie?: never;
584
+ };
585
+ get: operations['CommerceTradeCheckout_paymentMethods'];
586
+ put?: never;
587
+ post?: never;
588
+ delete?: never;
589
+ options?: never;
590
+ head?: never;
591
+ patch?: never;
592
+ trace?: never;
593
+ };
530
594
  '/api/commerce/trade/checkout': {
531
595
  parameters: {
532
596
  query?: never;
@@ -2652,6 +2716,16 @@ export interface components {
2652
2716
  /** @description Quantity */
2653
2717
  quantity: number;
2654
2718
  };
2719
+ 'commerce-trade.dto.checkoutPaymentMethods': {
2720
+ items: components['schemas']['commerce-trade.dto.checkoutPaymentMethod'][];
2721
+ defaultKey: string;
2722
+ };
2723
+ 'commerce-trade.dto.checkoutPaymentMethod': {
2724
+ key: string;
2725
+ label: string;
2726
+ /** @enum {string} */
2727
+ interaction: 'redirect' | 'embedded';
2728
+ };
2655
2729
  'commerce-trade.dto.checkoutResult': {
2656
2730
  orderId: number | string;
2657
2731
  paymentAttemptId: number | string;
@@ -2670,6 +2744,7 @@ export interface components {
2670
2744
  addressId: number | string;
2671
2745
  couponGrantId?: number | string | undefined;
2672
2746
  correlationId: string;
2747
+ providerCandidateKey?: string | undefined;
2673
2748
  };
2674
2749
  'commerce-trade.dto.orderMineRes': {
2675
2750
  list: components['schemas']['commerce-trade.dto.orderSummary'][];
@@ -5219,6 +5294,56 @@ export interface operations {
5219
5294
  };
5220
5295
  };
5221
5296
  };
5297
+ PaymentCallback_returned: {
5298
+ parameters: {
5299
+ query: {
5300
+ state: string;
5301
+ };
5302
+ header?: never;
5303
+ path?: never;
5304
+ cookie?: never;
5305
+ };
5306
+ requestBody?: never;
5307
+ responses: {
5308
+ 200: {
5309
+ headers: {
5310
+ [name: string]: unknown;
5311
+ };
5312
+ content: {
5313
+ 'application/json': {
5314
+ code: string;
5315
+ message: string;
5316
+ data?: unknown;
5317
+ };
5318
+ };
5319
+ };
5320
+ };
5321
+ };
5322
+ PaymentCallback_cancelled: {
5323
+ parameters: {
5324
+ query: {
5325
+ state: string;
5326
+ };
5327
+ header?: never;
5328
+ path?: never;
5329
+ cookie?: never;
5330
+ };
5331
+ requestBody?: never;
5332
+ responses: {
5333
+ 200: {
5334
+ headers: {
5335
+ [name: string]: unknown;
5336
+ };
5337
+ content: {
5338
+ 'application/json': {
5339
+ code: string;
5340
+ message: string;
5341
+ data?: unknown;
5342
+ };
5343
+ };
5344
+ };
5345
+ };
5346
+ };
5222
5347
  PaymentSession_start: {
5223
5348
  parameters: {
5224
5349
  query?: never;
@@ -5245,6 +5370,32 @@ export interface operations {
5245
5370
  };
5246
5371
  authToken: true;
5247
5372
  };
5373
+ PaymentSession_reconcile: {
5374
+ parameters: {
5375
+ query?: never;
5376
+ header?: never;
5377
+ path: {
5378
+ id: number | string;
5379
+ };
5380
+ cookie?: never;
5381
+ };
5382
+ requestBody?: never;
5383
+ responses: {
5384
+ 200: {
5385
+ headers: {
5386
+ [name: string]: unknown;
5387
+ };
5388
+ content: {
5389
+ 'application/json': {
5390
+ code: string;
5391
+ message: string;
5392
+ data: components['schemas']['a-pay.dto.paymentSessionView'];
5393
+ };
5394
+ };
5395
+ };
5396
+ };
5397
+ authToken: true;
5398
+ };
5248
5399
  PaymentSession_view: {
5249
5400
  parameters: {
5250
5401
  query?: never;
@@ -6106,6 +6257,30 @@ export interface operations {
6106
6257
  };
6107
6258
  authToken: true;
6108
6259
  };
6260
+ CommerceTradeCheckout_paymentMethods: {
6261
+ parameters: {
6262
+ query?: never;
6263
+ header?: never;
6264
+ path?: never;
6265
+ cookie?: never;
6266
+ };
6267
+ requestBody?: never;
6268
+ responses: {
6269
+ 200: {
6270
+ headers: {
6271
+ [name: string]: unknown;
6272
+ };
6273
+ content: {
6274
+ 'application/json': {
6275
+ code: string;
6276
+ message: string;
6277
+ data: components['schemas']['commerce-trade.dto.checkoutPaymentMethods'];
6278
+ };
6279
+ };
6280
+ };
6281
+ };
6282
+ authToken: true;
6283
+ };
6109
6284
  CommerceTradeCheckout_create: {
6110
6285
  parameters: {
6111
6286
  query?: never;
@@ -3,10 +3,21 @@ import type { IApiSchemaOptions } from 'zova-module-a-api';
3
3
  import { BeanBase } from 'zova';
4
4
  import { ApiSchema } from 'zova-module-a-api';
5
5
 
6
- import { ApiApiCommerceTradeCheckoutcreatePath } from '../api/commerceTradeCheckout.js';
6
+ import {
7
+ ApiApiCommerceTradeCheckoutpaymentMethodsPath,
8
+ ApiApiCommerceTradeCheckoutcreatePath,
9
+ } from '../api/commerceTradeCheckout.js';
7
10
 
8
11
  @ApiSchema()
9
12
  export class ApiSchemaCommerceTradeCheckout extends BeanBase {
13
+ paymentMethods(options?: IApiSchemaOptions) {
14
+ return this.$sdk.createApiSchemas(
15
+ ApiApiCommerceTradeCheckoutpaymentMethodsPath,
16
+ 'get',
17
+ options,
18
+ );
19
+ }
20
+
10
21
  create(options?: IApiSchemaOptions) {
11
22
  return this.$sdk.createApiSchemas(ApiApiCommerceTradeCheckoutcreatePath, 'post', options);
12
23
  }
@@ -65,6 +65,17 @@ export class ModelCart extends BeanModelBase {
65
65
  });
66
66
  }
67
67
 
68
+ paymentMethods() {
69
+ if (!process.env.CLIENT || !this.$passport.isAuthenticated) return;
70
+ return this.$useStateData({
71
+ queryKey: ['paymentMethods'],
72
+ queryFn: async () => {
73
+ return await this.scope.api.commerceTradeCheckout.paymentMethods();
74
+ },
75
+ meta: { disableSuspenseOnInit: true },
76
+ });
77
+ }
78
+
68
79
  checkout() {
69
80
  return this.$useMutationData({
70
81
  mutationKey: ['checkout'],
@@ -25,6 +25,7 @@ export class ControllerPageCheckout extends BeanControllerPageBase {
25
25
 
26
26
  addressId?: string;
27
27
  couponGrantId?: string;
28
+ providerCandidateKey?: string;
28
29
  submitting = false;
29
30
 
30
31
  get queryAddresses() {
@@ -37,6 +38,10 @@ export class ControllerPageCheckout extends BeanControllerPageBase {
37
38
  return this.$$modelCoupon.mine();
38
39
  }
39
40
 
41
+ get queryPaymentMethods() {
42
+ return this.$$modelCart.paymentMethods();
43
+ }
44
+
40
45
  async checkout() {
41
46
  if (!this.addressId || this.submitting) return;
42
47
  this.submitting = true;
@@ -45,6 +50,7 @@ export class ControllerPageCheckout extends BeanControllerPageBase {
45
50
  addressId: this.addressId,
46
51
  couponGrantId: this.couponGrantId,
47
52
  correlationId: `${Date.now()}-${Math.random().toString(36).slice(2, 12)}`,
53
+ providerCandidateKey: this.providerCandidateKey,
48
54
  });
49
55
  this.$router.push({
50
56
  name: 'commerce-trade:payment',
@@ -69,6 +75,10 @@ export class ControllerPageCheckout extends BeanControllerPageBase {
69
75
  }
70
76
  const addresses = this.queryAddresses?.data?.list ?? [];
71
77
  const coupons = this.queryCoupons?.data ?? [];
78
+ const paymentMethods = this.queryPaymentMethods?.data;
79
+ if (!this.providerCandidateKey && paymentMethods?.defaultKey) {
80
+ this.providerCandidateKey = paymentMethods.defaultKey;
81
+ }
72
82
  return (
73
83
  <ZPage>
74
84
  <section class="mx-auto max-w-3xl p-6">
@@ -93,6 +103,20 @@ export class ControllerPageCheckout extends BeanControllerPageBase {
93
103
  <p class="text-base-content/70">Add an address before checking out.</p>
94
104
  )}
95
105
  </fieldset>
106
+ <fieldset class="space-y-2">
107
+ <legend class="font-semibold">Payment method</legend>
108
+ {paymentMethods?.items.map(method => (
109
+ <label class="flex cursor-pointer gap-3 rounded border border-base-300 p-3">
110
+ <input
111
+ type="radio"
112
+ name="paymentMethod"
113
+ value={method.key}
114
+ v-model={this.providerCandidateKey}
115
+ />
116
+ <span>{method.label}</span>
117
+ </label>
118
+ ))}
119
+ </fieldset>
96
120
  <fieldset class="space-y-2">
97
121
  <legend class="font-semibold">Coupon</legend>
98
122
  <label class="flex cursor-pointer gap-3 rounded border border-base-300 p-3">
@@ -115,7 +139,7 @@ export class ControllerPageCheckout extends BeanControllerPageBase {
115
139
  </fieldset>
116
140
  <button
117
141
  class="btn btn-primary"
118
- disabled={!this.addressId || this.submitting}
142
+ disabled={!this.addressId || !this.providerCandidateKey || this.submitting}
119
143
  onClick={() => this.checkout()}
120
144
  >
121
145
  Create order
@@ -15,7 +15,9 @@ export const ControllerPagePaymentSchemaParams = z.object({
15
15
  orderId: z.string(),
16
16
  locale: z.string().optional(),
17
17
  });
18
- export const ControllerPagePaymentSchemaQuery = z.object({});
18
+ export const ControllerPagePaymentSchemaQuery = z.object({
19
+ providerResult: z.enum(['return', 'cancel']).optional(),
20
+ });
19
21
 
20
22
  type TypeMockPaymentOutcome = 'succeeded' | 'failed' | 'cancelled';
21
23
 
@@ -42,6 +44,7 @@ export class ControllerPagePayment extends BeanControllerPageBase {
42
44
  if (this.$ssr.isRuntimeSsrHydrated) {
43
45
  await $QueryEnsureLoaded(() => this.queryPaymentSession);
44
46
  await $QueryEnsureLoaded(() => this.queryOrder);
47
+ if (this.$query.providerResult) await this.reconcile();
45
48
  }
46
49
  }
47
50
 
@@ -53,6 +56,20 @@ export class ControllerPagePayment extends BeanControllerPageBase {
53
56
  return this.$$modelOrderMine.viewMine(this.orderId!);
54
57
  }
55
58
 
59
+ async reconcile() {
60
+ if (!this.paymentSessionId || this.submitting) return;
61
+ this.submitting = true;
62
+ this.message = undefined;
63
+ try {
64
+ await this.$$modelPaymentSession.reconcile(this.paymentSessionId).mutateAsync();
65
+ await this._waitForSettlement();
66
+ } catch (error: any) {
67
+ this.message = error.message;
68
+ } finally {
69
+ this.submitting = false;
70
+ }
71
+ }
72
+
56
73
  async start() {
57
74
  if (!this.paymentSessionId || this.submitting) return;
58
75
  this.submitting = true;
@@ -81,17 +98,23 @@ export class ControllerPagePayment extends BeanControllerPageBase {
81
98
  }
82
99
  }
83
100
 
84
- private async _waitForSettlement(outcome: TypeMockPaymentOutcome) {
101
+ private async _waitForSettlement(outcome?: TypeMockPaymentOutcome) {
85
102
  this.waitingForOrder = true;
86
103
  const terminalSessionState = outcome;
87
- const terminalOrderState = outcome === 'succeeded' ? 'paid' : 'cancelled';
104
+ const terminalOrderState = outcome === 'succeeded' ? 'paid' : outcome ? 'cancelled' : undefined;
88
105
  try {
89
106
  for (let attempt = 0; attempt < 60; attempt++) {
90
107
  const session = await this.queryPaymentSession?.refetch();
91
108
  const order = await this.scope.api.commerceTradeOrder.viewMine({
92
109
  params: { id: this.orderId! },
93
110
  });
94
- if (session?.data?.state === terminalSessionState && order?.state === terminalOrderState) {
111
+ const settled =
112
+ terminalSessionState && terminalOrderState
113
+ ? session?.data?.state === terminalSessionState && order?.state === terminalOrderState
114
+ : ['succeeded', 'failed', 'cancelled', 'expired'].includes(
115
+ session?.data?.state ?? '',
116
+ ) && ['paid', 'cancelled', 'expired'].includes(order?.state ?? '');
117
+ if (settled) {
95
118
  await this.queryOrder?.refetch();
96
119
  await this.$router.push({
97
120
  name: 'commerce-trade:order',
@@ -3,7 +3,7 @@ import type { ZovaOpenapiConfigModule } from 'zova-openapi';
3
3
  export default function (): ZovaOpenapiConfigModule {
4
4
  return {
5
5
  operations: {
6
- match: ['PaymentSession_start', 'PaymentSession_view'],
6
+ match: ['PaymentSession_start', 'PaymentSession_reconcile', 'PaymentSession_view'],
7
7
  },
8
8
  };
9
9
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-module-a-pay",
3
- "version": "5.0.2",
3
+ "version": "5.0.3",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "Zova Module"
@@ -95,10 +95,10 @@ export type ApiSchemaCommercePromotionDtoCouponTemplateSelectResItem =
95
95
  components['schemas']['commerce-promotion.dto.couponTemplateSelectResItem'];
96
96
  export type ApiSchemaCommercePromotionDtoCouponTemplateSelectResItemPartial =
97
97
  Partial<ApiSchemaCommercePromotionDtoCouponTemplateSelectResItem>;
98
- export type ApiSchemaCommercePromotionDtoCouponTemplateView_2d063d28bc7243bed02ebd8bddf1212a93c6305b_425dbecccd52e19e24888f99e1b1670233afa875 =
99
- components['schemas']['commerce-promotion.dto.couponTemplateView_2d063d28bc7243bed02ebd8bddf1212a93c6305b_425dbecccd52e19e24888f99e1b1670233afa875'];
100
- export type ApiSchemaCommercePromotionDtoCouponTemplateView_2d063d28bc7243bed02ebd8bddf1212a93c6305b_425dbecccd52e19e24888f99e1b1670233afa875Partial =
101
- Partial<ApiSchemaCommercePromotionDtoCouponTemplateView_2d063d28bc7243bed02ebd8bddf1212a93c6305b_425dbecccd52e19e24888f99e1b1670233afa875>;
98
+ export type ApiSchemaCommercePromotionDtoCouponTemplateView_2d063d28bc7243bed02ebd8bddf1212a93c6305b_91abd8df366c0c4d47021b38af2a356349ee178b =
99
+ components['schemas']['commerce-promotion.dto.couponTemplateView_2d063d28bc7243bed02ebd8bddf1212a93c6305b_91abd8df366c0c4d47021b38af2a356349ee178b'];
100
+ export type ApiSchemaCommercePromotionDtoCouponTemplateView_2d063d28bc7243bed02ebd8bddf1212a93c6305b_91abd8df366c0c4d47021b38af2a356349ee178bPartial =
101
+ Partial<ApiSchemaCommercePromotionDtoCouponTemplateView_2d063d28bc7243bed02ebd8bddf1212a93c6305b_91abd8df366c0c4d47021b38af2a356349ee178b>;
102
102
  export type ApiSchemaCommercePromotionDtoCouponTemplateUpdate =
103
103
  components['schemas']['commerce-promotion.dto.couponTemplateUpdate'];
104
104
  export type ApiSchemaCommercePromotionDtoCouponTemplateUpdatePartial =
@@ -117,6 +117,14 @@ export type ApiSchemaCommerceTradeDtoCartUpdateItem =
117
117
  components['schemas']['commerce-trade.dto.cartUpdateItem'];
118
118
  export type ApiSchemaCommerceTradeDtoCartUpdateItemPartial =
119
119
  Partial<ApiSchemaCommerceTradeDtoCartUpdateItem>;
120
+ export type ApiSchemaCommerceTradeDtoCheckoutPaymentMethods =
121
+ components['schemas']['commerce-trade.dto.checkoutPaymentMethods'];
122
+ export type ApiSchemaCommerceTradeDtoCheckoutPaymentMethodsPartial =
123
+ Partial<ApiSchemaCommerceTradeDtoCheckoutPaymentMethods>;
124
+ export type ApiSchemaCommerceTradeDtoCheckoutPaymentMethod =
125
+ components['schemas']['commerce-trade.dto.checkoutPaymentMethod'];
126
+ export type ApiSchemaCommerceTradeDtoCheckoutPaymentMethodPartial =
127
+ Partial<ApiSchemaCommerceTradeDtoCheckoutPaymentMethod>;
120
128
  export type ApiSchemaCommerceTradeDtoCheckoutResult =
121
129
  components['schemas']['commerce-trade.dto.checkoutResult'];
122
130
  export type ApiSchemaCommerceTradeDtoCheckoutResultPartial =
@@ -165,10 +173,6 @@ export type ApiSchemaCommerceTradeDtoRefundReview =
165
173
  components['schemas']['commerce-trade.dto.refundReview'];
166
174
  export type ApiSchemaCommerceTradeDtoRefundReviewPartial =
167
175
  Partial<ApiSchemaCommerceTradeDtoRefundReview>;
168
- export type ApiSchemaCommerceTradeDtoRefundOutcomeCreate =
169
- components['schemas']['commerce-trade.dto.refundOutcomeCreate'];
170
- export type ApiSchemaCommerceTradeDtoRefundOutcomeCreatePartial =
171
- Partial<ApiSchemaCommerceTradeDtoRefundOutcomeCreate>;
172
176
  export type ApiSchemaCommerceTradeDtoShipmentView =
173
177
  components['schemas']['commerce-trade.dto.shipmentView'];
174
178
  export type ApiSchemaCommerceTradeDtoShipmentViewPartial =
@@ -461,6 +465,14 @@ export type ApiSchemaPayMockDtoMockPaymentComplete =
461
465
  components['schemas']['pay-mock.dto.mockPaymentComplete'];
462
466
  export type ApiSchemaPayMockDtoMockPaymentCompletePartial =
463
467
  Partial<ApiSchemaPayMockDtoMockPaymentComplete>;
468
+ export type ApiSchemaPayMockDtoMockRefundReceipt =
469
+ components['schemas']['pay-mock.dto.mockRefundReceipt'];
470
+ export type ApiSchemaPayMockDtoMockRefundReceiptPartial =
471
+ Partial<ApiSchemaPayMockDtoMockRefundReceipt>;
472
+ export type ApiSchemaPayMockDtoMockRefundComplete =
473
+ components['schemas']['pay-mock.dto.mockRefundComplete'];
474
+ export type ApiSchemaPayMockDtoMockRefundCompletePartial =
475
+ Partial<ApiSchemaPayMockDtoMockRefundComplete>;
464
476
  export type ApiSchemaAPaypalEntityPaypalRecord =
465
477
  components['schemas']['a-paypal.entity.paypalRecord'];
466
478
  export type ApiSchemaAPaypalEntityPaypalRecordPartial = Partial<ApiSchemaAPaypalEntityPaypalRecord>;