@pay-com/js 1.1.15 → 1.2.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.
- package/lib/dts/types/index.d.ts +118 -3
- package/lib/index.d.ts +118 -3
- package/package.json +2 -2
package/lib/dts/types/index.d.ts
CHANGED
|
@@ -130,6 +130,12 @@ export interface UniversalToggles {
|
|
|
130
130
|
*/
|
|
131
131
|
submitButton?: boolean
|
|
132
132
|
|
|
133
|
+
/**
|
|
134
|
+
* If false, the default suppoerted brands footer will not appear.
|
|
135
|
+
* @default true
|
|
136
|
+
*/
|
|
137
|
+
withCardBrandsFooterLogos?: boolean
|
|
138
|
+
|
|
133
139
|
/**
|
|
134
140
|
* If true, displays the card bin as well as last 4.
|
|
135
141
|
* @default false
|
|
@@ -146,6 +152,30 @@ export interface UniversalToggles {
|
|
|
146
152
|
* A title to display above the Universal form.
|
|
147
153
|
*/
|
|
148
154
|
title?: string
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* If true, only user's saved sources will displayed.
|
|
158
|
+
* @default false
|
|
159
|
+
*/
|
|
160
|
+
allowOnlyExistingPaymentMethods?: boolean
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* If true, user will not be able the pay with saved source.
|
|
164
|
+
* @default false
|
|
165
|
+
*/
|
|
166
|
+
newCardOnly?: boolean
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* If true, user will not be able to remove saved source.
|
|
170
|
+
* @default false
|
|
171
|
+
*/
|
|
172
|
+
disablePaymentMethodDeletion?: boolean
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* If true, the submit button will be disabled while form invalid.
|
|
176
|
+
* @default false
|
|
177
|
+
*/
|
|
178
|
+
disableSubmitUntilFormIsValid?: boolean
|
|
149
179
|
}
|
|
150
180
|
|
|
151
181
|
export type LanguageLocalizationOverride = {
|
|
@@ -201,6 +231,7 @@ export interface UniversalOpts {
|
|
|
201
231
|
container: string
|
|
202
232
|
cardForm?: Omit<RenderOpts, 'container' | 'style'>
|
|
203
233
|
toggles?: UniversalToggles
|
|
234
|
+
selectedPaymentMethod?: string
|
|
204
235
|
apmsOnClickValidation?: () => Promise<boolean>
|
|
205
236
|
localizations?: {
|
|
206
237
|
[language: string]: LanguageLocalizationOverride
|
|
@@ -238,8 +269,10 @@ export interface UniversalOpts {
|
|
|
238
269
|
}
|
|
239
270
|
}
|
|
240
271
|
}
|
|
272
|
+
ctp?: CTPStyles
|
|
241
273
|
}
|
|
242
274
|
paymentMethods?: Array<string>
|
|
275
|
+
alternatives?: 'button' | 'radio'
|
|
243
276
|
}
|
|
244
277
|
|
|
245
278
|
export interface SubmitOpts {
|
|
@@ -305,6 +338,7 @@ export interface CheckoutOpts {
|
|
|
305
338
|
displayEndOfSessionFailureMessages?: boolean
|
|
306
339
|
disableAdditionalFields?: boolean
|
|
307
340
|
whiteLabel?: boolean
|
|
341
|
+
disableSetupFutureUsageCheckbox?: boolean
|
|
308
342
|
}
|
|
309
343
|
locale?: Locale
|
|
310
344
|
}
|
|
@@ -334,7 +368,11 @@ export enum EVENT_TYPES {
|
|
|
334
368
|
PAYMENT_PROCESSING = 'payment_processing',
|
|
335
369
|
SETUP_PROCESSING = 'setup_processing',
|
|
336
370
|
SESSION_EXPIRED = 'session_expired',
|
|
337
|
-
MAX_ATTEMPTS_REACHED = 'max_attempts_reached'
|
|
371
|
+
MAX_ATTEMPTS_REACHED = 'max_attempts_reached',
|
|
372
|
+
PAYMENT_PENDING_APPROVAL = 'payment_pending_approval',
|
|
373
|
+
SET_DISABLE_UI = 'set_disable_ui',
|
|
374
|
+
HEADLESS_READY = 'headless_ready',
|
|
375
|
+
FORM_VALIDATION_UPDATED = 'form_validation_update'
|
|
338
376
|
}
|
|
339
377
|
|
|
340
378
|
export type ListenerFn = (
|
|
@@ -352,6 +390,7 @@ export enum ELEMENT_TYPES {
|
|
|
352
390
|
CHECKOUT = 'checkout',
|
|
353
391
|
UNIVERSAL = 'universal',
|
|
354
392
|
PAYPAL = 'paypal'
|
|
393
|
+
// UNIVERSAL_V2 = 'universal-v2'
|
|
355
394
|
}
|
|
356
395
|
|
|
357
396
|
enum TransactionStatusEnum {
|
|
@@ -413,6 +452,7 @@ export type UpdateTransactionDetailsOpts = {
|
|
|
413
452
|
consumer?: {
|
|
414
453
|
firstName?: string
|
|
415
454
|
lastName?: string
|
|
455
|
+
name?: string
|
|
416
456
|
email?: string
|
|
417
457
|
phone?: string
|
|
418
458
|
}
|
|
@@ -432,7 +472,7 @@ export type UpdateTransactionDetailsOpts = {
|
|
|
432
472
|
state?: string
|
|
433
473
|
countryAlpha2: string
|
|
434
474
|
}
|
|
435
|
-
customFieldsValues
|
|
475
|
+
customFieldsValues?: Record<string, string | number | boolean>
|
|
436
476
|
}
|
|
437
477
|
|
|
438
478
|
export type PayOpts = {
|
|
@@ -446,21 +486,96 @@ export type UpdateTransactionDetailsFn = (
|
|
|
446
486
|
config: UpdateTransactionDetailsOpts
|
|
447
487
|
) => Promise<unknown>
|
|
448
488
|
|
|
489
|
+
export type ResyncFn = () => Promise<void>
|
|
490
|
+
|
|
491
|
+
export type AddressType = {
|
|
492
|
+
line1: string
|
|
493
|
+
line2?: string
|
|
494
|
+
city: string
|
|
495
|
+
state?: string
|
|
496
|
+
country: string
|
|
497
|
+
postalCode: string
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
export type HeadlessFn = (
|
|
501
|
+
method: string,
|
|
502
|
+
paymentMethodData?: unknown,
|
|
503
|
+
billingDetails?: AddressType
|
|
504
|
+
) => Promise<unknown>
|
|
505
|
+
|
|
506
|
+
export type CanMakePaymentsFn = () => Promise<unknown>
|
|
507
|
+
|
|
508
|
+
export type InitHeadlessCtpParams = {
|
|
509
|
+
emailInputRef?: HTMLDivElement | string
|
|
510
|
+
email: string
|
|
511
|
+
containers: {
|
|
512
|
+
mainWidget: HTMLDivElement | string
|
|
513
|
+
linkNewCard: HTMLDivElement | string
|
|
514
|
+
}
|
|
515
|
+
style?: CTPStyles
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
export type CTPStyles = Partial<{
|
|
519
|
+
mainWidgetContainer: PayCssConfig
|
|
520
|
+
linkNewCardContainer: PayCssConfig
|
|
521
|
+
}>
|
|
522
|
+
|
|
523
|
+
export enum CTP_EVENTS {
|
|
524
|
+
VALIDATION_CHANGED = 'validation-changed',
|
|
525
|
+
AUTHENTICATED = 'authenticated'
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
export declare enum CtpCompletePaymentStatus {
|
|
529
|
+
success = 'SUCCESS',
|
|
530
|
+
declined = 'DECLINED'
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
export type CheckoutCTPBillingDetails = {
|
|
534
|
+
address: {
|
|
535
|
+
addressLine: string
|
|
536
|
+
addressLine2?: string
|
|
537
|
+
zip: string
|
|
538
|
+
city: string
|
|
539
|
+
state?: string
|
|
540
|
+
countryAlpha2: string
|
|
541
|
+
}
|
|
542
|
+
name: string
|
|
543
|
+
phone: string
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
export type HeadlessCtpObject = {
|
|
547
|
+
on: Listener<CTP_EVENTS>
|
|
548
|
+
once: Listener<CTP_EVENTS>
|
|
549
|
+
removeListener: Listener<CTP_EVENTS>
|
|
550
|
+
validate: () => Promise<{ valid: boolean }>
|
|
551
|
+
completePayment: (status: CtpCompletePaymentStatus) => Promise<void>
|
|
552
|
+
updateBillingDetails: (
|
|
553
|
+
params: Partial<CheckoutCTPBillingDetails>
|
|
554
|
+
) => Promise<void>
|
|
555
|
+
STATUS_SUCCESS: CtpCompletePaymentStatus.success
|
|
556
|
+
STATUS_DECLINED: CtpCompletePaymentStatus.declined
|
|
557
|
+
}
|
|
558
|
+
|
|
449
559
|
export type CheckoutObject = {
|
|
450
560
|
on: ListenerFn
|
|
451
561
|
once: ListenerFn
|
|
452
562
|
removeListener: ListenerFn
|
|
453
563
|
EVENT_TYPES: typeof EVENT_TYPES
|
|
564
|
+
ELEMENT_TYPES: typeof ELEMENT_TYPES
|
|
454
565
|
render: RenderFn
|
|
455
566
|
paypal: PaypalFn
|
|
456
567
|
universal: UniversalFn
|
|
568
|
+
blur: BlurFn
|
|
457
569
|
update: UpdateFn
|
|
458
570
|
updateTransactionDetails: UpdateTransactionDetailsFn
|
|
459
571
|
submit: SubmitFn
|
|
460
|
-
|
|
572
|
+
resync: ResyncFn
|
|
573
|
+
canMakePayments: CanMakePaymentsFn
|
|
461
574
|
validate: ValidateFn
|
|
462
575
|
reset: ResetFn
|
|
463
576
|
pay: PayFn
|
|
577
|
+
headless: HeadlessFn
|
|
578
|
+
ctp: (params: InitHeadlessCtpParams) => Promise<HeadlessCtpObject>
|
|
464
579
|
}
|
|
465
580
|
|
|
466
581
|
export type CheckoutFunction = (opts: CheckoutOpts) => CheckoutObject
|
package/lib/index.d.ts
CHANGED
|
@@ -135,6 +135,12 @@ interface UniversalToggles {
|
|
|
135
135
|
*/
|
|
136
136
|
submitButton?: boolean
|
|
137
137
|
|
|
138
|
+
/**
|
|
139
|
+
* If false, the default suppoerted brands footer will not appear.
|
|
140
|
+
* @default true
|
|
141
|
+
*/
|
|
142
|
+
withCardBrandsFooterLogos?: boolean
|
|
143
|
+
|
|
138
144
|
/**
|
|
139
145
|
* If true, displays the card bin as well as last 4.
|
|
140
146
|
* @default false
|
|
@@ -151,6 +157,30 @@ interface UniversalToggles {
|
|
|
151
157
|
* A title to display above the Universal form.
|
|
152
158
|
*/
|
|
153
159
|
title?: string
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* If true, only user's saved sources will displayed.
|
|
163
|
+
* @default false
|
|
164
|
+
*/
|
|
165
|
+
allowOnlyExistingPaymentMethods?: boolean
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* If true, user will not be able the pay with saved source.
|
|
169
|
+
* @default false
|
|
170
|
+
*/
|
|
171
|
+
newCardOnly?: boolean
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* If true, user will not be able to remove saved source.
|
|
175
|
+
* @default false
|
|
176
|
+
*/
|
|
177
|
+
disablePaymentMethodDeletion?: boolean
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* If true, the submit button will be disabled while form invalid.
|
|
181
|
+
* @default false
|
|
182
|
+
*/
|
|
183
|
+
disableSubmitUntilFormIsValid?: boolean
|
|
154
184
|
}
|
|
155
185
|
|
|
156
186
|
type LanguageLocalizationOverride = {
|
|
@@ -206,6 +236,7 @@ interface UniversalOpts {
|
|
|
206
236
|
container: string
|
|
207
237
|
cardForm?: Omit<RenderOpts, 'container' | 'style'>
|
|
208
238
|
toggles?: UniversalToggles
|
|
239
|
+
selectedPaymentMethod?: string
|
|
209
240
|
apmsOnClickValidation?: () => Promise<boolean>
|
|
210
241
|
localizations?: {
|
|
211
242
|
[language: string]: LanguageLocalizationOverride
|
|
@@ -243,8 +274,10 @@ interface UniversalOpts {
|
|
|
243
274
|
}
|
|
244
275
|
}
|
|
245
276
|
}
|
|
277
|
+
ctp?: CTPStyles
|
|
246
278
|
}
|
|
247
279
|
paymentMethods?: Array<string>
|
|
280
|
+
alternatives?: 'button' | 'radio'
|
|
248
281
|
}
|
|
249
282
|
|
|
250
283
|
interface SubmitOpts {
|
|
@@ -310,6 +343,7 @@ interface CheckoutOpts {
|
|
|
310
343
|
displayEndOfSessionFailureMessages?: boolean
|
|
311
344
|
disableAdditionalFields?: boolean
|
|
312
345
|
whiteLabel?: boolean
|
|
346
|
+
disableSetupFutureUsageCheckbox?: boolean
|
|
313
347
|
}
|
|
314
348
|
locale?: Locale
|
|
315
349
|
}
|
|
@@ -333,7 +367,11 @@ enum EVENT_TYPES {
|
|
|
333
367
|
PAYMENT_PROCESSING = 'payment_processing',
|
|
334
368
|
SETUP_PROCESSING = 'setup_processing',
|
|
335
369
|
SESSION_EXPIRED = 'session_expired',
|
|
336
|
-
MAX_ATTEMPTS_REACHED = 'max_attempts_reached'
|
|
370
|
+
MAX_ATTEMPTS_REACHED = 'max_attempts_reached',
|
|
371
|
+
PAYMENT_PENDING_APPROVAL = 'payment_pending_approval',
|
|
372
|
+
SET_DISABLE_UI = 'set_disable_ui',
|
|
373
|
+
HEADLESS_READY = 'headless_ready',
|
|
374
|
+
FORM_VALIDATION_UPDATED = 'form_validation_update'
|
|
337
375
|
}
|
|
338
376
|
|
|
339
377
|
type ListenerFn = (
|
|
@@ -351,6 +389,7 @@ enum ELEMENT_TYPES {
|
|
|
351
389
|
CHECKOUT = 'checkout',
|
|
352
390
|
UNIVERSAL = 'universal',
|
|
353
391
|
PAYPAL = 'paypal'
|
|
392
|
+
// UNIVERSAL_V2 = 'universal-v2'
|
|
354
393
|
}
|
|
355
394
|
|
|
356
395
|
enum TransactionStatusEnum {
|
|
@@ -412,6 +451,7 @@ type UpdateTransactionDetailsOpts = {
|
|
|
412
451
|
consumer?: {
|
|
413
452
|
firstName?: string
|
|
414
453
|
lastName?: string
|
|
454
|
+
name?: string
|
|
415
455
|
email?: string
|
|
416
456
|
phone?: string
|
|
417
457
|
}
|
|
@@ -431,7 +471,7 @@ type UpdateTransactionDetailsOpts = {
|
|
|
431
471
|
state?: string
|
|
432
472
|
countryAlpha2: string
|
|
433
473
|
}
|
|
434
|
-
customFieldsValues
|
|
474
|
+
customFieldsValues?: Record<string, string | number | boolean>
|
|
435
475
|
}
|
|
436
476
|
|
|
437
477
|
type PayOpts = {
|
|
@@ -445,21 +485,96 @@ type UpdateTransactionDetailsFn = (
|
|
|
445
485
|
config: UpdateTransactionDetailsOpts
|
|
446
486
|
) => Promise<unknown>
|
|
447
487
|
|
|
488
|
+
type ResyncFn = () => Promise<void>
|
|
489
|
+
|
|
490
|
+
type AddressType = {
|
|
491
|
+
line1: string
|
|
492
|
+
line2?: string
|
|
493
|
+
city: string
|
|
494
|
+
state?: string
|
|
495
|
+
country: string
|
|
496
|
+
postalCode: string
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
type HeadlessFn = (
|
|
500
|
+
method: string,
|
|
501
|
+
paymentMethodData?: unknown,
|
|
502
|
+
billingDetails?: AddressType
|
|
503
|
+
) => Promise<unknown>
|
|
504
|
+
|
|
505
|
+
type CanMakePaymentsFn = () => Promise<unknown>
|
|
506
|
+
|
|
507
|
+
type InitHeadlessCtpParams = {
|
|
508
|
+
emailInputRef?: HTMLDivElement | string
|
|
509
|
+
email: string
|
|
510
|
+
containers: {
|
|
511
|
+
mainWidget: HTMLDivElement | string
|
|
512
|
+
linkNewCard: HTMLDivElement | string
|
|
513
|
+
}
|
|
514
|
+
style?: CTPStyles
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
type CTPStyles = Partial<{
|
|
518
|
+
mainWidgetContainer: PayCssConfig
|
|
519
|
+
linkNewCardContainer: PayCssConfig
|
|
520
|
+
}>
|
|
521
|
+
|
|
522
|
+
enum CTP_EVENTS {
|
|
523
|
+
VALIDATION_CHANGED = 'validation-changed',
|
|
524
|
+
AUTHENTICATED = 'authenticated'
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
declare enum CtpCompletePaymentStatus {
|
|
528
|
+
success = 'SUCCESS',
|
|
529
|
+
declined = 'DECLINED'
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
type CheckoutCTPBillingDetails = {
|
|
533
|
+
address: {
|
|
534
|
+
addressLine: string
|
|
535
|
+
addressLine2?: string
|
|
536
|
+
zip: string
|
|
537
|
+
city: string
|
|
538
|
+
state?: string
|
|
539
|
+
countryAlpha2: string
|
|
540
|
+
}
|
|
541
|
+
name: string
|
|
542
|
+
phone: string
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
type HeadlessCtpObject = {
|
|
546
|
+
on: Listener<CTP_EVENTS>
|
|
547
|
+
once: Listener<CTP_EVENTS>
|
|
548
|
+
removeListener: Listener<CTP_EVENTS>
|
|
549
|
+
validate: () => Promise<{ valid: boolean }>
|
|
550
|
+
completePayment: (status: CtpCompletePaymentStatus) => Promise<void>
|
|
551
|
+
updateBillingDetails: (
|
|
552
|
+
params: Partial<CheckoutCTPBillingDetails>
|
|
553
|
+
) => Promise<void>
|
|
554
|
+
STATUS_SUCCESS: CtpCompletePaymentStatus.success
|
|
555
|
+
STATUS_DECLINED: CtpCompletePaymentStatus.declined
|
|
556
|
+
}
|
|
557
|
+
|
|
448
558
|
type CheckoutObject = {
|
|
449
559
|
on: ListenerFn
|
|
450
560
|
once: ListenerFn
|
|
451
561
|
removeListener: ListenerFn
|
|
452
562
|
EVENT_TYPES: typeof EVENT_TYPES
|
|
563
|
+
ELEMENT_TYPES: typeof ELEMENT_TYPES
|
|
453
564
|
render: RenderFn
|
|
454
565
|
paypal: PaypalFn
|
|
455
566
|
universal: UniversalFn
|
|
567
|
+
blur: BlurFn
|
|
456
568
|
update: UpdateFn
|
|
457
569
|
updateTransactionDetails: UpdateTransactionDetailsFn
|
|
458
570
|
submit: SubmitFn
|
|
459
|
-
|
|
571
|
+
resync: ResyncFn
|
|
572
|
+
canMakePayments: CanMakePaymentsFn
|
|
460
573
|
validate: ValidateFn
|
|
461
574
|
reset: ResetFn
|
|
462
575
|
pay: PayFn
|
|
576
|
+
headless: HeadlessFn
|
|
577
|
+
ctp: (params: InitHeadlessCtpParams) => Promise<HeadlessCtpObject>
|
|
463
578
|
}
|
|
464
579
|
|
|
465
580
|
type CheckoutFunction = (opts: CheckoutOpts) => CheckoutObject
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pay-com/js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Pay.com JS loading utility",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Pay.com",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|
|
21
|
-
"url": "https://github.com/pay-com/js.git"
|
|
21
|
+
"url": "git+https://github.com/pay-com/js.git"
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
24
|
"lib/*.js",
|