@idonatedev/idonate-sdk 1.1.0-dev8 → 1.2.0-dev0

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.
Files changed (72) hide show
  1. package/README.md +308 -7
  2. package/dist/constants.d.ts +1 -1
  3. package/dist/constants.js +2 -6
  4. package/dist/esm/apple-pay.d.ts +12 -0
  5. package/dist/esm/apple-pay.js +74 -0
  6. package/dist/esm/cloudflare-challenge-handler.d.ts +5 -0
  7. package/dist/esm/cloudflare-challenge-handler.js +77 -0
  8. package/dist/esm/config-handler.d.ts +22 -0
  9. package/dist/esm/config-handler.js +47 -0
  10. package/dist/esm/constants.d.ts +18 -0
  11. package/dist/esm/constants.js +81 -0
  12. package/dist/esm/google-pay.d.ts +18 -0
  13. package/dist/esm/google-pay.js +140 -0
  14. package/dist/esm/idonate-client.d.ts +32 -0
  15. package/dist/esm/idonate-client.js +294 -0
  16. package/dist/esm/index.d.ts +11 -0
  17. package/dist/esm/index.js +11 -0
  18. package/dist/esm/recaptcha.d.ts +12 -0
  19. package/dist/esm/recaptcha.js +89 -0
  20. package/dist/esm/shared.d.ts +4 -0
  21. package/dist/esm/shared.js +21 -0
  22. package/dist/esm/test-utils.d.ts +81 -0
  23. package/dist/esm/test-utils.js +94 -0
  24. package/dist/esm/tokenize/CardConnectTokenizer.d.ts +51 -0
  25. package/dist/esm/tokenize/CardConnectTokenizer.js +712 -0
  26. package/dist/esm/tokenize/PayPalTokenizer.d.ts +77 -0
  27. package/dist/esm/tokenize/PayPalTokenizer.js +268 -0
  28. package/dist/esm/tokenize/SpreedlyTokenizer.d.ts +92 -0
  29. package/dist/esm/tokenize/SpreedlyTokenizer.js +1140 -0
  30. package/dist/esm/tokenize/Tokenizer.d.ts +37 -0
  31. package/dist/esm/tokenize/Tokenizer.js +150 -0
  32. package/dist/esm/tokenize/iats.d.ts +3 -0
  33. package/dist/esm/tokenize/iats.js +48 -0
  34. package/dist/esm/tokenize/index.d.ts +7 -0
  35. package/dist/esm/tokenize/index.js +7 -0
  36. package/dist/esm/tokenize/spreedly-secure.d.ts +8 -0
  37. package/dist/esm/tokenize/spreedly-secure.js +40 -0
  38. package/dist/esm/tokenize/styles.d.ts +4 -0
  39. package/dist/esm/tokenize/styles.js +46 -0
  40. package/dist/esm/tokenize/tokenizer-constants.d.ts +62 -0
  41. package/dist/esm/tokenize/tokenizer-constants.js +62 -0
  42. package/dist/esm/tokenize/tokenizer-utils.d.ts +19 -0
  43. package/dist/esm/tokenize/tokenizer-utils.js +139 -0
  44. package/dist/esm/tokenize/types.d.ts +146 -0
  45. package/dist/esm/tokenize/types.js +26 -0
  46. package/dist/esm/typeAdapters.d.ts +29 -0
  47. package/dist/esm/typeAdapters.js +189 -0
  48. package/dist/esm/types.d.ts +378 -0
  49. package/dist/esm/types.js +14 -0
  50. package/dist/esm/util.d.ts +17 -0
  51. package/dist/esm/util.js +113 -0
  52. package/dist/idonate-client.d.ts +6 -2
  53. package/dist/idonate-client.js +40 -2
  54. package/dist/shared.d.ts +2 -1
  55. package/dist/shared.js +9 -0
  56. package/dist/tokenize/CardConnectTokenizer.d.ts +1 -0
  57. package/dist/tokenize/CardConnectTokenizer.js +127 -104
  58. package/dist/tokenize/PayPalTokenizer.d.ts +77 -0
  59. package/dist/tokenize/PayPalTokenizer.js +272 -0
  60. package/dist/tokenize/SpreedlyTokenizer.d.ts +1 -0
  61. package/dist/tokenize/SpreedlyTokenizer.js +276 -135
  62. package/dist/tokenize/Tokenizer.js +6 -2
  63. package/dist/tokenize/index.d.ts +1 -0
  64. package/dist/tokenize/index.js +3 -1
  65. package/dist/tokenize/styles.d.ts +1 -0
  66. package/dist/tokenize/styles.js +9 -0
  67. package/dist/tokenize/tokenizer-utils.js +1 -1
  68. package/dist/tokenize/types.d.ts +6 -7
  69. package/dist/typeAdapters.js +3 -2
  70. package/dist/types.d.ts +16 -5
  71. package/package.json +14 -3
  72. package/umd/idonate-sdk.js +1 -1
@@ -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 ? {
@@ -69,10 +72,6 @@ export interface CardData {
69
72
  };
70
73
  }
71
74
  export interface BankAccountData {
72
- routingNumber: string;
73
- accountNumber: string;
74
- accountType: 'checking' | 'savings';
75
- accountHolderType: 'personal' | 'business';
76
75
  firstName: string;
77
76
  lastName: string;
78
77
  email?: string;
@@ -86,9 +85,7 @@ export interface BankAccountData {
86
85
  country?: string;
87
86
  };
88
87
  }
89
- export interface CanadianBankAccountData extends Omit<BankAccountData, 'routingNumber'> {
90
- institutionNumber: string;
91
- transitNumber: string;
88
+ export interface CanadianBankAccountData extends BankAccountData {
92
89
  }
93
90
  export type PaymentData = CardData | BankAccountData | CanadianBankAccountData;
94
91
  export interface PaymentToken {
@@ -99,6 +96,8 @@ export interface PaymentToken {
99
96
  paymentMethodType?: PaymentMethodMode;
100
97
  expiresAt?: Date;
101
98
  provider?: string;
99
+ paymentMethodId?: string;
100
+ paymentTransactionId?: string;
102
101
  }
103
102
  export type CardType = 'visa' | 'mastercard' | 'amex' | 'discover' | 'diners' | 'jcb' | 'unknown';
104
103
  export type TokenizerEvent = 'ready' | 'focus' | 'blur' | 'change' | 'validation' | 'cardTypeChange' | 'error' | 'tokenization' | 'tokenReady';
@@ -30,6 +30,7 @@ function buildCashPaymentPayload(organizationId, input) {
30
30
  };
31
31
  const payment = {
32
32
  payment_method_id: input.paymentMethodId,
33
+ payment_transaction_id: input.paymentTransactionId,
33
34
  gateway_id: input.paymentGatewayId,
34
35
  amount: input.paymentAmount,
35
36
  type: 'cash',
@@ -61,8 +62,8 @@ function buildCashPaymentPayload(organizationId, input) {
61
62
  page_id: input.landingPageId,
62
63
  embed_id: input.embedId,
63
64
  tribute_definition_id: (_a = input.tribute) === null || _a === void 0 ? void 0 : _a.tributeDefinitionId,
64
- tribute_first_name: (_b = input.tribute) === null || _b === void 0 ? void 0 : _b.tributeFirstName,
65
- tribute_last_name: (_c = input.tribute) === null || _c === void 0 ? void 0 : _c.tributeLastName,
65
+ tribute_recipient_first_name: (_b = input.tribute) === null || _b === void 0 ? void 0 : _b.tributeFirstName,
66
+ tribute_recipient_last_name: (_c = input.tribute) === null || _c === void 0 ? void 0 : _c.tributeLastName,
66
67
  tribute_address1: (_d = input.tribute) === null || _d === void 0 ? void 0 : _d.tributeAddress1,
67
68
  tribute_address2: (_e = input.tribute) === null || _e === void 0 ? void 0 : _e.tributeAddress2,
68
69
  tribute_city: (_f = input.tribute) === null || _f === void 0 ? void 0 : _f.tributeCity,
package/dist/types.d.ts CHANGED
@@ -54,7 +54,7 @@ export type ACHAccount = {
54
54
  accountType: 'checking' | 'savings';
55
55
  };
56
56
  export type PaymentMethodType = 'credit_card' | 'bank_account' | 'paypal' | 'apple_pay' | 'google_pay';
57
- export type RecaptchaType = 'v2' | 'v3' | 'invisible' | 'organization' | 'nonce';
57
+ export type RecaptchaType = 'v2' | 'v3' | 'invisible' | 'organization' | 'nonce' | 'bypass';
58
58
  export type RecaptchaSecuredRequest = {
59
59
  recaptchaType: RecaptchaType;
60
60
  recaptchaToken: string;
@@ -94,6 +94,7 @@ export type CreateDonationRequest = RecaptchaSecuredRequest & {
94
94
  paymentGatewayId: string;
95
95
  donorId?: string;
96
96
  paymentMethodId: string;
97
+ paymentTransactionId?: string;
97
98
  retainPaymentMethod?: boolean;
98
99
  paymentAmount: number;
99
100
  currency: string;
@@ -164,8 +165,8 @@ export type CashPaymentPayload = {
164
165
  page_id: number;
165
166
  embed_id: string;
166
167
  tribute_definition_id: string;
167
- tribute_first_name: string;
168
- tribute_last_name: string;
168
+ tribute_recipient_first_name: string;
169
+ tribute_recipient_last_name: string;
169
170
  tribute_address1: string;
170
171
  tribute_address2: string;
171
172
  tribute_city: string;
@@ -272,11 +273,21 @@ export type TokenizeCardConnectResult = {
272
273
  message: string;
273
274
  errorcode: number;
274
275
  };
275
- export type BackendName = 'spreedly' | 'card_connect' | 'iats';
276
+ export type BackendName = 'spreedly' | 'card_connect' | 'iats' | 'paypal_checkout';
276
277
  export type PaymentGateway = {
277
278
  id: string;
278
- backendName: BackendName;
279
+ name: string;
280
+ backend_name: BackendName;
281
+ gateway_type?: string;
282
+ config?: {
283
+ [key: string]: any;
284
+ };
279
285
  };
286
+ export interface EmbedConfig {
287
+ embed_id?: string;
288
+ organization_id?: string;
289
+ available_gateways: PaymentGateway[];
290
+ }
280
291
  export type PaymentMethod = {
281
292
  id: string;
282
293
  type: PaymentMethodType;
package/package.json CHANGED
@@ -1,15 +1,23 @@
1
1
  {
2
2
  "name": "@idonatedev/idonate-sdk",
3
3
  "author": "iDonate",
4
- "version": "1.1.0-dev8",
4
+ "version": "1.2.0-dev0",
5
5
  "sideEffects": false,
6
6
  "description": "iDonate Web SDK",
7
7
  "engines": {
8
8
  "node": ">=18.0.0"
9
9
  },
10
10
  "main": "dist/index.js",
11
+ "module": "dist/esm/index.js",
11
12
  "unpkg": "umd/idonate-sdk.js",
12
13
  "types": "dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "import": "./dist/esm/index.js",
17
+ "require": "./dist/index.js",
18
+ "types": "./dist/index.d.ts"
19
+ }
20
+ },
13
21
  "files": [
14
22
  "/dist",
15
23
  "/umd"
@@ -22,7 +30,10 @@
22
30
  "lint": "npx eslint 'src/**/*.ts'",
23
31
  "lint:fix": "npx eslint --fix 'src/**/*.ts'",
24
32
  "format": "npx prettier --write 'src/**/*.ts'",
25
- "build": "npx tsc && webpack",
33
+ "build": "npm run build:cjs && npm run build:esm && npm run inject:version && webpack",
34
+ "build:cjs": "npx tsc",
35
+ "build:esm": "npx tsc -p tsconfig.esm.json",
36
+ "inject:version": "node scripts/inject-version.js",
26
37
  "watch": "npx tsc -w & webpack --watch",
27
38
  "dev:server": "http-server -p 8000 -c-1 -o /e2e/donation-flow-enhanced.html",
28
39
  "dev": "concurrently \"npm run dev:server\" \"npm run watch\" --names \"server,build\" --prefix-colors \"blue,green\"",
@@ -56,7 +67,7 @@
56
67
  "trailingComma": "es5"
57
68
  },
58
69
  "lint-staged": {
59
- "*.ts": [
70
+ "src/**/*.ts": [
60
71
  "prettier --write",
61
72
  "eslint --fix"
62
73
  ]