@yuno-payments/sdk-web-types 1.6.0 → 1.7.0

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,493 @@
1
+ interface Customer {
2
+ first_name?: string | null;
3
+ last_name?: string | null;
4
+ email?: string | null;
5
+ gender?: string | null;
6
+ device_fingerprint?: string | null;
7
+ third_party_session_id?: string | null;
8
+ document?: {
9
+ document_number: string;
10
+ document_type: string;
11
+ } | null;
12
+ phone?: {
13
+ country_code: string;
14
+ number: string;
15
+ } | null;
16
+ billing_address?: {
17
+ address_line_1: string;
18
+ address_line_2: string;
19
+ city: string;
20
+ country: string;
21
+ state: string;
22
+ zip_code: string;
23
+ } | null;
24
+ shipping_address?: {
25
+ address_line_1: string;
26
+ address_line_2: string;
27
+ country: string;
28
+ state: string;
29
+ city: string;
30
+ zip_code: string;
31
+ } | null;
32
+ }
33
+
34
+ interface Card {
35
+ number: string | null;
36
+ expiration_month: number | null;
37
+ expiration_year: number | null;
38
+ security_code: string | null;
39
+ holder_name: string | null;
40
+ type: string | null;
41
+ }
42
+ interface OneTimeToken$1 {
43
+ token: string;
44
+ vaulted_token: string | null;
45
+ vault_on_success: boolean;
46
+ type: string;
47
+ card_data?: {
48
+ holder_name: string;
49
+ iin: string;
50
+ lfd: string;
51
+ number_length: number;
52
+ security_code_length: number;
53
+ brand: string;
54
+ issuer_name: string;
55
+ issuer_code: string | null;
56
+ category: string | null;
57
+ type: string;
58
+ };
59
+ customer: Customer;
60
+ }
61
+ type ApiClientCard = {
62
+ save?: boolean;
63
+ detail?: Partial<Card>;
64
+ three_d_secure?: {
65
+ three_d_secure_setup_id?: string | null;
66
+ };
67
+ installment?: {
68
+ id: string;
69
+ value: number;
70
+ amount?: {
71
+ currency: string;
72
+ value: string;
73
+ total_value: string;
74
+ } | null;
75
+ };
76
+ };
77
+ declare enum StatusEnrollment {
78
+ CREATED = "CREATED",
79
+ EXPIRED = "EXPIRED",
80
+ REJECTED = "REJECTED",
81
+ READY_TO_ENROLL = "READY_TO_ENROLL",
82
+ ENROLL_IN_PROCESS = "ENROLL_IN_PROCESS",
83
+ UNENROLL_IN_PROCESS = "UNENROLL_IN_PROCESS",
84
+ ENROLLED = "ENROLLED",
85
+ DECLINED = "DECLINED",
86
+ CANCELED = "CANCELED",
87
+ ERROR = "ERROR",
88
+ UNENROLLED = "UNENROLLED"
89
+ }
90
+ declare enum CountryCode {
91
+ ANGUILLA = "AI",
92
+ ANTIGUA_AND_BARBUDA = "AG",
93
+ ARGENTINA = "AR",
94
+ ARUBA = "AW",
95
+ BAHAMAS = "BS",
96
+ BARBADOS = "BB",
97
+ BELIZE = "BZ",
98
+ BERMUDA = "BM",
99
+ BOLIVIA = "BO",
100
+ BONAIRE = "BQ",
101
+ BOTSWANA = "BW",
102
+ BRAZIL = "BR",
103
+ CANADA = "CA",
104
+ CAYMAN_ISLANDS = "KY",
105
+ CHILE = "CL",
106
+ COLOMBIA = "CO",
107
+ COSTA_RICA = "CR",
108
+ CUBA = "CU",
109
+ CURAÇAO = "CW",
110
+ DOMINICA = "DM",
111
+ DOMINICAN_REPUBLIC = "DO",
112
+ ECUADOR = "EC",
113
+ EL_SALVADOR = "SV",
114
+ FALKLAND_ISLANDS = "FK",
115
+ PHILIPPINES = "PH",
116
+ FRENCH_GUIANA = "GF",
117
+ GREENLAND = "GL",
118
+ GRENADA = "GD",
119
+ GUADELOUPE = "GP",
120
+ GUATEMALA = "GT",
121
+ GUYANA = "GY",
122
+ HAITI = "HT",
123
+ HONDURAS = "HN",
124
+ INDONESIA = "ID",
125
+ JAMAICA = "JM",
126
+ MALAYSIA = "MY",
127
+ MARTINIQUE = "MQ",
128
+ MEXICO = "MX",
129
+ MONTSERRAT = "MS",
130
+ NICARAGUA = "NI",
131
+ PANAMA = "PA",
132
+ PARAGUAY = "PY",
133
+ PERU = "PE",
134
+ PUERTO_RICO = "PR",
135
+ SAINT_BARTHÉLEMY = "BL",
136
+ SAINT_KITTS_AND_NEVIS = "KN",
137
+ SAINT_LUCIA = "LC",
138
+ SAINT_MARTIN = "MF",
139
+ SAINT_PIERRE_AND_MIQUELON = "PM",
140
+ SAINT_VINCENT_AND_THE_GRENADINES = "VC",
141
+ SINT_MAARTEN = "SX",
142
+ SURINAME = "SR",
143
+ THAILAND = "TH",
144
+ TRINIDAD_AND_TOBAGO = "TT",
145
+ TURKS_AND_CAICOS_ISLANDS = "TC",
146
+ UNITED_STATES = "US",
147
+ URUGUAY = "UY",
148
+ VENEZUELA = "VE",
149
+ VIRGIN_ISLANDS_BRITISH = "VG",
150
+ VIRGIN_ISLANDS_US = "VI",
151
+ ZIMBABWE = "ZW"
152
+ }
153
+
154
+ type ApiClientPaymentArgs = {
155
+ checkout_session: string;
156
+ country_code: CountryCode;
157
+ };
158
+ type GenerateTokenArgs$1 = {
159
+ checkout_session?: string;
160
+ payment_method: {
161
+ type: string;
162
+ vaulted_token?: string | null;
163
+ card?: ApiClientCard;
164
+ customer?: Customer;
165
+ device_fingerprint?: string | null;
166
+ third_party_session_id?: string | null;
167
+ };
168
+ };
169
+ type GetThreeDSecureChallengeReturn = {
170
+ url: string;
171
+ };
172
+ type GenerateToken = (args: GenerateTokenArgs$1) => Promise<OneTimeToken$1>;
173
+ type GetThreeDSecureChallenge = (checkoutSession?: string) => Promise<GetThreeDSecureChallengeReturn>;
174
+ type ApiClientPaymentReturn = {
175
+ generateToken: GenerateToken;
176
+ getThreeDSecureChallenge: GetThreeDSecureChallenge;
177
+ };
178
+ type ApiClientPayment = (args: ApiClientPaymentArgs) => ApiClientPaymentReturn;
179
+
180
+ type ApiClientEnrollArgs = {
181
+ customer_session: string;
182
+ country_code: CountryCode;
183
+ };
184
+ type ContinueEnrollmentArgs = {
185
+ customer_session?: string;
186
+ payment_method: {
187
+ type: string;
188
+ card?: ApiClientCard;
189
+ customer?: Customer;
190
+ };
191
+ };
192
+ type ContinueEnrollmentReturn = {
193
+ vaulted_token: string;
194
+ status: string;
195
+ customer: {
196
+ session: StatusEnrollment;
197
+ };
198
+ };
199
+ type ApiClientEnrollReturn = {
200
+ continueEnrollment: (args: ContinueEnrollmentArgs) => Promise<ContinueEnrollmentReturn>;
201
+ };
202
+ type ApiClientEnroll = (args: ApiClientEnrollArgs) => ApiClientEnrollReturn;
203
+
204
+ type Status = 'FAIL' | 'REJECT' | 'SUCCEEDED' | 'PROCESSING' | 'READY';
205
+ type EnrollmentStatus = 'CREATED' | 'EXPIRED' | 'REJECTED' | 'READY_TO_ENROLL' | 'ENROLL_IN_PROCESS' | 'UNENROLL_IN_PROCESS' | 'ENROLLED' | 'DECLINED' | 'CANCELED' | 'ERROR' | 'UNENROLLED';
206
+
207
+ type Name = 'cvv' | 'pan' | 'expiration';
208
+ type Installment = {
209
+ installmentId: string;
210
+ installment: number;
211
+ amount: {
212
+ currency: string;
213
+ value: string;
214
+ total_value: string;
215
+ };
216
+ };
217
+ interface CardIINResponse {
218
+ id: string;
219
+ iin: string;
220
+ scheme: string;
221
+ issuer_name: string;
222
+ issuer_code: string;
223
+ brand: string;
224
+ type: string;
225
+ category: string;
226
+ country_code: string;
227
+ country_name: string;
228
+ website: string;
229
+ phone: {
230
+ country_code: string;
231
+ number: string;
232
+ };
233
+ address: {
234
+ address_line_1: string;
235
+ address_line_2: string | null;
236
+ city: string;
237
+ country: string;
238
+ state: string;
239
+ zip_code: string;
240
+ };
241
+ }
242
+ type OnChangeArgs = {
243
+ error: boolean;
244
+ data?: {
245
+ installments?: Installment[];
246
+ cardIIN?: CardIINResponse;
247
+ isCardIINLoading: boolean;
248
+ isInstallmentLoading: boolean;
249
+ };
250
+ };
251
+ type Create = {
252
+ name: Name;
253
+ options: {
254
+ label?: string;
255
+ showError?: boolean;
256
+ onChange?(onChangeArgs: OnChangeArgs): void;
257
+ onBlur?(): void;
258
+ onFocus?(): void;
259
+ styles?: string;
260
+ placeholder?: string;
261
+ errorMessage?: string;
262
+ };
263
+ };
264
+ type GetElement = {
265
+ name: Name;
266
+ };
267
+ interface GenerateTokenArgs {
268
+ checkoutSession?: string;
269
+ cardHolderName: string;
270
+ saveCard?: boolean;
271
+ customer?: Partial<Customer>;
272
+ installment?: {
273
+ id: string;
274
+ value: number;
275
+ amount?: {
276
+ currency: string;
277
+ value: string;
278
+ total_value: string;
279
+ };
280
+ };
281
+ cardType?: string;
282
+ }
283
+ interface GenerateVaultedToken {
284
+ customerSession?: string;
285
+ cardHolderName: string;
286
+ customer?: Partial<Customer>;
287
+ cardType?: string;
288
+ }
289
+ interface OneTimeToken {
290
+ token: string;
291
+ vaulted_token: string | null;
292
+ vault_on_success: boolean;
293
+ type: string;
294
+ card_data?: {
295
+ holder_name: string;
296
+ iin: string;
297
+ lfd: string;
298
+ number_length: number;
299
+ security_code_length: number;
300
+ brand: string;
301
+ issuer_name: string;
302
+ issuer_code: string | null;
303
+ category: string | null;
304
+ type: string;
305
+ };
306
+ customer: Customer;
307
+ }
308
+ interface VaultedToken {
309
+ code: string;
310
+ idempotency_key: string;
311
+ organization_code: string;
312
+ account_code: string;
313
+ customer_session: string;
314
+ name: string;
315
+ description: string;
316
+ status: Status;
317
+ type: string;
318
+ category: string;
319
+ provider: {
320
+ type: string;
321
+ action: string;
322
+ token: string;
323
+ enrollment_id: string | null;
324
+ provider_status: string | null;
325
+ redirect: string | null;
326
+ raw_response: unknown;
327
+ };
328
+ created_at: Date;
329
+ updated_at: Date;
330
+ }
331
+ type CardType = 'CREDIT' | 'DEBIT';
332
+ interface SecureField {
333
+ render(elementSelector: string): Promise<void>;
334
+ focus(): void;
335
+ validate(): void;
336
+ unmountSync(): void;
337
+ clearValue(): void;
338
+ setError(errorMessage: string): void;
339
+ setCardType(cardType: CardType): void;
340
+ }
341
+ interface SecureFields {
342
+ create({ name, options }: Create): SecureField;
343
+ getElement({ name }: GetElement): SecureField;
344
+ generateToken(params: GenerateTokenArgs): Promise<string>;
345
+ generateTokenWithInformation(params: GenerateTokenArgs): Promise<OneTimeToken>;
346
+ generateVaultedToken(params: GenerateVaultedToken): Promise<string>;
347
+ generateVaultedTokenWithInformation(params: GenerateVaultedToken): Promise<VaultedToken>;
348
+ unmountSync(): void;
349
+ }
350
+
351
+ interface ButtonTextCard {
352
+ cardForm?: {
353
+ enrollmentSubmitButton?: string;
354
+ paymentSubmitButton?: string;
355
+ };
356
+ cardStepper?: {
357
+ numberCardStep?: {
358
+ nextButton?: string;
359
+ };
360
+ cardHolderNameStep?: {
361
+ prevButton?: string;
362
+ nextButton?: string;
363
+ };
364
+ expirationDateStep?: {
365
+ prevButton?: string;
366
+ nextButton?: string;
367
+ };
368
+ cvvStep?: {
369
+ prevButton?: string;
370
+ nextButton?: string;
371
+ };
372
+ };
373
+ }
374
+ interface TextsCustom {
375
+ customerForm?: {
376
+ submitButton?: string;
377
+ };
378
+ paymentOtp?: {
379
+ sendOtpButton?: string;
380
+ };
381
+ }
382
+ interface CardConfig {
383
+ styles?: string;
384
+ type?: 'extends' | 'step';
385
+ cardSaveEnable?: boolean;
386
+ texts?: ButtonTextCard;
387
+ documentEnable?: boolean;
388
+ }
389
+ interface RenderMode {
390
+ type: 'modal' | 'element';
391
+ elementSelector?: string;
392
+ }
393
+ declare enum ExternalPaymentButtonsTypes {
394
+ PAYPAL = "paypal"
395
+ }
396
+ type ExternalPaymentButtons = {
397
+ [key in ExternalPaymentButtonsTypes]: {
398
+ elementSelector: string;
399
+ };
400
+ };
401
+ type LoadingType = 'DOCUMENT' | 'ONE_TIME_TOKEN';
402
+ type Language = 'es' | 'en' | 'pt';
403
+ interface YunoConfig {
404
+ publicApiKey: string;
405
+ checkoutSession: string;
406
+ customerSession: string;
407
+ language: Language;
408
+ countryCode: string;
409
+ elementSelector?: string;
410
+ vaultedToken?: string;
411
+ type?: string;
412
+ renderMode?: RenderMode;
413
+ externalPaymentButtons?: ExternalPaymentButtons;
414
+ card?: CardConfig;
415
+ showLoading?: boolean;
416
+ c2p?: {
417
+ enableRememberMe?: boolean;
418
+ };
419
+ texts?: TextsCustom;
420
+ issuersFormEnable?: boolean;
421
+ automaticallyUnmount?: boolean;
422
+ cardFormUnfoldedEnable?: boolean;
423
+ isDynamicViewEnabled?: boolean;
424
+ showOnlyThesePaymentMethods?: string[];
425
+ yunoCreatePayment?: (oneTimeToken: string, tokenWithInformation: OneTimeToken) => void;
426
+ yunoPaymentMethodSelected?: (arg: {
427
+ type: string;
428
+ name: string;
429
+ }) => void;
430
+ yunoPaymentResult?: (status: Status) => void;
431
+ yunoError?: (message: string) => void;
432
+ onRendered?(): void;
433
+ onOneTimeTokenCreationStart?(): void;
434
+ yunoEnrollmentStatus?(params: {
435
+ status: EnrollmentStatus;
436
+ vaultedToken?: string;
437
+ }): void;
438
+ /**
439
+ * @deprecated
440
+ */
441
+ onLoading?(args: {
442
+ isLoading: boolean;
443
+ type: LoadingType;
444
+ }): void;
445
+ }
446
+ type StartCheckoutArgs = Omit<YunoConfig, 'yunoEnrollmentStatus' | 'customerSession' | 'publicApiKey'>;
447
+ type MountEnrollmentLiteArgs = Pick<YunoConfig, 'language' | 'countryCode' | 'renderMode' | 'yunoEnrollmentStatus' | 'yunoError' | 'showLoading' | 'onRendered' | 'onOneTimeTokenCreationStart' | 'onLoading'>;
448
+ type mountFraudArgs = Pick<YunoConfig, 'yunoCreatePayment' | 'yunoError' | 'language' | 'checkoutSession'>;
449
+ interface MountCheckoutArgs {
450
+ paymentMethodType?: string;
451
+ vaultedToken?: string;
452
+ category?: string;
453
+ }
454
+ interface MountCheckoutLiteArgs {
455
+ paymentMethodType?: string;
456
+ vaultedToken?: string;
457
+ }
458
+ interface SecureFieldsArgs {
459
+ countryCode: string;
460
+ checkoutSession?: string;
461
+ installmentEnable?: boolean;
462
+ customerSession?: string;
463
+ }
464
+ interface MountStatusPaymentArgs {
465
+ checkoutSession: string;
466
+ language: Language;
467
+ countryCode: CountryCode;
468
+ yunoPaymentResult?: YunoConfig['yunoPaymentResult'];
469
+ yunoError?: YunoConfig['yunoError'];
470
+ }
471
+ interface YunoInstance {
472
+ startCheckout(args: StartCheckoutArgs): void;
473
+ mountCheckout(args: MountCheckoutArgs): void;
474
+ mountCheckoutLite(args: MountCheckoutLiteArgs): void;
475
+ updateCheckoutSession(checkout: string): void;
476
+ startPayment(): void;
477
+ continuePayment(): Promise<void>;
478
+ notifyError(): void;
479
+ mountEnrollmentLite(args: MountEnrollmentLiteArgs): void;
480
+ showLoader(): void;
481
+ hideLoader(): void;
482
+ updateCheckoutSession(checkoutSession: string): void;
483
+ mountFraud(args: mountFraudArgs): void;
484
+ mountStatusPayment(args: MountStatusPaymentArgs): void;
485
+ secureFields({ countryCode, checkoutSession, installmentEnable, customerSession }: SecureFieldsArgs): SecureFields;
486
+ apiClientPayment: ApiClientPayment;
487
+ apiClientEnroll: ApiClientEnroll;
488
+ }
489
+ interface Yuno {
490
+ initialize(publicApiKey: string): YunoInstance;
491
+ }
492
+
493
+ declare const Yuno: Yuno;
package/dist/types.ts ADDED
@@ -0,0 +1,493 @@
1
+ interface Customer {
2
+ first_name?: string | null;
3
+ last_name?: string | null;
4
+ email?: string | null;
5
+ gender?: string | null;
6
+ device_fingerprint?: string | null;
7
+ third_party_session_id?: string | null;
8
+ document?: {
9
+ document_number: string;
10
+ document_type: string;
11
+ } | null;
12
+ phone?: {
13
+ country_code: string;
14
+ number: string;
15
+ } | null;
16
+ billing_address?: {
17
+ address_line_1: string;
18
+ address_line_2: string;
19
+ city: string;
20
+ country: string;
21
+ state: string;
22
+ zip_code: string;
23
+ } | null;
24
+ shipping_address?: {
25
+ address_line_1: string;
26
+ address_line_2: string;
27
+ country: string;
28
+ state: string;
29
+ city: string;
30
+ zip_code: string;
31
+ } | null;
32
+ }
33
+
34
+ interface Card {
35
+ number: string | null;
36
+ expiration_month: number | null;
37
+ expiration_year: number | null;
38
+ security_code: string | null;
39
+ holder_name: string | null;
40
+ type: string | null;
41
+ }
42
+ interface OneTimeToken$1 {
43
+ token: string;
44
+ vaulted_token: string | null;
45
+ vault_on_success: boolean;
46
+ type: string;
47
+ card_data?: {
48
+ holder_name: string;
49
+ iin: string;
50
+ lfd: string;
51
+ number_length: number;
52
+ security_code_length: number;
53
+ brand: string;
54
+ issuer_name: string;
55
+ issuer_code: string | null;
56
+ category: string | null;
57
+ type: string;
58
+ };
59
+ customer: Customer;
60
+ }
61
+ type ApiClientCard = {
62
+ save?: boolean;
63
+ detail?: Partial<Card>;
64
+ three_d_secure?: {
65
+ three_d_secure_setup_id?: string | null;
66
+ };
67
+ installment?: {
68
+ id: string;
69
+ value: number;
70
+ amount?: {
71
+ currency: string;
72
+ value: string;
73
+ total_value: string;
74
+ } | null;
75
+ };
76
+ };
77
+ declare enum StatusEnrollment {
78
+ CREATED = "CREATED",
79
+ EXPIRED = "EXPIRED",
80
+ REJECTED = "REJECTED",
81
+ READY_TO_ENROLL = "READY_TO_ENROLL",
82
+ ENROLL_IN_PROCESS = "ENROLL_IN_PROCESS",
83
+ UNENROLL_IN_PROCESS = "UNENROLL_IN_PROCESS",
84
+ ENROLLED = "ENROLLED",
85
+ DECLINED = "DECLINED",
86
+ CANCELED = "CANCELED",
87
+ ERROR = "ERROR",
88
+ UNENROLLED = "UNENROLLED"
89
+ }
90
+ declare enum CountryCode {
91
+ ANGUILLA = "AI",
92
+ ANTIGUA_AND_BARBUDA = "AG",
93
+ ARGENTINA = "AR",
94
+ ARUBA = "AW",
95
+ BAHAMAS = "BS",
96
+ BARBADOS = "BB",
97
+ BELIZE = "BZ",
98
+ BERMUDA = "BM",
99
+ BOLIVIA = "BO",
100
+ BONAIRE = "BQ",
101
+ BOTSWANA = "BW",
102
+ BRAZIL = "BR",
103
+ CANADA = "CA",
104
+ CAYMAN_ISLANDS = "KY",
105
+ CHILE = "CL",
106
+ COLOMBIA = "CO",
107
+ COSTA_RICA = "CR",
108
+ CUBA = "CU",
109
+ CURAÇAO = "CW",
110
+ DOMINICA = "DM",
111
+ DOMINICAN_REPUBLIC = "DO",
112
+ ECUADOR = "EC",
113
+ EL_SALVADOR = "SV",
114
+ FALKLAND_ISLANDS = "FK",
115
+ PHILIPPINES = "PH",
116
+ FRENCH_GUIANA = "GF",
117
+ GREENLAND = "GL",
118
+ GRENADA = "GD",
119
+ GUADELOUPE = "GP",
120
+ GUATEMALA = "GT",
121
+ GUYANA = "GY",
122
+ HAITI = "HT",
123
+ HONDURAS = "HN",
124
+ INDONESIA = "ID",
125
+ JAMAICA = "JM",
126
+ MALAYSIA = "MY",
127
+ MARTINIQUE = "MQ",
128
+ MEXICO = "MX",
129
+ MONTSERRAT = "MS",
130
+ NICARAGUA = "NI",
131
+ PANAMA = "PA",
132
+ PARAGUAY = "PY",
133
+ PERU = "PE",
134
+ PUERTO_RICO = "PR",
135
+ SAINT_BARTHÉLEMY = "BL",
136
+ SAINT_KITTS_AND_NEVIS = "KN",
137
+ SAINT_LUCIA = "LC",
138
+ SAINT_MARTIN = "MF",
139
+ SAINT_PIERRE_AND_MIQUELON = "PM",
140
+ SAINT_VINCENT_AND_THE_GRENADINES = "VC",
141
+ SINT_MAARTEN = "SX",
142
+ SURINAME = "SR",
143
+ THAILAND = "TH",
144
+ TRINIDAD_AND_TOBAGO = "TT",
145
+ TURKS_AND_CAICOS_ISLANDS = "TC",
146
+ UNITED_STATES = "US",
147
+ URUGUAY = "UY",
148
+ VENEZUELA = "VE",
149
+ VIRGIN_ISLANDS_BRITISH = "VG",
150
+ VIRGIN_ISLANDS_US = "VI",
151
+ ZIMBABWE = "ZW"
152
+ }
153
+
154
+ type ApiClientPaymentArgs = {
155
+ checkout_session: string;
156
+ country_code: CountryCode;
157
+ };
158
+ type GenerateTokenArgs$1 = {
159
+ checkout_session?: string;
160
+ payment_method: {
161
+ type: string;
162
+ vaulted_token?: string | null;
163
+ card?: ApiClientCard;
164
+ customer?: Customer;
165
+ device_fingerprint?: string | null;
166
+ third_party_session_id?: string | null;
167
+ };
168
+ };
169
+ type GetThreeDSecureChallengeReturn = {
170
+ url: string;
171
+ };
172
+ type GenerateToken = (args: GenerateTokenArgs$1) => Promise<OneTimeToken$1>;
173
+ type GetThreeDSecureChallenge = (checkoutSession?: string) => Promise<GetThreeDSecureChallengeReturn>;
174
+ type ApiClientPaymentReturn = {
175
+ generateToken: GenerateToken;
176
+ getThreeDSecureChallenge: GetThreeDSecureChallenge;
177
+ };
178
+ type ApiClientPayment = (args: ApiClientPaymentArgs) => ApiClientPaymentReturn;
179
+
180
+ type ApiClientEnrollArgs = {
181
+ customer_session: string;
182
+ country_code: CountryCode;
183
+ };
184
+ type ContinueEnrollmentArgs = {
185
+ customer_session?: string;
186
+ payment_method: {
187
+ type: string;
188
+ card?: ApiClientCard;
189
+ customer?: Customer;
190
+ };
191
+ };
192
+ type ContinueEnrollmentReturn = {
193
+ vaulted_token: string;
194
+ status: string;
195
+ customer: {
196
+ session: StatusEnrollment;
197
+ };
198
+ };
199
+ type ApiClientEnrollReturn = {
200
+ continueEnrollment: (args: ContinueEnrollmentArgs) => Promise<ContinueEnrollmentReturn>;
201
+ };
202
+ type ApiClientEnroll = (args: ApiClientEnrollArgs) => ApiClientEnrollReturn;
203
+
204
+ type Status = 'FAIL' | 'REJECT' | 'SUCCEEDED' | 'PROCESSING' | 'READY';
205
+ type EnrollmentStatus = 'CREATED' | 'EXPIRED' | 'REJECTED' | 'READY_TO_ENROLL' | 'ENROLL_IN_PROCESS' | 'UNENROLL_IN_PROCESS' | 'ENROLLED' | 'DECLINED' | 'CANCELED' | 'ERROR' | 'UNENROLLED';
206
+
207
+ type Name = 'cvv' | 'pan' | 'expiration';
208
+ type Installment = {
209
+ installmentId: string;
210
+ installment: number;
211
+ amount: {
212
+ currency: string;
213
+ value: string;
214
+ total_value: string;
215
+ };
216
+ };
217
+ interface CardIINResponse {
218
+ id: string;
219
+ iin: string;
220
+ scheme: string;
221
+ issuer_name: string;
222
+ issuer_code: string;
223
+ brand: string;
224
+ type: string;
225
+ category: string;
226
+ country_code: string;
227
+ country_name: string;
228
+ website: string;
229
+ phone: {
230
+ country_code: string;
231
+ number: string;
232
+ };
233
+ address: {
234
+ address_line_1: string;
235
+ address_line_2: string | null;
236
+ city: string;
237
+ country: string;
238
+ state: string;
239
+ zip_code: string;
240
+ };
241
+ }
242
+ type OnChangeArgs = {
243
+ error: boolean;
244
+ data?: {
245
+ installments?: Installment[];
246
+ cardIIN?: CardIINResponse;
247
+ isCardIINLoading: boolean;
248
+ isInstallmentLoading: boolean;
249
+ };
250
+ };
251
+ type Create = {
252
+ name: Name;
253
+ options: {
254
+ label?: string;
255
+ showError?: boolean;
256
+ onChange?(onChangeArgs: OnChangeArgs): void;
257
+ onBlur?(): void;
258
+ onFocus?(): void;
259
+ styles?: string;
260
+ placeholder?: string;
261
+ errorMessage?: string;
262
+ };
263
+ };
264
+ type GetElement = {
265
+ name: Name;
266
+ };
267
+ interface GenerateTokenArgs {
268
+ checkoutSession?: string;
269
+ cardHolderName: string;
270
+ saveCard?: boolean;
271
+ customer?: Partial<Customer>;
272
+ installment?: {
273
+ id: string;
274
+ value: number;
275
+ amount?: {
276
+ currency: string;
277
+ value: string;
278
+ total_value: string;
279
+ };
280
+ };
281
+ cardType?: string;
282
+ }
283
+ interface GenerateVaultedToken {
284
+ customerSession?: string;
285
+ cardHolderName: string;
286
+ customer?: Partial<Customer>;
287
+ cardType?: string;
288
+ }
289
+ interface OneTimeToken {
290
+ token: string;
291
+ vaulted_token: string | null;
292
+ vault_on_success: boolean;
293
+ type: string;
294
+ card_data?: {
295
+ holder_name: string;
296
+ iin: string;
297
+ lfd: string;
298
+ number_length: number;
299
+ security_code_length: number;
300
+ brand: string;
301
+ issuer_name: string;
302
+ issuer_code: string | null;
303
+ category: string | null;
304
+ type: string;
305
+ };
306
+ customer: Customer;
307
+ }
308
+ interface VaultedToken {
309
+ code: string;
310
+ idempotency_key: string;
311
+ organization_code: string;
312
+ account_code: string;
313
+ customer_session: string;
314
+ name: string;
315
+ description: string;
316
+ status: Status;
317
+ type: string;
318
+ category: string;
319
+ provider: {
320
+ type: string;
321
+ action: string;
322
+ token: string;
323
+ enrollment_id: string | null;
324
+ provider_status: string | null;
325
+ redirect: string | null;
326
+ raw_response: unknown;
327
+ };
328
+ created_at: Date;
329
+ updated_at: Date;
330
+ }
331
+ type CardType = 'CREDIT' | 'DEBIT';
332
+ interface SecureField {
333
+ render(elementSelector: string): Promise<void>;
334
+ focus(): void;
335
+ validate(): void;
336
+ unmountSync(): void;
337
+ clearValue(): void;
338
+ setError(errorMessage: string): void;
339
+ setCardType(cardType: CardType): void;
340
+ }
341
+ interface SecureFields {
342
+ create({ name, options }: Create): SecureField;
343
+ getElement({ name }: GetElement): SecureField;
344
+ generateToken(params: GenerateTokenArgs): Promise<string>;
345
+ generateTokenWithInformation(params: GenerateTokenArgs): Promise<OneTimeToken>;
346
+ generateVaultedToken(params: GenerateVaultedToken): Promise<string>;
347
+ generateVaultedTokenWithInformation(params: GenerateVaultedToken): Promise<VaultedToken>;
348
+ unmountSync(): void;
349
+ }
350
+
351
+ interface ButtonTextCard {
352
+ cardForm?: {
353
+ enrollmentSubmitButton?: string;
354
+ paymentSubmitButton?: string;
355
+ };
356
+ cardStepper?: {
357
+ numberCardStep?: {
358
+ nextButton?: string;
359
+ };
360
+ cardHolderNameStep?: {
361
+ prevButton?: string;
362
+ nextButton?: string;
363
+ };
364
+ expirationDateStep?: {
365
+ prevButton?: string;
366
+ nextButton?: string;
367
+ };
368
+ cvvStep?: {
369
+ prevButton?: string;
370
+ nextButton?: string;
371
+ };
372
+ };
373
+ }
374
+ interface TextsCustom {
375
+ customerForm?: {
376
+ submitButton?: string;
377
+ };
378
+ paymentOtp?: {
379
+ sendOtpButton?: string;
380
+ };
381
+ }
382
+ interface CardConfig {
383
+ styles?: string;
384
+ type?: 'extends' | 'step';
385
+ cardSaveEnable?: boolean;
386
+ texts?: ButtonTextCard;
387
+ documentEnable?: boolean;
388
+ }
389
+ interface RenderMode {
390
+ type: 'modal' | 'element';
391
+ elementSelector?: string;
392
+ }
393
+ declare enum ExternalPaymentButtonsTypes {
394
+ PAYPAL = "paypal"
395
+ }
396
+ type ExternalPaymentButtons = {
397
+ [key in ExternalPaymentButtonsTypes]: {
398
+ elementSelector: string;
399
+ };
400
+ };
401
+ type LoadingType = 'DOCUMENT' | 'ONE_TIME_TOKEN';
402
+ type Language = 'es' | 'en' | 'pt';
403
+ interface YunoConfig {
404
+ publicApiKey: string;
405
+ checkoutSession: string;
406
+ customerSession: string;
407
+ language: Language;
408
+ countryCode: string;
409
+ elementSelector?: string;
410
+ vaultedToken?: string;
411
+ type?: string;
412
+ renderMode?: RenderMode;
413
+ externalPaymentButtons?: ExternalPaymentButtons;
414
+ card?: CardConfig;
415
+ showLoading?: boolean;
416
+ c2p?: {
417
+ enableRememberMe?: boolean;
418
+ };
419
+ texts?: TextsCustom;
420
+ issuersFormEnable?: boolean;
421
+ automaticallyUnmount?: boolean;
422
+ cardFormUnfoldedEnable?: boolean;
423
+ isDynamicViewEnabled?: boolean;
424
+ showOnlyThesePaymentMethods?: string[];
425
+ yunoCreatePayment?: (oneTimeToken: string, tokenWithInformation: OneTimeToken) => void;
426
+ yunoPaymentMethodSelected?: (arg: {
427
+ type: string;
428
+ name: string;
429
+ }) => void;
430
+ yunoPaymentResult?: (status: Status) => void;
431
+ yunoError?: (message: string) => void;
432
+ onRendered?(): void;
433
+ onOneTimeTokenCreationStart?(): void;
434
+ yunoEnrollmentStatus?(params: {
435
+ status: EnrollmentStatus;
436
+ vaultedToken?: string;
437
+ }): void;
438
+ /**
439
+ * @deprecated
440
+ */
441
+ onLoading?(args: {
442
+ isLoading: boolean;
443
+ type: LoadingType;
444
+ }): void;
445
+ }
446
+ type StartCheckoutArgs = Omit<YunoConfig, 'yunoEnrollmentStatus' | 'customerSession' | 'publicApiKey'>;
447
+ type MountEnrollmentLiteArgs = Pick<YunoConfig, 'language' | 'countryCode' | 'renderMode' | 'yunoEnrollmentStatus' | 'yunoError' | 'showLoading' | 'onRendered' | 'onOneTimeTokenCreationStart' | 'onLoading'>;
448
+ type mountFraudArgs = Pick<YunoConfig, 'yunoCreatePayment' | 'yunoError' | 'language' | 'checkoutSession'>;
449
+ interface MountCheckoutArgs {
450
+ paymentMethodType?: string;
451
+ vaultedToken?: string;
452
+ category?: string;
453
+ }
454
+ interface MountCheckoutLiteArgs {
455
+ paymentMethodType?: string;
456
+ vaultedToken?: string;
457
+ }
458
+ interface SecureFieldsArgs {
459
+ countryCode: string;
460
+ checkoutSession?: string;
461
+ installmentEnable?: boolean;
462
+ customerSession?: string;
463
+ }
464
+ interface MountStatusPaymentArgs {
465
+ checkoutSession: string;
466
+ language: Language;
467
+ countryCode: CountryCode;
468
+ yunoPaymentResult?: YunoConfig['yunoPaymentResult'];
469
+ yunoError?: YunoConfig['yunoError'];
470
+ }
471
+ interface YunoInstance {
472
+ startCheckout(args: StartCheckoutArgs): void;
473
+ mountCheckout(args: MountCheckoutArgs): void;
474
+ mountCheckoutLite(args: MountCheckoutLiteArgs): void;
475
+ updateCheckoutSession(checkout: string): void;
476
+ startPayment(): void;
477
+ continuePayment(): Promise<void>;
478
+ notifyError(): void;
479
+ mountEnrollmentLite(args: MountEnrollmentLiteArgs): void;
480
+ showLoader(): void;
481
+ hideLoader(): void;
482
+ updateCheckoutSession(checkoutSession: string): void;
483
+ mountFraud(args: mountFraudArgs): void;
484
+ mountStatusPayment(args: MountStatusPaymentArgs): void;
485
+ secureFields({ countryCode, checkoutSession, installmentEnable, customerSession }: SecureFieldsArgs): SecureFields;
486
+ apiClientPayment: ApiClientPayment;
487
+ apiClientEnroll: ApiClientEnroll;
488
+ }
489
+ interface Yuno {
490
+ initialize(publicApiKey: string): YunoInstance;
491
+ }
492
+
493
+ export { type ButtonTextCard, type CardConfig, type ExternalPaymentButtons, ExternalPaymentButtonsTypes, type Language, type LoadingType, type MountCheckoutArgs, type MountCheckoutLiteArgs, type MountEnrollmentLiteArgs, type MountStatusPaymentArgs, type RenderMode, type SecureFieldsArgs, type StartCheckoutArgs, type TextsCustom, type Yuno, type YunoConfig, type YunoInstance, type mountFraudArgs };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuno-payments/sdk-web-types",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "types": "dist/index.d.ts",
5
5
  "main": "dist/types.ts",
6
6
  "type": "commonjs",