judokit-react-native 3.4.9 → 4.0.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.
@@ -26,7 +26,7 @@
26
26
  44B2907D244E491B009DF232 /* NSDictionary+JudoConvert.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B29075244E491A009DF232 /* NSDictionary+JudoConvert.m */; };
27
27
  44B2907E244E491B009DF232 /* RNApplePayWrappers.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B2907A244E491B009DF232 /* RNApplePayWrappers.m */; };
28
28
  44B2907F244E491B009DF232 /* RNWrappers.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B2907B244E491B009DF232 /* RNWrappers.m */; };
29
- 91D3E9495876992A8B1FFFEE /* libPods-RNJudo-RNJudoTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B2E709D2A9CC701279124F8 /* libPods-RNJudo-RNJudoTests.a */; };
29
+ AD16583B292D17890022AAD6 /* libPods-RNJudo-RNJudoTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AD16583A292D17890022AAD6 /* libPods-RNJudo-RNJudoTests.a */; };
30
30
  B3E7B58A1CC2AC0600A0062D /* RNJudo.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNJudo.m */; };
31
31
  /* End PBXBuildFile section */
32
32
 
@@ -57,11 +57,9 @@
57
57
  01C87484245069DD0035A1C1 /* UIColor+RNAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIColor+RNAdditions.h"; sourceTree = "<group>"; };
58
58
  0A314097569FF3064749EF21 /* Pods-RNJudo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNJudo.release.xcconfig"; path = "Target Support Files/Pods-RNJudo/Pods-RNJudo.release.xcconfig"; sourceTree = "<group>"; };
59
59
  134814201AA4EA6300B7C361 /* libRNJudo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNJudo.a; sourceTree = BUILT_PRODUCTS_DIR; };
60
- 1B2E709D2A9CC701279124F8 /* libPods-RNJudo-RNJudoTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNJudo-RNJudoTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
61
60
  3007CBC1249B86BA0014CFC2 /* RNPBBAWrappers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNPBBAWrappers.h; sourceTree = "<group>"; };
62
61
  3007CBC2249B86BA0014CFC2 /* RNPBBAWrappers.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNPBBAWrappers.m; sourceTree = "<group>"; };
63
62
  3007CBC8249B8AB10014CFC2 /* RNPBBAWrappersTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNPBBAWrappersTests.m; sourceTree = "<group>"; };
64
- 302793822464861900436747 /* RNJudoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNJudoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
65
63
  3027938D2464863900436747 /* MockConfiguration.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = MockConfiguration.json; sourceTree = "<group>"; };
66
64
  3027938E2464863A00436747 /* RNApplePayWrappersTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNApplePayWrappersTests.m; sourceTree = "<group>"; };
67
65
  3027938F2464863A00436747 /* RNMocks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNMocks.m; sourceTree = "<group>"; };
@@ -82,9 +80,12 @@
82
80
  82FF801E2448A9EE002A72CF /* RNTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNTypes.h; sourceTree = "<group>"; };
83
81
  8822DAF687BA111CD8B958EB /* Pods-RNJudo-RNJudoTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNJudo-RNJudoTests.debug.xcconfig"; path = "Target Support Files/Pods-RNJudo-RNJudoTests/Pods-RNJudo-RNJudoTests.debug.xcconfig"; sourceTree = "<group>"; };
84
82
  8EB06DB5CF8F5FED0E90F44C /* libPods-RNJudo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNJudo.a"; sourceTree = BUILT_PRODUCTS_DIR; };
83
+ AD16583A292D17890022AAD6 /* libPods-RNJudo-RNJudoTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libPods-RNJudo-RNJudoTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
84
+ AD16583C292D19210022AAD6 /* RNJudoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNJudoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
85
85
  B3E7B5881CC2AC0600A0062D /* RNJudo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNJudo.h; sourceTree = "<group>"; };
86
86
  B3E7B5891CC2AC0600A0062D /* RNJudo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNJudo.m; sourceTree = "<group>"; };
87
87
  DEFD65C5479404919665AF19 /* Pods-RNJudo-RNJudoTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNJudo-RNJudoTests.release.xcconfig"; path = "Target Support Files/Pods-RNJudo-RNJudoTests/Pods-RNJudo-RNJudoTests.release.xcconfig"; sourceTree = "<group>"; };
88
+ E4E7A42AAC2906CA01D268CD /* libPods-RNJudo-RNJudoTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNJudo-RNJudoTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
88
89
  F3BD3206358AE029C8AD5B0C /* Pods-RNJudo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNJudo.debug.xcconfig"; path = "Target Support Files/Pods-RNJudo/Pods-RNJudo.debug.xcconfig"; sourceTree = "<group>"; };
89
90
  /* End PBXFileReference section */
90
91
 
@@ -94,7 +95,7 @@
94
95
  buildActionMask = 2147483647;
95
96
  files = (
96
97
  302793872464861A00436747 /* libRNJudo.a in Frameworks */,
97
- 91D3E9495876992A8B1FFFEE /* libPods-RNJudo-RNJudoTests.a in Frameworks */,
98
+ AD16583B292D17890022AAD6 /* libPods-RNJudo-RNJudoTests.a in Frameworks */,
98
99
  );
99
100
  runOnlyForDeploymentPostprocessing = 0;
100
101
  };
@@ -187,8 +188,8 @@
187
188
  44674005246433F50012DB4C /* RNJudoTests */,
188
189
  134814211AA4EA7D00B7C361 /* Products */,
189
190
  9B6791AF87E7C37C6CE084D2 /* Pods */,
190
- 302793822464861900436747 /* RNJudoTests.xctest */,
191
191
  BD4E27522E8A79E29A16EB7B /* Frameworks */,
192
+ AD16583C292D19210022AAD6 /* RNJudoTests.xctest */,
192
193
  );
193
194
  sourceTree = "<group>";
194
195
  };
@@ -206,8 +207,9 @@
206
207
  BD4E27522E8A79E29A16EB7B /* Frameworks */ = {
207
208
  isa = PBXGroup;
208
209
  children = (
210
+ AD16583A292D17890022AAD6 /* libPods-RNJudo-RNJudoTests.a */,
209
211
  8EB06DB5CF8F5FED0E90F44C /* libPods-RNJudo.a */,
210
- 1B2E709D2A9CC701279124F8 /* libPods-RNJudo-RNJudoTests.a */,
212
+ E4E7A42AAC2906CA01D268CD /* libPods-RNJudo-RNJudoTests.a */,
211
213
  );
212
214
  name = Frameworks;
213
215
  sourceTree = "<group>";
@@ -233,7 +235,7 @@
233
235
  );
234
236
  name = RNJudoTests;
235
237
  productName = RNJudoTests;
236
- productReference = 302793822464861900436747 /* RNJudoTests.xctest */;
238
+ productReference = AD16583C292D19210022AAD6 /* RNJudoTests.xctest */;
237
239
  productType = "com.apple.product-type.bundle.unit-test";
238
240
  };
239
241
  58B511DA1A9E6C8500147676 /* RNJudo */ = {
@@ -335,12 +337,16 @@
335
337
  inputPaths = (
336
338
  "${PODS_ROOT}/Target Support Files/Pods-RNJudo-RNJudoTests/Pods-RNJudo-RNJudoTests-frameworks.sh",
337
339
  "${PODS_XCFRAMEWORKS_BUILD_DIR}/DeviceDNA/DeviceDNA.framework/DeviceDNA",
340
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion",
341
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog",
338
342
  "${PODS_XCFRAMEWORKS_BUILD_DIR}/Judo3DS2_iOS/Judo3DS2_iOS.framework/Judo3DS2_iOS",
339
343
  "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
340
344
  );
341
345
  name = "[CP] Embed Pods Frameworks";
342
346
  outputPaths = (
343
347
  "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DeviceDNA.framework",
348
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework",
349
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework",
344
350
  "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Judo3DS2_iOS.framework",
345
351
  "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
346
352
  );
@@ -382,6 +388,7 @@
382
388
  "${PODS_ROOT}/JudoKit-iOS/Resources/judokit-resources.bundle",
383
389
  "${PODS_ROOT}/JudoKit-iOS/Resources/judokit-countries-list.json",
384
390
  "${PODS_CONFIGURATION_BUILD_DIR}/JudoKit-iOS/JudoKit_iOS.bundle",
391
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
385
392
  "${PODS_CONFIGURATION_BUILD_DIR}/ZappMerchantLib/ZappMerchantLibResources.bundle",
386
393
  );
387
394
  name = "[CP] Copy Pods Resources";
@@ -390,6 +397,7 @@
390
397
  "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/judokit-resources.bundle",
391
398
  "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/judokit-countries-list.json",
392
399
  "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/JudoKit_iOS.bundle",
400
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
393
401
  "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ZappMerchantLibResources.bundle",
394
402
  );
395
403
  runOnlyForDeploymentPostprocessing = 0;
@@ -454,7 +462,6 @@
454
462
  CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
455
463
  CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
456
464
  CODE_SIGN_STYLE = Automatic;
457
- DEBUG_INFORMATION_FORMAT = dwarf;
458
465
  DEVELOPMENT_TEAM = 95V535S6TQ;
459
466
  GCC_C_LANGUAGE_STANDARD = gnu11;
460
467
  HEADER_SEARCH_PATHS = (
@@ -491,7 +498,7 @@
491
498
  "$(SRCROOT)/../sample-app/ios/Pods/Headers/Public/**",
492
499
  );
493
500
  INFOPLIST_FILE = RNJudoTests/Info.plist;
494
- IPHONEOS_DEPLOYMENT_TARGET = 13.4;
501
+ IPHONEOS_DEPLOYMENT_TARGET = 12.4;
495
502
  LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
496
503
  MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
497
504
  MTL_FAST_MATH = YES;
@@ -514,11 +521,10 @@
514
521
  CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
515
522
  CODE_SIGN_STYLE = Automatic;
516
523
  COPY_PHASE_STRIP = NO;
517
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
518
524
  DEVELOPMENT_TEAM = 95V535S6TQ;
519
525
  GCC_C_LANGUAGE_STANDARD = gnu11;
520
526
  INFOPLIST_FILE = RNJudoTests/Info.plist;
521
- IPHONEOS_DEPLOYMENT_TARGET = 13.4;
527
+ IPHONEOS_DEPLOYMENT_TARGET = 12.4;
522
528
  LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
523
529
  MTL_FAST_MATH = YES;
524
530
  PRODUCT_BUNDLE_IDENTIFIER = com.judopay.RNJudoTests;
@@ -530,7 +536,6 @@
530
536
  58B511ED1A9E6C8500147676 /* Debug */ = {
531
537
  isa = XCBuildConfiguration;
532
538
  buildSettings = {
533
- ALWAYS_SEARCH_USER_PATHS = NO;
534
539
  CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
535
540
  CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
536
541
  CLANG_CXX_LIBRARY = "libc++";
@@ -559,6 +564,7 @@
559
564
  COPY_PHASE_STRIP = NO;
560
565
  ENABLE_STRICT_OBJC_MSGSEND = YES;
561
566
  ENABLE_TESTABILITY = YES;
567
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
562
568
  GCC_C_LANGUAGE_STANDARD = gnu99;
563
569
  GCC_DYNAMIC_NO_PIC = NO;
564
570
  GCC_NO_COMMON_BLOCKS = YES;
@@ -576,7 +582,7 @@
576
582
  GCC_WARN_UNUSED_VARIABLE = YES;
577
583
  IPHONEOS_DEPLOYMENT_TARGET = 12.0;
578
584
  MTL_ENABLE_DEBUG_INFO = YES;
579
- ONLY_ACTIVE_ARCH = YES;
585
+ REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
580
586
  SDKROOT = iphoneos;
581
587
  };
582
588
  name = Debug;
@@ -584,7 +590,6 @@
584
590
  58B511EE1A9E6C8500147676 /* Release */ = {
585
591
  isa = XCBuildConfiguration;
586
592
  buildSettings = {
587
- ALWAYS_SEARCH_USER_PATHS = NO;
588
593
  CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
589
594
  CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
590
595
  CLANG_CXX_LIBRARY = "libc++";
@@ -613,6 +618,7 @@
613
618
  COPY_PHASE_STRIP = YES;
614
619
  ENABLE_NS_ASSERTIONS = NO;
615
620
  ENABLE_STRICT_OBJC_MSGSEND = YES;
621
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
616
622
  GCC_C_LANGUAGE_STANDARD = gnu99;
617
623
  GCC_NO_COMMON_BLOCKS = YES;
618
624
  GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -623,6 +629,7 @@
623
629
  GCC_WARN_UNUSED_VARIABLE = YES;
624
630
  IPHONEOS_DEPLOYMENT_TARGET = 12.0;
625
631
  MTL_ENABLE_DEBUG_INFO = NO;
632
+ REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
626
633
  SDKROOT = iphoneos;
627
634
  VALIDATE_PRODUCT = YES;
628
635
  };
@@ -633,7 +640,6 @@
633
640
  baseConfigurationReference = F3BD3206358AE029C8AD5B0C /* Pods-RNJudo.debug.xcconfig */;
634
641
  buildSettings = {
635
642
  CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
636
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
637
643
  FRAMEWORK_SEARCH_PATHS = "$(inherited)";
638
644
  HEADER_SEARCH_PATHS = (
639
645
  "$(inherited)",
@@ -653,7 +659,6 @@
653
659
  baseConfigurationReference = 0A314097569FF3064749EF21 /* Pods-RNJudo.release.xcconfig */;
654
660
  buildSettings = {
655
661
  CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
656
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
657
662
  FRAMEWORK_SEARCH_PATHS = "$(inherited)";
658
663
  HEADER_SEARCH_PATHS = (
659
664
  "$(inherited)",
@@ -3,7 +3,7 @@
3
3
  LastUpgradeVersion = "1340"
4
4
  version = "1.3">
5
5
  <BuildAction
6
- parallelizeBuildables = "NO"
6
+ parallelizeBuildables = "YES"
7
7
  buildImplicitDependencies = "YES">
8
8
  <BuildActionEntries>
9
9
  <BuildActionEntry
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "judokit-react-native",
3
3
  "title": "Judopay React Native Module",
4
- "version": "3.4.9",
4
+ "version": "4.0.0",
5
5
  "description": "A React Native module for the Judopay native SDKs to take payments on iOS and Android.",
6
6
  "main": "JudoPay.tsx",
7
7
  "scripts": {
8
8
  "test": "jest --coverage",
9
- "lint": "tsc && eslint '*/**/*.{js,ts,tsx}' --quiet"
9
+ "lint": "tsc && eslint '*/**/*.{js,ts,tsx}' --quiet",
10
+ "format": "prettier --write \"**/*.+(tsx|ts)\""
10
11
  },
11
12
  "files": [
12
13
  "JudoPay.tsx",
@@ -41,36 +42,41 @@
41
42
  "licenseFilename": "LICENSE",
42
43
  "readmeFilename": "README.md",
43
44
  "peerDependencies": {
44
- "react-native": "^0.61.5"
45
+ "react": "*",
46
+ "react-native": "*"
45
47
  },
46
48
  "devDependencies": {
47
- "@typescript-eslint/eslint-plugin": "^2.24.0",
48
- "@typescript-eslint/parser": "^2.24.0",
49
- "babel-jest": "^25.1.0",
50
- "eslint": "^6.8.0",
51
- "eslint-config-prettier": "^6.10.0",
52
- "eslint-plugin-react": "^7.19.0",
53
- "eslint-plugin-react-hooks": "^2.5.0",
54
- "jest": "^25.3.0",
55
- "react": "16.9.0",
56
- "react-native": "0.61.5"
57
- },
58
- "dependencies": {
59
- "@types/jest": "^25.2.3",
60
- "@types/react": "^16.9.23",
61
- "@types/react-native": "^0.61.21",
62
- "@types/react-native-dialog": "^5.6.2",
63
- "@types/react-native-loading-spinner-overlay": "^0.5.2",
64
- "@types/react-test-renderer": "^16.9.2",
65
- "typescript": "^3.8.3"
49
+ "@babel/core": "^7.12.9",
50
+ "@babel/runtime": "^7.12.5",
51
+ "@react-native-community/eslint-config": "^2.0.0",
52
+ "@tsconfig/react-native": "^2.0.2",
53
+ "@types/jest": "^29.2.3",
54
+ "@types/react-native": "^0.69.7",
55
+ "@types/react-test-renderer": "^18.0.0",
56
+ "@typescript-eslint/eslint-plugin": "^5.29.0",
57
+ "@typescript-eslint/parser": "^5.29.0",
58
+ "babel-jest": "^29.3.1",
59
+ "eslint": "^7.32.0",
60
+ "jest": "^29.3.1",
61
+ "metro-react-native-babel-preset": "^0.70.3",
62
+ "prettier": "^2.7.1",
63
+ "react": "18.0.0",
64
+ "react-native": "0.69.7",
65
+ "react-test-renderer": "18.0.0",
66
+ "typescript": "^4.4.4"
66
67
  },
67
68
  "jest": {
68
69
  "preset": "react-native",
69
- "transformIgnorePatterns": [
70
- "node_modules/(?!(jest-)?react-native|react-navigation|@react-navigation|@react-native-community/masked-view|judo-react-native)"
70
+ "moduleFileExtensions": [
71
+ "ts",
72
+ "tsx",
73
+ "js"
74
+ ],
75
+ "modulePathIgnorePatterns": [
76
+ "__tests__/JudoTestDefaults"
71
77
  ],
72
78
  "setupFiles": [
73
- "<rootDir>/jestSetup.js"
79
+ "<rootDir>/__mocks__/RNJudoBridge.tsx"
74
80
  ]
75
81
  }
76
82
  }
@@ -15,42 +15,44 @@ export interface JudoConfiguration {
15
15
  googlePayConfiguration?: JudoGooglePayConfiguration
16
16
  pbbaConfiguration?: JudoPBBAConfiguration
17
17
  isInitialRecurringPayment?: boolean
18
- networkTimeout?: NetworkTimeout,
19
- challengeRequestIndicator?: ChallengeRequestIndicator,
20
- scaExemption?: ScaExemption,
21
- mobileNumber?: string,
22
- phoneCountryCode?: string,
23
- emailAddress?: string,
24
- threeDSTwoMaxTimeout?: string,
18
+ networkTimeout?: NetworkTimeout
19
+ challengeRequestIndicator?: ChallengeRequestIndicator
20
+ scaExemption?: ScaExemption
21
+ mobileNumber?: string
22
+ phoneCountryCode?: string
23
+ emailAddress?: string
24
+ threeDSTwoMaxTimeout?: number
25
25
  threeDSTwoMessageVersion?: string
26
+ isDelayedAuthorisation?: boolean
26
27
  }
27
28
 
28
29
  export enum ChallengeRequestIndicator {
29
- NoPreference = "noPreference",
30
- NoChallenge = "noChallenge",
31
- ChallengePreferred = "challengePreferred",
32
- ChallengeAsMandate = "challengeAsMandate"
30
+ NoPreference = 'noPreference',
31
+ NoChallenge = 'noChallenge',
32
+ ChallengePreferred = 'challengePreferred',
33
+ ChallengeAsMandate = 'challengeAsMandate'
33
34
  }
34
35
 
35
36
  export enum ScaExemption {
36
- LowValue = "lowValue",
37
- SecureCorporate = "secureCorporate",
38
- TrustedBeneficiary = "trustedBeneficiary",
39
- TransactionRiskAnalysis = "transactionRiskAnalysis"
37
+ LowValue = 'lowValue',
38
+ SecureCorporate = 'secureCorporate',
39
+ TrustedBeneficiary = 'trustedBeneficiary',
40
+ TransactionRiskAnalysis = 'transactionRiskAnalysis'
40
41
  }
41
42
 
42
43
  export interface NetworkTimeout {
43
- connectTimeout?: number,
44
- readTimeout?: number,
44
+ connectTimeout?: number
45
+ readTimeout?: number
45
46
  writeTimeout?: number
46
47
  }
47
48
 
48
49
  export enum JudoTransactionType {
49
- Payment,
50
- PreAuth,
51
- RegisterCard,
52
- CheckCard,
53
- SaveCard
50
+ Payment = 1,
51
+ PreAuth = 2,
52
+ RegisterCard = 3,
53
+ CheckCard = 4,
54
+ SaveCard = 5,
55
+ Unknown = -1
54
56
  }
55
57
 
56
58
  export enum JudoTransactionMode {
@@ -60,8 +62,10 @@ export enum JudoTransactionMode {
60
62
  }
61
63
 
62
64
  export enum JudoTransactionResult {
65
+ Error,
63
66
  Success,
64
- Declined
67
+ Declined,
68
+ Unknown = -1
65
69
  }
66
70
 
67
71
  export interface JudoAmount {
@@ -85,6 +89,58 @@ export interface JudoAddress {
85
89
  state?: string
86
90
  }
87
91
 
92
+ export interface JudoThreeDSToolbarCustomization {
93
+ backgroundColor?: string
94
+ headerText?: string
95
+ buttonText?: string
96
+ textFontName?: string
97
+ textColor?: string
98
+ textFontSize?: number
99
+ }
100
+
101
+ export interface JudoThreeDSLabelCustomization {
102
+ headingTextFontName?: string
103
+ headingTextColor?: string
104
+ headingTextFontSize?: number
105
+ textFontName?: string
106
+ textColor?: string
107
+ textFontSize?: number
108
+ }
109
+
110
+ export interface JudoThreeDSTextBoxCustomization {
111
+ borderWidth?: number
112
+ borderColor?: string
113
+ cornerRadius?: number
114
+ textFontName?: string
115
+ textColor?: string
116
+ textFontSize?: number
117
+ }
118
+
119
+ export enum JudoThreeDSButtonType {
120
+ SUBMIT = 'SUBMIT',
121
+ CONTINUE = 'CONTINUE',
122
+ NEXT = 'NEXT',
123
+ CANCEL = 'CANCEL',
124
+ RESEND = 'RESEND'
125
+ }
126
+
127
+ export interface JudoThreeDSButtonCustomization {
128
+ backgroundColor?: string
129
+ cornerRadius?: number
130
+ textFontName?: string
131
+ textColor?: string
132
+ textFontSize?: number
133
+ }
134
+
135
+ export interface JudoThreeDSUIConfiguration {
136
+ buttonCustomizations?: Partial<
137
+ Record<JudoThreeDSButtonType, JudoThreeDSButtonCustomization>
138
+ >
139
+ toolbarCustomization?: JudoThreeDSToolbarCustomization
140
+ labelCustomization?: JudoThreeDSLabelCustomization
141
+ textBoxCustomization?: JudoThreeDSTextBoxCustomization
142
+ }
143
+
88
144
  export interface JudoUIConfiguration {
89
145
  isAVSEnabled: boolean
90
146
  shouldPaymentMethodsDisplayAmount: boolean
@@ -92,6 +148,7 @@ export interface JudoUIConfiguration {
92
148
  shouldPaymentMethodsVerifySecurityCode: boolean
93
149
  shouldAskForBillingInformation?: boolean
94
150
  theme?: JudoTheme
151
+ threeDSUIConfiguration?: JudoThreeDSUIConfiguration
95
152
  }
96
153
 
97
154
  export interface JudoTheme {