@idonatedev/idonate-sdk 1.1.0-dev1 → 1.1.0-dev11
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/dist/config-handler.js +3 -0
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +6 -2
- package/dist/idonate-client.d.ts +5 -1
- package/dist/idonate-client.js +5 -0
- package/dist/legacy-bank-tokenization.d.ts +36 -0
- package/dist/legacy-bank-tokenization.js +112 -0
- package/dist/tokenize/CardConnectTokenizer.d.ts +9 -1
- package/dist/tokenize/CardConnectTokenizer.js +244 -151
- package/dist/tokenize/SpreedlyTokenizer.d.ts +10 -3
- package/dist/tokenize/SpreedlyTokenizer.js +388 -196
- package/dist/tokenize/Tokenizer.d.ts +6 -1
- package/dist/tokenize/Tokenizer.js +2 -2
- package/dist/tokenize/index.d.ts +1 -1
- package/dist/tokenize/styles.d.ts +1 -0
- package/dist/tokenize/styles.js +9 -0
- package/dist/tokenize/types.d.ts +5 -10
- package/package.json +2 -2
- package/umd/idonate-sdk.js +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CardData, BankAccountData, PaymentData, PaymentToken, ValidationResult, TokenizerEvent, TokenizerStylingComplete, CardType, PaymentGateway, TokenizerContainer, PaymentMethodMode } from './types';
|
|
2
|
+
import ConfigHandler from '../config-handler';
|
|
2
3
|
export declare abstract class Tokenizer {
|
|
3
4
|
protected mode: PaymentMethodMode;
|
|
4
5
|
protected eventHandlers: Map<TokenizerEvent, Set<(data?: any) => void>>;
|
|
@@ -7,6 +8,9 @@ export declare abstract class Tokenizer {
|
|
|
7
8
|
abstract clear(): void;
|
|
8
9
|
abstract focus(field: 'cardNumber' | 'cvv' | 'expiry' | 'routingNumber' | 'accountNumber'): void;
|
|
9
10
|
abstract destroy(): void;
|
|
11
|
+
abstract hasToken(): boolean;
|
|
12
|
+
abstract getToken(): PaymentToken | null;
|
|
13
|
+
abstract get tokenizationMode(): 'auto' | 'manual';
|
|
10
14
|
getMode(): PaymentMethodMode;
|
|
11
15
|
on(event: TokenizerEvent, handler: (data?: any) => void): void;
|
|
12
16
|
off(event: TokenizerEvent, handler: (data?: any) => void): void;
|
|
@@ -25,8 +29,9 @@ export declare abstract class Tokenizer {
|
|
|
25
29
|
expiryId: string;
|
|
26
30
|
cvvId: string;
|
|
27
31
|
};
|
|
28
|
-
static create(gateway: PaymentGateway, container: TokenizerContainer, config
|
|
32
|
+
static create(gateway: PaymentGateway, container: TokenizerContainer, config: {
|
|
29
33
|
organizationId: string;
|
|
30
34
|
embedId: string;
|
|
35
|
+
clientConfig: ConfigHandler;
|
|
31
36
|
}): Promise<Tokenizer>;
|
|
32
37
|
}
|
|
@@ -77,10 +77,10 @@ class Tokenizer {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
isCardData(data) {
|
|
80
|
-
return
|
|
80
|
+
return this.mode === 'credit_card';
|
|
81
81
|
}
|
|
82
82
|
isBankAccountData(data) {
|
|
83
|
-
return
|
|
83
|
+
return this.mode === 'bank_account';
|
|
84
84
|
}
|
|
85
85
|
normalizeCardType(providerCardType) {
|
|
86
86
|
const normalized = providerCardType.toLowerCase().replace(/[\s-_]/g, '');
|
package/dist/tokenize/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import * as iats from './iats';
|
|
|
2
2
|
export { Tokenizer } from './Tokenizer';
|
|
3
3
|
export { SpreedlyTokenizer } from './SpreedlyTokenizer';
|
|
4
4
|
export { CardConnectTokenizer } from './CardConnectTokenizer';
|
|
5
|
-
export { PaymentMethodType, PaymentGateway, TokenizerContainer, TokenizerStyling, CardData, PaymentToken, CardType, TokenizerEvent, ValidationState, ValidationResult, ValidationError, TokenizationError, } from './types';
|
|
5
|
+
export { PaymentMethodType, PaymentGateway, TokenizerContainer, TokenizerStyling, CardData, PaymentData, PaymentToken, CardType, TokenizerEvent, ValidationState, ValidationResult, ValidationError, TokenizationError, } from './types';
|
|
6
6
|
export { iats };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { TokenizerStyling, TokenizerStylingComplete } from './types';
|
|
2
2
|
export declare const DEFAULT_UNIFIED_STYLES: TokenizerStylingComplete;
|
|
3
3
|
export declare function mergeStyles(defaults: TokenizerStylingComplete, userStyles?: TokenizerStyling): TokenizerStylingComplete;
|
|
4
|
+
export declare function getContainerStylesForLayout(baseStyles: TokenizerStylingComplete, layout?: 'single-line' | 'two-line'): TokenizerStylingComplete;
|
package/dist/tokenize/styles.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_UNIFIED_STYLES = void 0;
|
|
4
4
|
exports.mergeStyles = mergeStyles;
|
|
5
|
+
exports.getContainerStylesForLayout = getContainerStylesForLayout;
|
|
5
6
|
exports.DEFAULT_UNIFIED_STYLES = {
|
|
6
7
|
input: {
|
|
7
8
|
height: '40px',
|
|
@@ -28,6 +29,8 @@ exports.DEFAULT_UNIFIED_STYLES = {
|
|
|
28
29
|
display: 'flex',
|
|
29
30
|
gap: '1rem',
|
|
30
31
|
alignItems: 'center',
|
|
32
|
+
flexWrap: 'nowrap',
|
|
33
|
+
rowGap: '1rem',
|
|
31
34
|
},
|
|
32
35
|
};
|
|
33
36
|
function mergeStyles(defaults, userStyles) {
|
|
@@ -40,3 +43,9 @@ function mergeStyles(defaults, userStyles) {
|
|
|
40
43
|
container: Object.assign(Object.assign({}, defaults.container), userStyles.container),
|
|
41
44
|
};
|
|
42
45
|
}
|
|
46
|
+
function getContainerStylesForLayout(baseStyles, layout = 'single-line') {
|
|
47
|
+
if (layout === 'two-line') {
|
|
48
|
+
return Object.assign(Object.assign({}, baseStyles), { container: Object.assign(Object.assign({}, baseStyles.container), { flexWrap: 'wrap', rowGap: baseStyles.container.rowGap || baseStyles.container.gap }) });
|
|
49
|
+
}
|
|
50
|
+
return baseStyles;
|
|
51
|
+
}
|
package/dist/tokenize/types.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export interface TokenizerContainer {
|
|
|
18
18
|
mode?: PaymentMethodMode;
|
|
19
19
|
bankCountry?: 'US' | 'CA';
|
|
20
20
|
enableTestMode?: boolean;
|
|
21
|
+
layout?: 'single-line' | 'two-line';
|
|
21
22
|
}
|
|
22
23
|
export interface TokenizerStylingComplete {
|
|
23
24
|
input: {
|
|
@@ -48,6 +49,8 @@ export interface TokenizerStylingComplete {
|
|
|
48
49
|
display: string;
|
|
49
50
|
gap: string;
|
|
50
51
|
alignItems: string;
|
|
52
|
+
flexWrap?: string;
|
|
53
|
+
rowGap?: string;
|
|
51
54
|
};
|
|
52
55
|
}
|
|
53
56
|
type DeepPartial<T> = T extends object ? {
|
|
@@ -57,8 +60,6 @@ export type TokenizerStyling = DeepPartial<TokenizerStylingComplete>;
|
|
|
57
60
|
export interface CardData {
|
|
58
61
|
firstName: string;
|
|
59
62
|
lastName: string;
|
|
60
|
-
expiryMonth: string;
|
|
61
|
-
expiryYear: string;
|
|
62
63
|
email?: string;
|
|
63
64
|
phone?: string;
|
|
64
65
|
address?: {
|
|
@@ -71,10 +72,6 @@ export interface CardData {
|
|
|
71
72
|
};
|
|
72
73
|
}
|
|
73
74
|
export interface BankAccountData {
|
|
74
|
-
routingNumber: string;
|
|
75
|
-
accountNumber: string;
|
|
76
|
-
accountType: 'checking' | 'savings';
|
|
77
|
-
accountHolderType: 'personal' | 'business';
|
|
78
75
|
firstName: string;
|
|
79
76
|
lastName: string;
|
|
80
77
|
email?: string;
|
|
@@ -88,9 +85,7 @@ export interface BankAccountData {
|
|
|
88
85
|
country?: string;
|
|
89
86
|
};
|
|
90
87
|
}
|
|
91
|
-
export interface CanadianBankAccountData extends
|
|
92
|
-
institutionNumber: string;
|
|
93
|
-
transitNumber: string;
|
|
88
|
+
export interface CanadianBankAccountData extends BankAccountData {
|
|
94
89
|
}
|
|
95
90
|
export type PaymentData = CardData | BankAccountData | CanadianBankAccountData;
|
|
96
91
|
export interface PaymentToken {
|
|
@@ -103,7 +98,7 @@ export interface PaymentToken {
|
|
|
103
98
|
provider?: string;
|
|
104
99
|
}
|
|
105
100
|
export type CardType = 'visa' | 'mastercard' | 'amex' | 'discover' | 'diners' | 'jcb' | 'unknown';
|
|
106
|
-
export type TokenizerEvent = 'ready' | 'focus' | 'blur' | 'change' | 'validation' | 'cardTypeChange' | 'error' | 'tokenization';
|
|
101
|
+
export type TokenizerEvent = 'ready' | 'focus' | 'blur' | 'change' | 'validation' | 'cardTypeChange' | 'error' | 'tokenization' | 'tokenReady';
|
|
107
102
|
export interface ValidationState {
|
|
108
103
|
isValid: boolean;
|
|
109
104
|
cardNumber?: {
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idonatedev/idonate-sdk",
|
|
3
3
|
"author": "iDonate",
|
|
4
|
-
"version": "1.1.0-
|
|
4
|
+
"version": "1.1.0-dev11",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "iDonate Web SDK",
|
|
7
7
|
"engines": {
|
|
8
|
-
"node": ">=
|
|
8
|
+
"node": ">=18.0.0"
|
|
9
9
|
},
|
|
10
10
|
"main": "dist/index.js",
|
|
11
11
|
"unpkg": "umd/idonate-sdk.js",
|