@xoxno/types 1.0.338 → 1.0.339

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.
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Order type enum for xMoney orders
3
+ */
4
+ export declare enum XMoneyOrderType {
5
+ /** One-off payment */
6
+ Purchase = "purchase",
7
+ /** Recurring order billed automatically based on interval */
8
+ Recurring = "recurring",
9
+ /** Merchant-managed order; rebilling initiated by merchant */
10
+ Managed = "managed",
11
+ /** Credit transactions (OCTs/CFTs) */
12
+ Credit = "credit"
13
+ }
14
+ /**
15
+ * Interval type for recurring orders
16
+ */
17
+ export declare enum XMoneyIntervalType {
18
+ Day = "day",
19
+ Month = "month"
20
+ }
21
+ /**
22
+ * Transaction method for payment
23
+ */
24
+ export declare enum XMoneyTransactionMethod {
25
+ Card = "card",
26
+ Wallet = "wallet"
27
+ }
28
+ /**
29
+ * Card transaction mode
30
+ */
31
+ export declare enum XMoneyCardTransactionMode {
32
+ /** Authorizes card without capturing funds */
33
+ Auth = "auth",
34
+ /** Authorizes and immediately captures funds */
35
+ AuthAndCapture = "authAndCapture",
36
+ /** Credit transaction (refund/reversal) */
37
+ Credit = "credit"
38
+ }
39
+ /**
40
+ * Digital wallet type
41
+ */
42
+ export declare enum XMoneyWalletType {
43
+ GooglePay = "googlePay",
44
+ ApplePay = "applePay"
45
+ }
46
+ /**
47
+ * Soft decline option
48
+ */
49
+ export declare enum XMoneySoftDecline {
50
+ Yes = "yes",
51
+ No = "no"
52
+ }
53
+ /**
54
+ * 3D Secure redirect form method
55
+ */
56
+ export declare enum XMoneyRedirectFormMethod {
57
+ POST = "POST",
58
+ GET = "GET"
59
+ }
60
+ /**
61
+ * Digital wallet configuration for transaction options
62
+ */
63
+ export declare class XMoneyDigitalWallet {
64
+ walletType: XMoneyWalletType;
65
+ data: string;
66
+ }
67
+ /**
68
+ * Split payment schema item
69
+ */
70
+ export declare class XMoneySplitPaymentSchemaItem {
71
+ toSite: number;
72
+ amount: number;
73
+ description?: string;
74
+ tag?: string[];
75
+ }
76
+ /**
77
+ * Split payment configuration
78
+ */
79
+ export declare class XMoneySplitPayment {
80
+ splitSchema: XMoneySplitPaymentSchemaItem[];
81
+ }
82
+ /**
83
+ * Transaction options for xMoney order
84
+ */
85
+ export declare class XMoneyTransactionOption {
86
+ digitalWallet?: XMoneyDigitalWallet;
87
+ isSoftDecline?: XMoneySoftDecline;
88
+ subMerchantId?: string;
89
+ splitPayment?: XMoneySplitPayment;
90
+ }
91
+ /**
92
+ * xMoney Order Request - for creating orders
93
+ */
94
+ export declare class XMoneyOrderRequest {
95
+ amount: number;
96
+ currency: string;
97
+ orderType: XMoneyOrderType;
98
+ customerId: number;
99
+ siteId?: number;
100
+ description?: string;
101
+ externalOrderId?: string;
102
+ intervalType?: XMoneyIntervalType;
103
+ intervalValue?: number;
104
+ retryPayment?: string;
105
+ trialAmount?: number;
106
+ firstBillDate?: string;
107
+ backUrl?: string;
108
+ transactionMethod?: XMoneyTransactionMethod;
109
+ cardTransactionMode?: XMoneyCardTransactionMode;
110
+ cardId?: number;
111
+ cardNumber?: string;
112
+ cardExpiryDate?: string;
113
+ cardCvv?: string;
114
+ cardHolderName?: string;
115
+ cardHolderCountry?: string;
116
+ cardHolderState?: string;
117
+ saveCard?: boolean;
118
+ invoiceEmail?: string;
119
+ ip?: string;
120
+ threeDSecureData?: string;
121
+ externalCustomData?: string;
122
+ level3Data?: string;
123
+ transactionOption?: XMoneyTransactionOption;
124
+ }
125
+ /**
126
+ * Redirect data for 3D Secure payments
127
+ */
128
+ export declare class XMoneyRedirectData {
129
+ url: string;
130
+ params: Record<string, string>;
131
+ formMethod?: XMoneyRedirectFormMethod;
132
+ }
133
+ /**
134
+ * Successful order response data (201)
135
+ */
136
+ export declare class XMoneyOrderResponseData {
137
+ orderId: number;
138
+ transactionId: number;
139
+ cardId?: number;
140
+ is3d?: 0 | 1;
141
+ isRedirect?: boolean;
142
+ redirect?: XMoneyRedirectData;
143
+ }
144
+ /**
145
+ * Successful order response (201)
146
+ */
147
+ export declare class XMoneyOrderResponse {
148
+ code: number;
149
+ message: string;
150
+ data?: XMoneyOrderResponseData;
151
+ }
152
+ /**
153
+ * Error type enum
154
+ */
155
+ export declare enum XMoneyErrorType {
156
+ Exception = "Exception",
157
+ Validation = "Validation"
158
+ }
159
+ /**
160
+ * Error object in failed response
161
+ */
162
+ export declare class XMoneyOrderError {
163
+ code?: number;
164
+ message?: string;
165
+ type?: XMoneyErrorType;
166
+ field?: string;
167
+ }
168
+ /**
169
+ * Failed order response data (402)
170
+ */
171
+ export declare class XMoneyOrderErrorResponseData {
172
+ orderId: number;
173
+ transactionId?: number;
174
+ }
175
+ /**
176
+ * Failed order response (402)
177
+ */
178
+ export declare class XMoneyOrderErrorResponse {
179
+ code: number;
180
+ message: string;
181
+ data?: XMoneyOrderErrorResponseData;
182
+ error?: XMoneyOrderError[];
183
+ }
184
+ /**
185
+ * Combined order response type (can be success or error)
186
+ */
187
+ export type XMoneyOrderResult = XMoneyOrderResponse | XMoneyOrderErrorResponse;
@@ -0,0 +1,680 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.XMoneyOrderErrorResponse = exports.XMoneyOrderErrorResponseData = exports.XMoneyOrderError = exports.XMoneyErrorType = exports.XMoneyOrderResponse = exports.XMoneyOrderResponseData = exports.XMoneyRedirectData = exports.XMoneyOrderRequest = exports.XMoneyTransactionOption = exports.XMoneySplitPayment = exports.XMoneySplitPaymentSchemaItem = exports.XMoneyDigitalWallet = exports.XMoneyRedirectFormMethod = exports.XMoneySoftDecline = exports.XMoneyWalletType = exports.XMoneyCardTransactionMode = exports.XMoneyTransactionMethod = exports.XMoneyIntervalType = exports.XMoneyOrderType = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ // xMoney Order API Types based on xMoney API documentation
16
+ // https://docs.xmoney.com/
17
+ /**
18
+ * Order type enum for xMoney orders
19
+ */
20
+ var XMoneyOrderType;
21
+ (function (XMoneyOrderType) {
22
+ /** One-off payment */
23
+ XMoneyOrderType["Purchase"] = "purchase";
24
+ /** Recurring order billed automatically based on interval */
25
+ XMoneyOrderType["Recurring"] = "recurring";
26
+ /** Merchant-managed order; rebilling initiated by merchant */
27
+ XMoneyOrderType["Managed"] = "managed";
28
+ /** Credit transactions (OCTs/CFTs) */
29
+ XMoneyOrderType["Credit"] = "credit";
30
+ })(XMoneyOrderType || (exports.XMoneyOrderType = XMoneyOrderType = {}));
31
+ /**
32
+ * Interval type for recurring orders
33
+ */
34
+ var XMoneyIntervalType;
35
+ (function (XMoneyIntervalType) {
36
+ XMoneyIntervalType["Day"] = "day";
37
+ XMoneyIntervalType["Month"] = "month";
38
+ })(XMoneyIntervalType || (exports.XMoneyIntervalType = XMoneyIntervalType = {}));
39
+ /**
40
+ * Transaction method for payment
41
+ */
42
+ var XMoneyTransactionMethod;
43
+ (function (XMoneyTransactionMethod) {
44
+ XMoneyTransactionMethod["Card"] = "card";
45
+ XMoneyTransactionMethod["Wallet"] = "wallet";
46
+ })(XMoneyTransactionMethod || (exports.XMoneyTransactionMethod = XMoneyTransactionMethod = {}));
47
+ /**
48
+ * Card transaction mode
49
+ */
50
+ var XMoneyCardTransactionMode;
51
+ (function (XMoneyCardTransactionMode) {
52
+ /** Authorizes card without capturing funds */
53
+ XMoneyCardTransactionMode["Auth"] = "auth";
54
+ /** Authorizes and immediately captures funds */
55
+ XMoneyCardTransactionMode["AuthAndCapture"] = "authAndCapture";
56
+ /** Credit transaction (refund/reversal) */
57
+ XMoneyCardTransactionMode["Credit"] = "credit";
58
+ })(XMoneyCardTransactionMode || (exports.XMoneyCardTransactionMode = XMoneyCardTransactionMode = {}));
59
+ /**
60
+ * Digital wallet type
61
+ */
62
+ var XMoneyWalletType;
63
+ (function (XMoneyWalletType) {
64
+ XMoneyWalletType["GooglePay"] = "googlePay";
65
+ XMoneyWalletType["ApplePay"] = "applePay";
66
+ })(XMoneyWalletType || (exports.XMoneyWalletType = XMoneyWalletType = {}));
67
+ /**
68
+ * Soft decline option
69
+ */
70
+ var XMoneySoftDecline;
71
+ (function (XMoneySoftDecline) {
72
+ XMoneySoftDecline["Yes"] = "yes";
73
+ XMoneySoftDecline["No"] = "no";
74
+ })(XMoneySoftDecline || (exports.XMoneySoftDecline = XMoneySoftDecline = {}));
75
+ /**
76
+ * 3D Secure redirect form method
77
+ */
78
+ var XMoneyRedirectFormMethod;
79
+ (function (XMoneyRedirectFormMethod) {
80
+ XMoneyRedirectFormMethod["POST"] = "POST";
81
+ XMoneyRedirectFormMethod["GET"] = "GET";
82
+ })(XMoneyRedirectFormMethod || (exports.XMoneyRedirectFormMethod = XMoneyRedirectFormMethod = {}));
83
+ /**
84
+ * Digital wallet configuration for transaction options
85
+ */
86
+ class XMoneyDigitalWallet {
87
+ }
88
+ exports.XMoneyDigitalWallet = XMoneyDigitalWallet;
89
+ __decorate([
90
+ (0, swagger_1.ApiProperty)({
91
+ description: 'Type of digital wallet',
92
+ enum: XMoneyWalletType,
93
+ enumName: 'XMoneyWalletType',
94
+ }),
95
+ __metadata("design:type", String)
96
+ ], XMoneyDigitalWallet.prototype, "walletType", void 0);
97
+ __decorate([
98
+ (0, swagger_1.ApiProperty)({
99
+ description: 'Wallet payment data',
100
+ }),
101
+ __metadata("design:type", String)
102
+ ], XMoneyDigitalWallet.prototype, "data", void 0);
103
+ /**
104
+ * Split payment schema item
105
+ */
106
+ class XMoneySplitPaymentSchemaItem {
107
+ }
108
+ exports.XMoneySplitPaymentSchemaItem = XMoneySplitPaymentSchemaItem;
109
+ __decorate([
110
+ (0, swagger_1.ApiProperty)({
111
+ description: 'Destination site ID for the split amount',
112
+ }),
113
+ __metadata("design:type", Number)
114
+ ], XMoneySplitPaymentSchemaItem.prototype, "toSite", void 0);
115
+ __decorate([
116
+ (0, swagger_1.ApiProperty)({
117
+ description: 'Amount to split to this site',
118
+ type: 'number',
119
+ }),
120
+ __metadata("design:type", Number)
121
+ ], XMoneySplitPaymentSchemaItem.prototype, "amount", void 0);
122
+ __decorate([
123
+ (0, swagger_1.ApiPropertyOptional)({
124
+ description: 'Description for this split',
125
+ required: false,
126
+ }),
127
+ (0, class_validator_1.IsOptional)(),
128
+ __metadata("design:type", String)
129
+ ], XMoneySplitPaymentSchemaItem.prototype, "description", void 0);
130
+ __decorate([
131
+ (0, swagger_1.ApiPropertyOptional)({
132
+ description: 'Tags for this split',
133
+ type: [String],
134
+ isArray: true,
135
+ required: false,
136
+ }),
137
+ (0, class_validator_1.IsOptional)(),
138
+ __metadata("design:type", Array)
139
+ ], XMoneySplitPaymentSchemaItem.prototype, "tag", void 0);
140
+ /**
141
+ * Split payment configuration
142
+ */
143
+ class XMoneySplitPayment {
144
+ }
145
+ exports.XMoneySplitPayment = XMoneySplitPayment;
146
+ __decorate([
147
+ (0, swagger_1.ApiProperty)({
148
+ description: 'Array of split payment schemas',
149
+ type: [XMoneySplitPaymentSchemaItem],
150
+ isArray: true,
151
+ }),
152
+ __metadata("design:type", Array)
153
+ ], XMoneySplitPayment.prototype, "splitSchema", void 0);
154
+ /**
155
+ * Transaction options for xMoney order
156
+ */
157
+ class XMoneyTransactionOption {
158
+ }
159
+ exports.XMoneyTransactionOption = XMoneyTransactionOption;
160
+ __decorate([
161
+ (0, swagger_1.ApiPropertyOptional)({
162
+ description: 'Digital wallet configuration',
163
+ type: () => XMoneyDigitalWallet,
164
+ required: false,
165
+ }),
166
+ (0, class_validator_1.IsOptional)(),
167
+ __metadata("design:type", XMoneyDigitalWallet)
168
+ ], XMoneyTransactionOption.prototype, "digitalWallet", void 0);
169
+ __decorate([
170
+ (0, swagger_1.ApiPropertyOptional)({
171
+ description: 'Soft decline handling',
172
+ enum: XMoneySoftDecline,
173
+ enumName: 'XMoneySoftDecline',
174
+ required: false,
175
+ }),
176
+ (0, class_validator_1.IsOptional)(),
177
+ __metadata("design:type", String)
178
+ ], XMoneyTransactionOption.prototype, "isSoftDecline", void 0);
179
+ __decorate([
180
+ (0, swagger_1.ApiPropertyOptional)({
181
+ description: 'Sub-merchant ID for payment facilitators',
182
+ required: false,
183
+ }),
184
+ (0, class_validator_1.IsOptional)(),
185
+ __metadata("design:type", String)
186
+ ], XMoneyTransactionOption.prototype, "subMerchantId", void 0);
187
+ __decorate([
188
+ (0, swagger_1.ApiPropertyOptional)({
189
+ description: 'Split payment configuration',
190
+ type: () => XMoneySplitPayment,
191
+ required: false,
192
+ }),
193
+ (0, class_validator_1.IsOptional)(),
194
+ __metadata("design:type", XMoneySplitPayment)
195
+ ], XMoneyTransactionOption.prototype, "splitPayment", void 0);
196
+ /**
197
+ * xMoney Order Request - for creating orders
198
+ */
199
+ class XMoneyOrderRequest {
200
+ }
201
+ exports.XMoneyOrderRequest = XMoneyOrderRequest;
202
+ __decorate([
203
+ (0, swagger_1.ApiProperty)({
204
+ description: 'Monetary amount in the given currency (e.g., 100.00 for €100.00)',
205
+ type: 'number',
206
+ example: 100.0,
207
+ }),
208
+ __metadata("design:type", Number)
209
+ ], XMoneyOrderRequest.prototype, "amount", void 0);
210
+ __decorate([
211
+ (0, swagger_1.ApiProperty)({
212
+ description: 'ISO 4217 three-character currency code',
213
+ example: 'EUR',
214
+ minLength: 3,
215
+ maxLength: 3,
216
+ }),
217
+ __metadata("design:type", String)
218
+ ], XMoneyOrderRequest.prototype, "currency", void 0);
219
+ __decorate([
220
+ (0, swagger_1.ApiProperty)({
221
+ description: 'Type of the order',
222
+ enum: XMoneyOrderType,
223
+ enumName: 'XMoneyOrderType',
224
+ }),
225
+ __metadata("design:type", String)
226
+ ], XMoneyOrderRequest.prototype, "orderType", void 0);
227
+ __decorate([
228
+ (0, swagger_1.ApiProperty)({
229
+ description: 'Unique identifier for the customer',
230
+ type: 'number',
231
+ }),
232
+ __metadata("design:type", Number)
233
+ ], XMoneyOrderRequest.prototype, "customerId", void 0);
234
+ __decorate([
235
+ (0, swagger_1.ApiPropertyOptional)({
236
+ description: 'Unique identifier of your site profile (mandatory if more than one site is configured)',
237
+ type: 'number',
238
+ required: false,
239
+ }),
240
+ (0, class_validator_1.IsOptional)(),
241
+ __metadata("design:type", Number)
242
+ ], XMoneyOrderRequest.prototype, "siteId", void 0);
243
+ __decorate([
244
+ (0, swagger_1.ApiPropertyOptional)({
245
+ description: 'Description of the goods or services included in the order',
246
+ required: false,
247
+ }),
248
+ (0, class_validator_1.IsOptional)(),
249
+ __metadata("design:type", String)
250
+ ], XMoneyOrderRequest.prototype, "description", void 0);
251
+ __decorate([
252
+ (0, swagger_1.ApiPropertyOptional)({
253
+ description: 'External order identifier to link the order with an external system',
254
+ required: false,
255
+ }),
256
+ (0, class_validator_1.IsOptional)(),
257
+ __metadata("design:type", String)
258
+ ], XMoneyOrderRequest.prototype, "externalOrderId", void 0);
259
+ __decorate([
260
+ (0, swagger_1.ApiPropertyOptional)({
261
+ description: 'Type of recurring interval (required for recurring orders)',
262
+ enum: XMoneyIntervalType,
263
+ enumName: 'XMoneyIntervalType',
264
+ required: false,
265
+ }),
266
+ (0, class_validator_1.IsOptional)(),
267
+ __metadata("design:type", String)
268
+ ], XMoneyOrderRequest.prototype, "intervalType", void 0);
269
+ __decorate([
270
+ (0, swagger_1.ApiPropertyOptional)({
271
+ description: 'Value of recurring interval (e.g., 3 with month = every 3 months)',
272
+ type: 'number',
273
+ required: false,
274
+ }),
275
+ (0, class_validator_1.IsOptional)(),
276
+ __metadata("design:type", Number)
277
+ ], XMoneyOrderRequest.prototype, "intervalValue", void 0);
278
+ __decorate([
279
+ (0, swagger_1.ApiPropertyOptional)({
280
+ description: 'Comma-separated ISO 8601 Durations for retry intervals (e.g., PT1H,PT2H)',
281
+ example: 'PT1H,PT2H',
282
+ required: false,
283
+ }),
284
+ (0, class_validator_1.IsOptional)(),
285
+ __metadata("design:type", String)
286
+ ], XMoneyOrderRequest.prototype, "retryPayment", void 0);
287
+ __decorate([
288
+ (0, swagger_1.ApiPropertyOptional)({
289
+ description: 'Amount to charge for initial (trial) payment',
290
+ type: 'number',
291
+ required: false,
292
+ }),
293
+ (0, class_validator_1.IsOptional)(),
294
+ __metadata("design:type", Number)
295
+ ], XMoneyOrderRequest.prototype, "trialAmount", void 0);
296
+ __decorate([
297
+ (0, swagger_1.ApiPropertyOptional)({
298
+ description: 'Initial billing date when different from regular interval (ISO 8601 format)',
299
+ example: '2024-02-01T10:00:00Z',
300
+ required: false,
301
+ }),
302
+ (0, class_validator_1.IsOptional)(),
303
+ __metadata("design:type", String)
304
+ ], XMoneyOrderRequest.prototype, "firstBillDate", void 0);
305
+ __decorate([
306
+ (0, swagger_1.ApiPropertyOptional)({
307
+ description: 'URL to redirect cardholder after 3D Secure or digital wallet payment',
308
+ example: 'https://myserver.com/callback/success-payment',
309
+ required: false,
310
+ }),
311
+ (0, class_validator_1.IsOptional)(),
312
+ __metadata("design:type", String)
313
+ ], XMoneyOrderRequest.prototype, "backUrl", void 0);
314
+ __decorate([
315
+ (0, swagger_1.ApiPropertyOptional)({
316
+ description: 'Payment method for the transaction',
317
+ enum: XMoneyTransactionMethod,
318
+ enumName: 'XMoneyTransactionMethod',
319
+ required: false,
320
+ }),
321
+ (0, class_validator_1.IsOptional)(),
322
+ __metadata("design:type", String)
323
+ ], XMoneyOrderRequest.prototype, "transactionMethod", void 0);
324
+ __decorate([
325
+ (0, swagger_1.ApiPropertyOptional)({
326
+ description: 'How the card transaction is processed',
327
+ enum: XMoneyCardTransactionMode,
328
+ enumName: 'XMoneyCardTransactionMode',
329
+ required: false,
330
+ }),
331
+ (0, class_validator_1.IsOptional)(),
332
+ __metadata("design:type", String)
333
+ ], XMoneyOrderRequest.prototype, "cardTransactionMode", void 0);
334
+ __decorate([
335
+ (0, swagger_1.ApiPropertyOptional)({
336
+ description: 'ID of a stored card belonging to the current customer',
337
+ type: 'number',
338
+ example: 123,
339
+ required: false,
340
+ }),
341
+ (0, class_validator_1.IsOptional)(),
342
+ __metadata("design:type", Number)
343
+ ], XMoneyOrderRequest.prototype, "cardId", void 0);
344
+ __decorate([
345
+ (0, swagger_1.ApiPropertyOptional)({
346
+ description: 'Card number (numbers only, no spaces)',
347
+ required: false,
348
+ }),
349
+ (0, class_validator_1.IsOptional)(),
350
+ __metadata("design:type", String)
351
+ ], XMoneyOrderRequest.prototype, "cardNumber", void 0);
352
+ __decorate([
353
+ (0, swagger_1.ApiPropertyOptional)({
354
+ description: 'Card expiry date (MM/YY)',
355
+ example: '12/28',
356
+ required: false,
357
+ }),
358
+ (0, class_validator_1.IsOptional)(),
359
+ __metadata("design:type", String)
360
+ ], XMoneyOrderRequest.prototype, "cardExpiryDate", void 0);
361
+ __decorate([
362
+ (0, swagger_1.ApiPropertyOptional)({
363
+ description: 'Card verification value (3 digits for Visa/MC, 4 for Amex)',
364
+ required: false,
365
+ }),
366
+ (0, class_validator_1.IsOptional)(),
367
+ __metadata("design:type", String)
368
+ ], XMoneyOrderRequest.prototype, "cardCvv", void 0);
369
+ __decorate([
370
+ (0, swagger_1.ApiPropertyOptional)({
371
+ description: "Cardholder's name",
372
+ required: false,
373
+ }),
374
+ (0, class_validator_1.IsOptional)(),
375
+ __metadata("design:type", String)
376
+ ], XMoneyOrderRequest.prototype, "cardHolderName", void 0);
377
+ __decorate([
378
+ (0, swagger_1.ApiPropertyOptional)({
379
+ description: "Cardholder's country (ISO 3166-1 alpha-2)",
380
+ example: 'US',
381
+ minLength: 2,
382
+ maxLength: 2,
383
+ required: false,
384
+ }),
385
+ (0, class_validator_1.IsOptional)(),
386
+ __metadata("design:type", String)
387
+ ], XMoneyOrderRequest.prototype, "cardHolderCountry", void 0);
388
+ __decorate([
389
+ (0, swagger_1.ApiPropertyOptional)({
390
+ description: "Cardholder's state (for US and CA only, ISO 3166-2 two-letter code)",
391
+ example: 'NY',
392
+ minLength: 2,
393
+ maxLength: 2,
394
+ required: false,
395
+ }),
396
+ (0, class_validator_1.IsOptional)(),
397
+ __metadata("design:type", String)
398
+ ], XMoneyOrderRequest.prototype, "cardHolderState", void 0);
399
+ __decorate([
400
+ (0, swagger_1.ApiPropertyOptional)({
401
+ description: 'Whether to save the card information for future use',
402
+ type: 'boolean',
403
+ required: false,
404
+ }),
405
+ (0, class_validator_1.IsOptional)(),
406
+ __metadata("design:type", Boolean)
407
+ ], XMoneyOrderRequest.prototype, "saveCard", void 0);
408
+ __decorate([
409
+ (0, swagger_1.ApiPropertyOptional)({
410
+ description: 'Email address to send the invoice to',
411
+ format: 'email',
412
+ required: false,
413
+ }),
414
+ (0, class_validator_1.IsOptional)(),
415
+ __metadata("design:type", String)
416
+ ], XMoneyOrderRequest.prototype, "invoiceEmail", void 0);
417
+ __decorate([
418
+ (0, swagger_1.ApiPropertyOptional)({
419
+ description: "Customer's IP address (IPv4 or IPv6)",
420
+ required: false,
421
+ }),
422
+ (0, class_validator_1.IsOptional)(),
423
+ __metadata("design:type", String)
424
+ ], XMoneyOrderRequest.prototype, "ip", void 0);
425
+ __decorate([
426
+ (0, swagger_1.ApiPropertyOptional)({
427
+ description: 'Base64 encoded JSON object containing 3D Secure version 2 data',
428
+ required: false,
429
+ }),
430
+ (0, class_validator_1.IsOptional)(),
431
+ __metadata("design:type", String)
432
+ ], XMoneyOrderRequest.prototype, "threeDSecureData", void 0);
433
+ __decorate([
434
+ (0, swagger_1.ApiPropertyOptional)({
435
+ description: 'Custom data passed back in IPN callback (can be JSON-encoded string)',
436
+ required: false,
437
+ }),
438
+ (0, class_validator_1.IsOptional)(),
439
+ __metadata("design:type", String)
440
+ ], XMoneyOrderRequest.prototype, "externalCustomData", void 0);
441
+ __decorate([
442
+ (0, swagger_1.ApiPropertyOptional)({
443
+ description: 'Detailed information about items/tickets in JSON format',
444
+ required: false,
445
+ }),
446
+ (0, class_validator_1.IsOptional)(),
447
+ __metadata("design:type", String)
448
+ ], XMoneyOrderRequest.prototype, "level3Data", void 0);
449
+ __decorate([
450
+ (0, swagger_1.ApiPropertyOptional)({
451
+ description: 'Optional transaction flags and configurations',
452
+ type: () => XMoneyTransactionOption,
453
+ required: false,
454
+ }),
455
+ (0, class_validator_1.IsOptional)(),
456
+ __metadata("design:type", XMoneyTransactionOption)
457
+ ], XMoneyOrderRequest.prototype, "transactionOption", void 0);
458
+ /**
459
+ * Redirect data for 3D Secure payments
460
+ */
461
+ class XMoneyRedirectData {
462
+ }
463
+ exports.XMoneyRedirectData = XMoneyRedirectData;
464
+ __decorate([
465
+ (0, swagger_1.ApiProperty)({
466
+ description: 'URL of the ACS (Access Control Server)',
467
+ }),
468
+ __metadata("design:type", String)
469
+ ], XMoneyRedirectData.prototype, "url", void 0);
470
+ __decorate([
471
+ (0, swagger_1.ApiProperty)({
472
+ description: 'Key-value pairs of parameters to send to the ACS URL using formMethod',
473
+ type: 'object',
474
+ additionalProperties: { type: 'string' },
475
+ }),
476
+ __metadata("design:type", Object)
477
+ ], XMoneyRedirectData.prototype, "params", void 0);
478
+ __decorate([
479
+ (0, swagger_1.ApiPropertyOptional)({
480
+ description: 'HTTP method to use when redirecting',
481
+ enum: XMoneyRedirectFormMethod,
482
+ enumName: 'XMoneyRedirectFormMethod',
483
+ required: false,
484
+ }),
485
+ (0, class_validator_1.IsOptional)(),
486
+ __metadata("design:type", String)
487
+ ], XMoneyRedirectData.prototype, "formMethod", void 0);
488
+ /**
489
+ * Successful order response data (201)
490
+ */
491
+ class XMoneyOrderResponseData {
492
+ }
493
+ exports.XMoneyOrderResponseData = XMoneyOrderResponseData;
494
+ __decorate([
495
+ (0, swagger_1.ApiProperty)({
496
+ description: 'Order ID from xMoney',
497
+ type: 'number',
498
+ }),
499
+ __metadata("design:type", Number)
500
+ ], XMoneyOrderResponseData.prototype, "orderId", void 0);
501
+ __decorate([
502
+ (0, swagger_1.ApiProperty)({
503
+ description: 'Transaction ID from xMoney',
504
+ type: 'number',
505
+ }),
506
+ __metadata("design:type", Number)
507
+ ], XMoneyOrderResponseData.prototype, "transactionId", void 0);
508
+ __decorate([
509
+ (0, swagger_1.ApiPropertyOptional)({
510
+ description: 'Card ID if the card was saved',
511
+ type: 'number',
512
+ required: false,
513
+ }),
514
+ (0, class_validator_1.IsOptional)(),
515
+ __metadata("design:type", Number)
516
+ ], XMoneyOrderResponseData.prototype, "cardId", void 0);
517
+ __decorate([
518
+ (0, swagger_1.ApiPropertyOptional)({
519
+ description: 'Whether 3D Secure is required (0 or 1)',
520
+ enum: [0, 1],
521
+ required: false,
522
+ }),
523
+ (0, class_validator_1.IsOptional)(),
524
+ __metadata("design:type", Number)
525
+ ], XMoneyOrderResponseData.prototype, "is3d", void 0);
526
+ __decorate([
527
+ (0, swagger_1.ApiPropertyOptional)({
528
+ description: 'Whether a redirect is required',
529
+ type: 'boolean',
530
+ required: false,
531
+ }),
532
+ (0, class_validator_1.IsOptional)(),
533
+ __metadata("design:type", Boolean)
534
+ ], XMoneyOrderResponseData.prototype, "isRedirect", void 0);
535
+ __decorate([
536
+ (0, swagger_1.ApiPropertyOptional)({
537
+ description: 'Redirect data (available only if is3d = 1)',
538
+ type: () => XMoneyRedirectData,
539
+ required: false,
540
+ }),
541
+ (0, class_validator_1.IsOptional)(),
542
+ __metadata("design:type", XMoneyRedirectData)
543
+ ], XMoneyOrderResponseData.prototype, "redirect", void 0);
544
+ /**
545
+ * Successful order response (201)
546
+ */
547
+ class XMoneyOrderResponse {
548
+ }
549
+ exports.XMoneyOrderResponse = XMoneyOrderResponse;
550
+ __decorate([
551
+ (0, swagger_1.ApiProperty)({
552
+ description: 'Response code',
553
+ type: 'number',
554
+ }),
555
+ __metadata("design:type", Number)
556
+ ], XMoneyOrderResponse.prototype, "code", void 0);
557
+ __decorate([
558
+ (0, swagger_1.ApiProperty)({
559
+ description: 'Response message',
560
+ }),
561
+ __metadata("design:type", String)
562
+ ], XMoneyOrderResponse.prototype, "message", void 0);
563
+ __decorate([
564
+ (0, swagger_1.ApiPropertyOptional)({
565
+ description: 'Response data',
566
+ type: () => XMoneyOrderResponseData,
567
+ required: false,
568
+ }),
569
+ (0, class_validator_1.IsOptional)(),
570
+ __metadata("design:type", XMoneyOrderResponseData)
571
+ ], XMoneyOrderResponse.prototype, "data", void 0);
572
+ /**
573
+ * Error type enum
574
+ */
575
+ var XMoneyErrorType;
576
+ (function (XMoneyErrorType) {
577
+ XMoneyErrorType["Exception"] = "Exception";
578
+ XMoneyErrorType["Validation"] = "Validation";
579
+ })(XMoneyErrorType || (exports.XMoneyErrorType = XMoneyErrorType = {}));
580
+ /**
581
+ * Error object in failed response
582
+ */
583
+ class XMoneyOrderError {
584
+ }
585
+ exports.XMoneyOrderError = XMoneyOrderError;
586
+ __decorate([
587
+ (0, swagger_1.ApiPropertyOptional)({
588
+ description: 'System error code',
589
+ type: 'number',
590
+ required: false,
591
+ }),
592
+ (0, class_validator_1.IsOptional)(),
593
+ __metadata("design:type", Number)
594
+ ], XMoneyOrderError.prototype, "code", void 0);
595
+ __decorate([
596
+ (0, swagger_1.ApiPropertyOptional)({
597
+ description: 'System error message',
598
+ required: false,
599
+ }),
600
+ (0, class_validator_1.IsOptional)(),
601
+ __metadata("design:type", String)
602
+ ], XMoneyOrderError.prototype, "message", void 0);
603
+ __decorate([
604
+ (0, swagger_1.ApiPropertyOptional)({
605
+ description: 'System error type',
606
+ enum: XMoneyErrorType,
607
+ enumName: 'XMoneyErrorType',
608
+ required: false,
609
+ }),
610
+ (0, class_validator_1.IsOptional)(),
611
+ __metadata("design:type", String)
612
+ ], XMoneyOrderError.prototype, "type", void 0);
613
+ __decorate([
614
+ (0, swagger_1.ApiPropertyOptional)({
615
+ description: 'Field name that caused the error',
616
+ required: false,
617
+ }),
618
+ (0, class_validator_1.IsOptional)(),
619
+ __metadata("design:type", String)
620
+ ], XMoneyOrderError.prototype, "field", void 0);
621
+ /**
622
+ * Failed order response data (402)
623
+ */
624
+ class XMoneyOrderErrorResponseData {
625
+ }
626
+ exports.XMoneyOrderErrorResponseData = XMoneyOrderErrorResponseData;
627
+ __decorate([
628
+ (0, swagger_1.ApiProperty)({
629
+ description: 'Order ID from xMoney',
630
+ type: 'number',
631
+ }),
632
+ __metadata("design:type", Number)
633
+ ], XMoneyOrderErrorResponseData.prototype, "orderId", void 0);
634
+ __decorate([
635
+ (0, swagger_1.ApiPropertyOptional)({
636
+ description: 'Transaction ID from xMoney',
637
+ type: 'number',
638
+ required: false,
639
+ }),
640
+ (0, class_validator_1.IsOptional)(),
641
+ __metadata("design:type", Number)
642
+ ], XMoneyOrderErrorResponseData.prototype, "transactionId", void 0);
643
+ /**
644
+ * Failed order response (402)
645
+ */
646
+ class XMoneyOrderErrorResponse {
647
+ }
648
+ exports.XMoneyOrderErrorResponse = XMoneyOrderErrorResponse;
649
+ __decorate([
650
+ (0, swagger_1.ApiProperty)({
651
+ description: 'Response code',
652
+ type: 'number',
653
+ }),
654
+ __metadata("design:type", Number)
655
+ ], XMoneyOrderErrorResponse.prototype, "code", void 0);
656
+ __decorate([
657
+ (0, swagger_1.ApiProperty)({
658
+ description: 'Response message',
659
+ }),
660
+ __metadata("design:type", String)
661
+ ], XMoneyOrderErrorResponse.prototype, "message", void 0);
662
+ __decorate([
663
+ (0, swagger_1.ApiPropertyOptional)({
664
+ description: 'Response data',
665
+ type: () => XMoneyOrderErrorResponseData,
666
+ required: false,
667
+ }),
668
+ (0, class_validator_1.IsOptional)(),
669
+ __metadata("design:type", XMoneyOrderErrorResponseData)
670
+ ], XMoneyOrderErrorResponse.prototype, "data", void 0);
671
+ __decorate([
672
+ (0, swagger_1.ApiPropertyOptional)({
673
+ description: 'Array of errors',
674
+ type: [XMoneyOrderError],
675
+ isArray: true,
676
+ required: false,
677
+ }),
678
+ (0, class_validator_1.IsOptional)(),
679
+ __metadata("design:type", Array)
680
+ ], XMoneyOrderErrorResponse.prototype, "error", void 0);
@@ -1,5 +1,6 @@
1
1
  export declare enum PaymentProvider {
2
2
  Twispay = "Twispay",
3
+ XMoney = "XMoney",
3
4
  Binance = "Binance",
4
5
  Stripe = "Stripe",
5
6
  Crypto = "Crypto"
@@ -4,6 +4,7 @@ exports.PaymentProvider = void 0;
4
4
  var PaymentProvider;
5
5
  (function (PaymentProvider) {
6
6
  PaymentProvider["Twispay"] = "Twispay";
7
+ PaymentProvider["XMoney"] = "XMoney";
7
8
  PaymentProvider["Binance"] = "Binance";
8
9
  PaymentProvider["Stripe"] = "Stripe";
9
10
  PaymentProvider["Crypto"] = "Crypto";
package/dist/index.d.ts CHANGED
@@ -38,6 +38,7 @@ export * from './cosmos-db/documents/external-payment/twispay-cart';
38
38
  export * from './cosmos-db/documents/external-payment/twispay-customer';
39
39
  export * from './cosmos-db/documents/external-payment/twispay-payment-form';
40
40
  export * from './cosmos-db/documents/external-payment/twispay-transaction';
41
+ export * from './cosmos-db/documents/external-payment/xmoney-order';
41
42
  export * from './cosmos-db/documents/lending/lending-account-pnl';
42
43
  export * from './cosmos-db/documents/lending/lending-account-profile';
43
44
  export * from './cosmos-db/documents/lending/lending-account-summary';
package/dist/index.js CHANGED
@@ -54,6 +54,7 @@ __exportStar(require("./cosmos-db/documents/external-payment/twispay-cart"), exp
54
54
  __exportStar(require("./cosmos-db/documents/external-payment/twispay-customer"), exports);
55
55
  __exportStar(require("./cosmos-db/documents/external-payment/twispay-payment-form"), exports);
56
56
  __exportStar(require("./cosmos-db/documents/external-payment/twispay-transaction"), exports);
57
+ __exportStar(require("./cosmos-db/documents/external-payment/xmoney-order"), exports);
57
58
  __exportStar(require("./cosmos-db/documents/lending/lending-account-pnl"), exports);
58
59
  __exportStar(require("./cosmos-db/documents/lending/lending-account-profile"), exports);
59
60
  __exportStar(require("./cosmos-db/documents/lending/lending-account-summary"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xoxno/types",
3
- "version": "1.0.338",
3
+ "version": "1.0.339",
4
4
  "description": "Shared types and utilities for XOXNO API.",
5
5
  "exports": {
6
6
  ".": {