@pay-com/js 1.1.16 → 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 +115 -3
- package/lib/index.d.ts +115 -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 {
|
|
@@ -335,7 +368,11 @@ export enum EVENT_TYPES {
|
|
|
335
368
|
PAYMENT_PROCESSING = 'payment_processing',
|
|
336
369
|
SETUP_PROCESSING = 'setup_processing',
|
|
337
370
|
SESSION_EXPIRED = 'session_expired',
|
|
338
|
-
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'
|
|
339
376
|
}
|
|
340
377
|
|
|
341
378
|
export type ListenerFn = (
|
|
@@ -415,6 +452,7 @@ export type UpdateTransactionDetailsOpts = {
|
|
|
415
452
|
consumer?: {
|
|
416
453
|
firstName?: string
|
|
417
454
|
lastName?: string
|
|
455
|
+
name?: string
|
|
418
456
|
email?: string
|
|
419
457
|
phone?: string
|
|
420
458
|
}
|
|
@@ -448,22 +486,96 @@ export type UpdateTransactionDetailsFn = (
|
|
|
448
486
|
config: UpdateTransactionDetailsOpts
|
|
449
487
|
) => Promise<unknown>
|
|
450
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
|
+
|
|
451
559
|
export type CheckoutObject = {
|
|
452
560
|
on: ListenerFn
|
|
453
561
|
once: ListenerFn
|
|
454
562
|
removeListener: ListenerFn
|
|
455
563
|
EVENT_TYPES: typeof EVENT_TYPES
|
|
564
|
+
ELEMENT_TYPES: typeof ELEMENT_TYPES
|
|
456
565
|
render: RenderFn
|
|
457
566
|
paypal: PaypalFn
|
|
458
567
|
universal: UniversalFn
|
|
568
|
+
blur: BlurFn
|
|
459
569
|
update: UpdateFn
|
|
460
570
|
updateTransactionDetails: UpdateTransactionDetailsFn
|
|
461
571
|
submit: SubmitFn
|
|
462
|
-
|
|
572
|
+
resync: ResyncFn
|
|
573
|
+
canMakePayments: CanMakePaymentsFn
|
|
463
574
|
validate: ValidateFn
|
|
464
575
|
reset: ResetFn
|
|
465
576
|
pay: PayFn
|
|
466
|
-
|
|
577
|
+
headless: HeadlessFn
|
|
578
|
+
ctp: (params: InitHeadlessCtpParams) => Promise<HeadlessCtpObject>
|
|
467
579
|
}
|
|
468
580
|
|
|
469
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 {
|
|
@@ -334,7 +367,11 @@ enum EVENT_TYPES {
|
|
|
334
367
|
PAYMENT_PROCESSING = 'payment_processing',
|
|
335
368
|
SETUP_PROCESSING = 'setup_processing',
|
|
336
369
|
SESSION_EXPIRED = 'session_expired',
|
|
337
|
-
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'
|
|
338
375
|
}
|
|
339
376
|
|
|
340
377
|
type ListenerFn = (
|
|
@@ -414,6 +451,7 @@ type UpdateTransactionDetailsOpts = {
|
|
|
414
451
|
consumer?: {
|
|
415
452
|
firstName?: string
|
|
416
453
|
lastName?: string
|
|
454
|
+
name?: string
|
|
417
455
|
email?: string
|
|
418
456
|
phone?: string
|
|
419
457
|
}
|
|
@@ -447,22 +485,96 @@ type UpdateTransactionDetailsFn = (
|
|
|
447
485
|
config: UpdateTransactionDetailsOpts
|
|
448
486
|
) => Promise<unknown>
|
|
449
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
|
+
|
|
450
558
|
type CheckoutObject = {
|
|
451
559
|
on: ListenerFn
|
|
452
560
|
once: ListenerFn
|
|
453
561
|
removeListener: ListenerFn
|
|
454
562
|
EVENT_TYPES: typeof EVENT_TYPES
|
|
563
|
+
ELEMENT_TYPES: typeof ELEMENT_TYPES
|
|
455
564
|
render: RenderFn
|
|
456
565
|
paypal: PaypalFn
|
|
457
566
|
universal: UniversalFn
|
|
567
|
+
blur: BlurFn
|
|
458
568
|
update: UpdateFn
|
|
459
569
|
updateTransactionDetails: UpdateTransactionDetailsFn
|
|
460
570
|
submit: SubmitFn
|
|
461
|
-
|
|
571
|
+
resync: ResyncFn
|
|
572
|
+
canMakePayments: CanMakePaymentsFn
|
|
462
573
|
validate: ValidateFn
|
|
463
574
|
reset: ResetFn
|
|
464
575
|
pay: PayFn
|
|
465
|
-
|
|
576
|
+
headless: HeadlessFn
|
|
577
|
+
ctp: (params: InitHeadlessCtpParams) => Promise<HeadlessCtpObject>
|
|
466
578
|
}
|
|
467
579
|
|
|
468
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",
|