@primer-io/react-native 0.6.4 → 0.6.8

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 (48) hide show
  1. package/README.md +4 -6
  2. package/android/.gradle/7.0.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  3. package/android/.gradle/7.0.2/dependencies-accessors/gc.properties +0 -0
  4. package/android/.gradle/7.0.2/executionHistory/executionHistory.lock +0 -0
  5. package/android/.gradle/7.0.2/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/7.0.2/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/7.0.2/gc.properties +0 -0
  8. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  9. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  10. package/android/.gradle/checksums/checksums.lock +0 -0
  11. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  12. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  13. package/android/.gradle/vcs-1/gc.properties +0 -0
  14. package/android/build.gradle +1 -1
  15. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +34 -61
  16. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +21 -3
  17. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerRequestRN.kt +2 -1
  18. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +85 -12
  19. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerThemeRN.kt +6 -14
  20. package/ios/DataModels/PrimerErrorRN.swift +4 -0
  21. package/ios/DataModels/PrimerRequestRN.swift +2 -1
  22. package/ios/DataModels/PrimerSettingsRN.swift +33 -5
  23. package/ios/PrimerRN+PrimerDelegate.swift +27 -2
  24. package/ios/PrimerRN.swift +11 -5
  25. package/ios/ReactNative.m +2 -0
  26. package/ios/ReactNative.xcodeproj/project.pbxproj +0 -44
  27. package/lib/commonjs/Primer.js +52 -4
  28. package/lib/commonjs/Primer.js.map +1 -1
  29. package/lib/commonjs/models/action-request.js +2 -0
  30. package/lib/commonjs/models/action-request.js.map +1 -0
  31. package/lib/module/Primer.js +52 -4
  32. package/lib/module/Primer.js.map +1 -1
  33. package/lib/module/models/action-request.js +2 -0
  34. package/lib/module/models/action-request.js.map +1 -0
  35. package/lib/typescript/models/action-request.d.ts +10 -0
  36. package/lib/typescript/models/primer-callbacks.d.ts +2 -0
  37. package/lib/typescript/models/primer-config.d.ts +1 -0
  38. package/lib/typescript/models/primer-request.d.ts +13 -2
  39. package/lib/typescript/models/primer-settings.d.ts +8 -6
  40. package/package.json +1 -1
  41. package/primer-io-react-native.podspec +1 -1
  42. package/src/Primer.ts +32 -3
  43. package/src/models/action-request.ts +12 -0
  44. package/src/models/primer-callbacks.ts +6 -0
  45. package/src/models/primer-config.ts +3 -0
  46. package/src/models/primer-request.ts +18 -2
  47. package/src/models/primer-settings.ts +8 -6
  48. package/ios/Podfile.lock +0 -3
@@ -7,7 +7,6 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
- 0113F67F9659E3C6C60C0C9D /* libPods-ReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A4C6F4B9FE3886B130190CE6 /* libPods-ReactNative.a */; };
11
10
  1D14D92125C8DB0E00206A38 /* ReactNative.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* ReactNative.m */; };
12
11
  1DEBE0F726C2D594004E3064 /* PrimerRN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DEBE0F626C2D594004E3064 /* PrimerRN.swift */; };
13
12
  1DEBE0FA26C2D75A004E3064 /* PrimerFlowRN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DEBE0F926C2D75A004E3064 /* PrimerFlowRN.swift */; };
@@ -38,9 +37,6 @@
38
37
  1DEBE0FD26C2D875004E3064 /* PrimerSettingsRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimerSettingsRN.swift; sourceTree = "<group>"; };
39
38
  1DEBE0FF26C2D88E004E3064 /* PrimerThemeRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimerThemeRN.swift; sourceTree = "<group>"; };
40
39
  1DEBE10126C2D8BA004E3064 /* PaymentInstrumentTokenRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentInstrumentTokenRN.swift; sourceTree = "<group>"; };
41
- 5CEA01D396917A3CB5917524 /* Pods-ReactNative.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNative.release.xcconfig"; path = "Target Support Files/Pods-ReactNative/Pods-ReactNative.release.xcconfig"; sourceTree = "<group>"; };
42
- A4C6F4B9FE3886B130190CE6 /* libPods-ReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNative.a"; sourceTree = BUILT_PRODUCTS_DIR; };
43
- A693C215DDA197B3899816CB /* Pods-ReactNative.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNative.debug.xcconfig"; path = "Target Support Files/Pods-ReactNative/Pods-ReactNative.debug.xcconfig"; sourceTree = "<group>"; };
44
40
  B3E7B5891CC2AC0600A0062D /* ReactNative.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReactNative.m; sourceTree = "<group>"; };
45
41
  F4FF95D5245B92E700C19C63 /* ReactNative-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ReactNative-Bridging-Header.h"; sourceTree = "<group>"; };
46
42
  F4FF95D6245B92E800C19C63 /* UniversalCheckoutRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UniversalCheckoutRN.swift; sourceTree = "<group>"; };
@@ -51,7 +47,6 @@
51
47
  isa = PBXFrameworksBuildPhase;
52
48
  buildActionMask = 2147483647;
53
49
  files = (
54
- 0113F67F9659E3C6C60C0C9D /* libPods-ReactNative.a in Frameworks */,
55
50
  );
56
51
  runOnlyForDeploymentPostprocessing = 0;
57
52
  };
@@ -66,14 +61,6 @@
66
61
  name = Products;
67
62
  sourceTree = "<group>";
68
63
  };
69
- 1CAA66213DDE9D1490BE5DD3 /* Frameworks */ = {
70
- isa = PBXGroup;
71
- children = (
72
- A4C6F4B9FE3886B130190CE6 /* libPods-ReactNative.a */,
73
- );
74
- name = Frameworks;
75
- sourceTree = "<group>";
76
- };
77
64
  1DEBE0F826C2D70C004E3064 /* DataModels */ = {
78
65
  isa = PBXGroup;
79
66
  children = (
@@ -89,8 +76,6 @@
89
76
  38076040A533828516C55677 /* Pods */ = {
90
77
  isa = PBXGroup;
91
78
  children = (
92
- A693C215DDA197B3899816CB /* Pods-ReactNative.debug.xcconfig */,
93
- 5CEA01D396917A3CB5917524 /* Pods-ReactNative.release.xcconfig */,
94
79
  );
95
80
  path = Pods;
96
81
  sourceTree = "<group>";
@@ -105,7 +90,6 @@
105
90
  F4FF95D5245B92E700C19C63 /* ReactNative-Bridging-Header.h */,
106
91
  134814211AA4EA7D00B7C361 /* Products */,
107
92
  38076040A533828516C55677 /* Pods */,
108
- 1CAA66213DDE9D1490BE5DD3 /* Frameworks */,
109
93
  );
110
94
  sourceTree = "<group>";
111
95
  };
@@ -116,7 +100,6 @@
116
100
  isa = PBXNativeTarget;
117
101
  buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "ReactNative" */;
118
102
  buildPhases = (
119
- 6C137ED3C07C4CC17E75E2E6 /* [CP] Check Pods Manifest.lock */,
120
103
  58B511D71A9E6C8500147676 /* Sources */,
121
104
  58B511D81A9E6C8500147676 /* Frameworks */,
122
105
  58B511D91A9E6C8500147676 /* CopyFiles */,
@@ -162,31 +145,6 @@
162
145
  };
163
146
  /* End PBXProject section */
164
147
 
165
- /* Begin PBXShellScriptBuildPhase section */
166
- 6C137ED3C07C4CC17E75E2E6 /* [CP] Check Pods Manifest.lock */ = {
167
- isa = PBXShellScriptBuildPhase;
168
- buildActionMask = 2147483647;
169
- files = (
170
- );
171
- inputFileListPaths = (
172
- );
173
- inputPaths = (
174
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
175
- "${PODS_ROOT}/Manifest.lock",
176
- );
177
- name = "[CP] Check Pods Manifest.lock";
178
- outputFileListPaths = (
179
- );
180
- outputPaths = (
181
- "$(DERIVED_FILE_DIR)/Pods-ReactNative-checkManifestLockResult.txt",
182
- );
183
- runOnlyForDeploymentPostprocessing = 0;
184
- shellPath = /bin/sh;
185
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
186
- showEnvVarsInLog = 0;
187
- };
188
- /* End PBXShellScriptBuildPhase section */
189
-
190
148
  /* Begin PBXSourcesBuildPhase section */
191
149
  58B511D71A9E6C8500147676 /* Sources */ = {
192
150
  isa = PBXSourcesBuildPhase;
@@ -310,7 +268,6 @@
310
268
  };
311
269
  58B511F01A9E6C8500147676 /* Debug */ = {
312
270
  isa = XCBuildConfiguration;
313
- baseConfigurationReference = A693C215DDA197B3899816CB /* Pods-ReactNative.debug.xcconfig */;
314
271
  buildSettings = {
315
272
  HEADER_SEARCH_PATHS = (
316
273
  "$(inherited)",
@@ -330,7 +287,6 @@
330
287
  };
331
288
  58B511F11A9E6C8500147676 /* Release */ = {
332
289
  isa = XCBuildConfiguration;
333
- baseConfigurationReference = 5CEA01D396917A3CB5917524 /* Pods-ReactNative.release.xcconfig */;
334
290
  buildSettings = {
335
291
  HEADER_SEARCH_PATHS = (
336
292
  "$(inherited)",
@@ -56,6 +56,7 @@ function configure(config) {
56
56
  configureOnDismiss(config.onDismiss);
57
57
  configureOnError(config.onError);
58
58
  configureOnTokenizeSuccess(config.onTokenizeSuccess);
59
+ configureOnResumeSuccess(config.onResumeSuccess);
59
60
  configureOnSavedPaymentInstrumentsFetched(config.onSavedPaymentInstrumentsFetched);
60
61
  }
61
62
 
@@ -87,11 +88,58 @@ function configureOnTokenizeSuccess(callback = (_, __) => {}) {
87
88
  try {
88
89
  const parsedData = JSON.parse(data);
89
90
  callback(parsedData, {
90
- resumeWithError: () => resume({
91
- error: true
91
+ handleError: error => resume({
92
+ error,
93
+ token: null
92
94
  }),
93
- resumeWithSuccess: () => resume({
94
- error: false
95
+ handleSuccess: () => resume({
96
+ error: null,
97
+ token: null
98
+ }),
99
+ handleNewClientToken: token => resume({
100
+ error: null,
101
+ token
102
+ }),
103
+ // deprecated
104
+ resumeWithError: error => resume({
105
+ error,
106
+ token: null
107
+ }),
108
+ resumeWithSuccess: token => resume({
109
+ error: null,
110
+ token
111
+ })
112
+ });
113
+ } catch (e) {
114
+ console.log('failed to parse json', e);
115
+ }
116
+ });
117
+ }
118
+
119
+ function configureOnResumeSuccess(callback = (_, __) => {}) {
120
+ NativeModule.configureOnResumeSuccess(paymentMethodToken => {
121
+ try {
122
+ callback(paymentMethodToken, {
123
+ handleError: error => resume({
124
+ error,
125
+ token: null
126
+ }),
127
+ handleSuccess: () => resume({
128
+ error: null,
129
+ token: null
130
+ }),
131
+ handleNewClientToken: token => resume({
132
+ error: null,
133
+ token
134
+ }),
135
+ // deprecated
136
+ resumeWithError: error => resume({
137
+ error,
138
+ token: null
139
+ }),
140
+ resumeWithSuccess: token => resume({
141
+ error: null,
142
+ token
95
143
  })
96
144
  });
97
145
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["Primer.ts"],"names":["PrimerRN","NativeModule","NativeModules","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","fetchSavedPaymentInstruments","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnSavedPaymentInstrumentsFetched","onSavedPaymentInstrumentsFetched","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","resumeWithError","error","resumeWithSuccess","e","console","log","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnDismissCallback,\n OnPrimerErrorCallback,\n OnSavedPaymentInstrumentsFetchedCallback,\n OnTokenAddedToVaultCallback,\n OnTokenizeSuccessCallback,\n} from './models/primer-callbacks';\nimport type { PrimerConfig } from './models/primer-config';\nimport type { PrimerError } from './models/primer-error';\nimport type {\n PrimerIntent,\n PrimerPaymentMethodIntent,\n} from './models/primer-intent';\nimport type { PrimerSettings } from './models/primer-settings';\nimport type { PrimerTheme } from './models/primer-theme';\nimport { parseCallback } from './utils';\n\nconst { PrimerRN: NativeModule } = NativeModules;\n\nexport const PrimerNativeMapping: IPrimer = {\n showUniversalCheckout(token: String, config: PrimerConfig): void {\n configureIntent({ vault: false, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showVaultManager(token: String, config: PrimerConfig): void {\n configureIntent({ vault: true, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showPaymentMethod(\n token: String,\n intent: PrimerPaymentMethodIntent,\n config: PrimerConfig\n ): void {\n configureIntent(intent);\n configure(config);\n NativeModule.initialize(token);\n },\n\n fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {\n configure(config);\n NativeModule.fetchSavedPaymentInstruments(token);\n },\n\n dispose(): void {\n NativeModule.dispose();\n },\n};\n\nfunction configure(config: PrimerConfig): void {\n configureTheme(config.theme);\n configureSettings(config.settings);\n configureOnVaultSuccess(config.onTokenAddedToVault);\n configureOnDismiss(config.onDismiss);\n configureOnError(config.onError);\n configureOnTokenizeSuccess(config.onTokenizeSuccess);\n configureOnSavedPaymentInstrumentsFetched(\n config.onSavedPaymentInstrumentsFetched\n );\n}\n\nfunction configureSettings(settings: PrimerSettings = {}): void {\n const data = JSON.stringify(settings);\n NativeModule.configureSettings(data);\n}\n\nfunction configureTheme(theme: PrimerTheme = {}): void {\n const data = JSON.stringify(theme);\n NativeModule.configureTheme(data);\n}\n\nfunction configureIntent(\n intent: PrimerIntent = { vault: false, paymentMethod: 'Any' }\n): void {\n const data = JSON.stringify(intent);\n NativeModule.configureIntent(data);\n}\n\nfunction resume(request: any) {\n const data = JSON.stringify(request);\n NativeModule.resume(data);\n}\n\nfunction configureOnTokenizeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnTokenizeSuccess((data: any) => {\n try {\n const parsedData = JSON.parse(data) as PaymentInstrumentToken;\n callback(parsedData, {\n resumeWithError: () => resume({ error: true }),\n resumeWithSuccess: () => resume({ error: false }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnVaultSuccess(\n callback: OnTokenAddedToVaultCallback = (_) => {}\n) {\n NativeModule.configureOnVaultSuccess((data: any) => {\n parseCallback<PaymentInstrumentToken>(data, callback);\n });\n}\n\nfunction configureOnDismiss(callback: OnDismissCallback = () => {}) {\n NativeModule.configureOnDismiss((_: any) => callback());\n}\n\nfunction configureOnError(callback: OnPrimerErrorCallback = (_) => {}) {\n NativeModule.configureOnPrimerError((data: any) => {\n parseCallback<PrimerError>(data, callback);\n });\n}\n\nfunction configureOnSavedPaymentInstrumentsFetched(\n callback: OnSavedPaymentInstrumentsFetchedCallback = (_) => {}\n) {\n NativeModule.configureOnSavedPaymentInstrumentsFetched((data: any) => {\n parseCallback<PaymentInstrumentToken[]>(data, callback);\n });\n}\n"]}
1
+ {"version":3,"sources":["Primer.ts"],"names":["PrimerRN","NativeModule","NativeModules","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","fetchSavedPaymentInstruments","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnResumeSuccess","onResumeSuccess","configureOnSavedPaymentInstrumentsFetched","onSavedPaymentInstrumentsFetched","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","paymentMethodToken","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnDismissCallback,\n OnPrimerErrorCallback,\n OnSavedPaymentInstrumentsFetchedCallback,\n OnTokenAddedToVaultCallback,\n OnTokenizeSuccessCallback,\n} from './models/primer-callbacks';\nimport type { PrimerConfig } from './models/primer-config';\nimport type { PrimerError } from './models/primer-error';\nimport type {\n PrimerIntent,\n PrimerPaymentMethodIntent,\n} from './models/primer-intent';\nimport type { PrimerSettings } from './models/primer-settings';\nimport type { PrimerTheme } from './models/primer-theme';\nimport { parseCallback } from './utils';\n\nconst { PrimerRN: NativeModule } = NativeModules;\n\nexport const PrimerNativeMapping: IPrimer = {\n showUniversalCheckout(token: String, config: PrimerConfig): void {\n configureIntent({ vault: false, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showVaultManager(token: String, config: PrimerConfig): void {\n configureIntent({ vault: true, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showPaymentMethod(\n token: String,\n intent: PrimerPaymentMethodIntent,\n config: PrimerConfig\n ): void {\n configureIntent(intent);\n configure(config);\n NativeModule.initialize(token);\n },\n\n fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {\n configure(config);\n NativeModule.fetchSavedPaymentInstruments(token);\n },\n\n dispose(): void {\n NativeModule.dispose();\n },\n};\n\nfunction configure(config: PrimerConfig): void {\n configureTheme(config.theme);\n configureSettings(config.settings);\n configureOnVaultSuccess(config.onTokenAddedToVault);\n configureOnDismiss(config.onDismiss);\n configureOnError(config.onError);\n configureOnTokenizeSuccess(config.onTokenizeSuccess);\n configureOnResumeSuccess(config.onResumeSuccess);\n configureOnSavedPaymentInstrumentsFetched(\n config.onSavedPaymentInstrumentsFetched\n );\n}\n\nfunction configureSettings(settings: PrimerSettings = {}): void {\n const data = JSON.stringify(settings);\n NativeModule.configureSettings(data);\n}\n\nfunction configureTheme(theme: PrimerTheme = {}): void {\n const data = JSON.stringify(theme);\n NativeModule.configureTheme(data);\n}\n\nfunction configureIntent(\n intent: PrimerIntent = { vault: false, paymentMethod: 'Any' }\n): void {\n const data = JSON.stringify(intent);\n NativeModule.configureIntent(data);\n}\n\nfunction resume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.resume(data);\n}\n\nfunction configureOnTokenizeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnTokenizeSuccess((data: any) => {\n try {\n const parsedData = JSON.parse(data) as PaymentInstrumentToken;\n callback(parsedData, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnResumeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnResumeSuccess((paymentMethodToken: any) => {\n try {\n callback(paymentMethodToken, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnVaultSuccess(\n callback: OnTokenAddedToVaultCallback = (_) => {}\n) {\n NativeModule.configureOnVaultSuccess((data: any) => {\n parseCallback<PaymentInstrumentToken>(data, callback);\n });\n}\n\nfunction configureOnDismiss(callback: OnDismissCallback = () => {}) {\n NativeModule.configureOnDismiss((_: any) => callback());\n}\n\nfunction configureOnError(callback: OnPrimerErrorCallback = (_) => {}) {\n NativeModule.configureOnPrimerError((data: any) => {\n parseCallback<PrimerError>(data, callback);\n });\n}\n\nfunction configureOnSavedPaymentInstrumentsFetched(\n callback: OnSavedPaymentInstrumentsFetchedCallback = (_) => {}\n) {\n NativeModule.configureOnSavedPaymentInstrumentsFetched((data: any) => {\n parseCallback<PaymentInstrumentToken[]>(data, callback);\n });\n}\n\ninterface ResumeRequest {\n error: string | null;\n token: string | null;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=action-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -46,6 +46,7 @@ function configure(config) {
46
46
  configureOnDismiss(config.onDismiss);
47
47
  configureOnError(config.onError);
48
48
  configureOnTokenizeSuccess(config.onTokenizeSuccess);
49
+ configureOnResumeSuccess(config.onResumeSuccess);
49
50
  configureOnSavedPaymentInstrumentsFetched(config.onSavedPaymentInstrumentsFetched);
50
51
  }
51
52
 
@@ -77,11 +78,58 @@ function configureOnTokenizeSuccess(callback = (_, __) => {}) {
77
78
  try {
78
79
  const parsedData = JSON.parse(data);
79
80
  callback(parsedData, {
80
- resumeWithError: () => resume({
81
- error: true
81
+ handleError: error => resume({
82
+ error,
83
+ token: null
82
84
  }),
83
- resumeWithSuccess: () => resume({
84
- error: false
85
+ handleSuccess: () => resume({
86
+ error: null,
87
+ token: null
88
+ }),
89
+ handleNewClientToken: token => resume({
90
+ error: null,
91
+ token
92
+ }),
93
+ // deprecated
94
+ resumeWithError: error => resume({
95
+ error,
96
+ token: null
97
+ }),
98
+ resumeWithSuccess: token => resume({
99
+ error: null,
100
+ token
101
+ })
102
+ });
103
+ } catch (e) {
104
+ console.log('failed to parse json', e);
105
+ }
106
+ });
107
+ }
108
+
109
+ function configureOnResumeSuccess(callback = (_, __) => {}) {
110
+ NativeModule.configureOnResumeSuccess(paymentMethodToken => {
111
+ try {
112
+ callback(paymentMethodToken, {
113
+ handleError: error => resume({
114
+ error,
115
+ token: null
116
+ }),
117
+ handleSuccess: () => resume({
118
+ error: null,
119
+ token: null
120
+ }),
121
+ handleNewClientToken: token => resume({
122
+ error: null,
123
+ token
124
+ }),
125
+ // deprecated
126
+ resumeWithError: error => resume({
127
+ error,
128
+ token: null
129
+ }),
130
+ resumeWithSuccess: token => resume({
131
+ error: null,
132
+ token
85
133
  })
86
134
  });
87
135
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["Primer.ts"],"names":["NativeModules","parseCallback","PrimerRN","NativeModule","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","fetchSavedPaymentInstruments","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnSavedPaymentInstrumentsFetched","onSavedPaymentInstrumentsFetched","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","resumeWithError","error","resumeWithSuccess","e","console","log","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnDismissCallback,\n OnPrimerErrorCallback,\n OnSavedPaymentInstrumentsFetchedCallback,\n OnTokenAddedToVaultCallback,\n OnTokenizeSuccessCallback,\n} from './models/primer-callbacks';\nimport type { PrimerConfig } from './models/primer-config';\nimport type { PrimerError } from './models/primer-error';\nimport type {\n PrimerIntent,\n PrimerPaymentMethodIntent,\n} from './models/primer-intent';\nimport type { PrimerSettings } from './models/primer-settings';\nimport type { PrimerTheme } from './models/primer-theme';\nimport { parseCallback } from './utils';\n\nconst { PrimerRN: NativeModule } = NativeModules;\n\nexport const PrimerNativeMapping: IPrimer = {\n showUniversalCheckout(token: String, config: PrimerConfig): void {\n configureIntent({ vault: false, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showVaultManager(token: String, config: PrimerConfig): void {\n configureIntent({ vault: true, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showPaymentMethod(\n token: String,\n intent: PrimerPaymentMethodIntent,\n config: PrimerConfig\n ): void {\n configureIntent(intent);\n configure(config);\n NativeModule.initialize(token);\n },\n\n fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {\n configure(config);\n NativeModule.fetchSavedPaymentInstruments(token);\n },\n\n dispose(): void {\n NativeModule.dispose();\n },\n};\n\nfunction configure(config: PrimerConfig): void {\n configureTheme(config.theme);\n configureSettings(config.settings);\n configureOnVaultSuccess(config.onTokenAddedToVault);\n configureOnDismiss(config.onDismiss);\n configureOnError(config.onError);\n configureOnTokenizeSuccess(config.onTokenizeSuccess);\n configureOnSavedPaymentInstrumentsFetched(\n config.onSavedPaymentInstrumentsFetched\n );\n}\n\nfunction configureSettings(settings: PrimerSettings = {}): void {\n const data = JSON.stringify(settings);\n NativeModule.configureSettings(data);\n}\n\nfunction configureTheme(theme: PrimerTheme = {}): void {\n const data = JSON.stringify(theme);\n NativeModule.configureTheme(data);\n}\n\nfunction configureIntent(\n intent: PrimerIntent = { vault: false, paymentMethod: 'Any' }\n): void {\n const data = JSON.stringify(intent);\n NativeModule.configureIntent(data);\n}\n\nfunction resume(request: any) {\n const data = JSON.stringify(request);\n NativeModule.resume(data);\n}\n\nfunction configureOnTokenizeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnTokenizeSuccess((data: any) => {\n try {\n const parsedData = JSON.parse(data) as PaymentInstrumentToken;\n callback(parsedData, {\n resumeWithError: () => resume({ error: true }),\n resumeWithSuccess: () => resume({ error: false }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnVaultSuccess(\n callback: OnTokenAddedToVaultCallback = (_) => {}\n) {\n NativeModule.configureOnVaultSuccess((data: any) => {\n parseCallback<PaymentInstrumentToken>(data, callback);\n });\n}\n\nfunction configureOnDismiss(callback: OnDismissCallback = () => {}) {\n NativeModule.configureOnDismiss((_: any) => callback());\n}\n\nfunction configureOnError(callback: OnPrimerErrorCallback = (_) => {}) {\n NativeModule.configureOnPrimerError((data: any) => {\n parseCallback<PrimerError>(data, callback);\n });\n}\n\nfunction configureOnSavedPaymentInstrumentsFetched(\n callback: OnSavedPaymentInstrumentsFetchedCallback = (_) => {}\n) {\n NativeModule.configureOnSavedPaymentInstrumentsFetched((data: any) => {\n parseCallback<PaymentInstrumentToken[]>(data, callback);\n });\n}\n"]}
1
+ {"version":3,"sources":["Primer.ts"],"names":["NativeModules","parseCallback","PrimerRN","NativeModule","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","fetchSavedPaymentInstruments","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnResumeSuccess","onResumeSuccess","configureOnSavedPaymentInstrumentsFetched","onSavedPaymentInstrumentsFetched","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","paymentMethodToken","configureOnPrimerError"],"mappings":"AAAA,SAASA,aAAT,QAA8B,cAA9B;AAkBA,SAASC,aAAT,QAA8B,SAA9B;AAEA,MAAM;AAAEC,EAAAA,QAAQ,EAAEC;AAAZ,IAA6BH,aAAnC;AAEA,OAAO,MAAMI,mBAA4B,GAAG;AAC1CC,EAAAA,qBAAqB,CAACC,KAAD,EAAgBC,MAAhB,EAA4C;AAC/DC,IAAAA,eAAe,CAAC;AAAEC,MAAAA,KAAK,EAAE,KAAT;AAAgBC,MAAAA,aAAa,EAAE;AAA/B,KAAD,CAAf;AACAC,IAAAA,SAAS,CAACJ,MAAD,CAAT;AACAJ,IAAAA,YAAY,CAACS,UAAb,CAAwBN,KAAxB;AACD,GALyC;;AAO1CO,EAAAA,gBAAgB,CAACP,KAAD,EAAgBC,MAAhB,EAA4C;AAC1DC,IAAAA,eAAe,CAAC;AAAEC,MAAAA,KAAK,EAAE,IAAT;AAAeC,MAAAA,aAAa,EAAE;AAA9B,KAAD,CAAf;AACAC,IAAAA,SAAS,CAACJ,MAAD,CAAT;AACAJ,IAAAA,YAAY,CAACS,UAAb,CAAwBN,KAAxB;AACD,GAXyC;;AAa1CQ,EAAAA,iBAAiB,CACfR,KADe,EAEfS,MAFe,EAGfR,MAHe,EAIT;AACNC,IAAAA,eAAe,CAACO,MAAD,CAAf;AACAJ,IAAAA,SAAS,CAACJ,MAAD,CAAT;AACAJ,IAAAA,YAAY,CAACS,UAAb,CAAwBN,KAAxB;AACD,GArByC;;AAuB1CU,EAAAA,4BAA4B,CAACV,KAAD,EAAgBC,MAAhB,EAA4C;AACtEI,IAAAA,SAAS,CAACJ,MAAD,CAAT;AACAJ,IAAAA,YAAY,CAACa,4BAAb,CAA0CV,KAA1C;AACD,GA1ByC;;AA4B1CW,EAAAA,OAAO,GAAS;AACdd,IAAAA,YAAY,CAACc,OAAb;AACD;;AA9ByC,CAArC;;AAiCP,SAASN,SAAT,CAAmBJ,MAAnB,EAA+C;AAC7CW,EAAAA,cAAc,CAACX,MAAM,CAACY,KAAR,CAAd;AACAC,EAAAA,iBAAiB,CAACb,MAAM,CAACc,QAAR,CAAjB;AACAC,EAAAA,uBAAuB,CAACf,MAAM,CAACgB,mBAAR,CAAvB;AACAC,EAAAA,kBAAkB,CAACjB,MAAM,CAACkB,SAAR,CAAlB;AACAC,EAAAA,gBAAgB,CAACnB,MAAM,CAACoB,OAAR,CAAhB;AACAC,EAAAA,0BAA0B,CAACrB,MAAM,CAACsB,iBAAR,CAA1B;AACAC,EAAAA,wBAAwB,CAACvB,MAAM,CAACwB,eAAR,CAAxB;AACAC,EAAAA,yCAAyC,CACvCzB,MAAM,CAAC0B,gCADgC,CAAzC;AAGD;;AAED,SAASb,iBAAT,CAA2BC,QAAwB,GAAG,EAAtD,EAAgE;AAC9D,QAAMa,IAAI,GAAGC,IAAI,CAACC,SAAL,CAAef,QAAf,CAAb;AACAlB,EAAAA,YAAY,CAACiB,iBAAb,CAA+Bc,IAA/B;AACD;;AAED,SAAShB,cAAT,CAAwBC,KAAkB,GAAG,EAA7C,EAAuD;AACrD,QAAMe,IAAI,GAAGC,IAAI,CAACC,SAAL,CAAejB,KAAf,CAAb;AACAhB,EAAAA,YAAY,CAACe,cAAb,CAA4BgB,IAA5B;AACD;;AAED,SAAS1B,eAAT,CACEO,MAAoB,GAAG;AAAEN,EAAAA,KAAK,EAAE,KAAT;AAAgBC,EAAAA,aAAa,EAAE;AAA/B,CADzB,EAEQ;AACN,QAAMwB,IAAI,GAAGC,IAAI,CAACC,SAAL,CAAerB,MAAf,CAAb;AACAZ,EAAAA,YAAY,CAACK,eAAb,CAA6B0B,IAA7B;AACD;;AAED,SAASG,MAAT,CAAgBC,OAAhB,EAAwC;AACtC,QAAMJ,IAAI,GAAGC,IAAI,CAACC,SAAL,CAAeE,OAAf,CAAb;AACAnC,EAAAA,YAAY,CAACkC,MAAb,CAAoBH,IAApB;AACD;;AAED,SAASN,0BAAT,CACEW,QAAmC,GAAG,CAACC,CAAD,EAAIC,EAAJ,KAAW,CAAE,CADrD,EAEE;AACAtC,EAAAA,YAAY,CAACyB,0BAAb,CAAyCM,IAAD,IAAe;AACrD,QAAI;AACF,YAAMQ,UAAU,GAAGP,IAAI,CAACQ,KAAL,CAAWT,IAAX,CAAnB;AACAK,MAAAA,QAAQ,CAACG,UAAD,EAAa;AACnBE,QAAAA,WAAW,EAAGC,KAAD,IAAWR,MAAM,CAAC;AAAEQ,UAAAA,KAAF;AAASvC,UAAAA,KAAK,EAAE;AAAhB,SAAD,CADX;AAEnBwC,QAAAA,aAAa,EAAE,MAAMT,MAAM,CAAC;AAAEQ,UAAAA,KAAK,EAAE,IAAT;AAAevC,UAAAA,KAAK,EAAE;AAAtB,SAAD,CAFR;AAGnByC,QAAAA,oBAAoB,EAAGzC,KAAD,IAAW+B,MAAM,CAAC;AAAEQ,UAAAA,KAAK,EAAE,IAAT;AAAevC,UAAAA;AAAf,SAAD,CAHpB;AAInB;AACA0C,QAAAA,eAAe,EAAGH,KAAD,IAAWR,MAAM,CAAC;AAAEQ,UAAAA,KAAF;AAASvC,UAAAA,KAAK,EAAE;AAAhB,SAAD,CALf;AAMnB2C,QAAAA,iBAAiB,EAAG3C,KAAD,IAAW+B,MAAM,CAAC;AAAEQ,UAAAA,KAAK,EAAE,IAAT;AAAevC,UAAAA;AAAf,SAAD;AANjB,OAAb,CAAR;AAQD,KAVD,CAUE,OAAO4C,CAAP,EAAU;AACVC,MAAAA,OAAO,CAACC,GAAR,CAAY,sBAAZ,EAAoCF,CAApC;AACD;AACF,GAdD;AAeD;;AAED,SAASpB,wBAAT,CACES,QAAmC,GAAG,CAACC,CAAD,EAAIC,EAAJ,KAAW,CAAE,CADrD,EAEE;AACAtC,EAAAA,YAAY,CAAC2B,wBAAb,CAAuCuB,kBAAD,IAA6B;AACjE,QAAI;AACFd,MAAAA,QAAQ,CAACc,kBAAD,EAAqB;AAC3BT,QAAAA,WAAW,EAAGC,KAAD,IAAWR,MAAM,CAAC;AAAEQ,UAAAA,KAAF;AAASvC,UAAAA,KAAK,EAAE;AAAhB,SAAD,CADH;AAE3BwC,QAAAA,aAAa,EAAE,MAAMT,MAAM,CAAC;AAAEQ,UAAAA,KAAK,EAAE,IAAT;AAAevC,UAAAA,KAAK,EAAE;AAAtB,SAAD,CAFA;AAG3ByC,QAAAA,oBAAoB,EAAGzC,KAAD,IAAW+B,MAAM,CAAC;AAAEQ,UAAAA,KAAK,EAAE,IAAT;AAAevC,UAAAA;AAAf,SAAD,CAHZ;AAI3B;AACA0C,QAAAA,eAAe,EAAGH,KAAD,IAAWR,MAAM,CAAC;AAAEQ,UAAAA,KAAF;AAASvC,UAAAA,KAAK,EAAE;AAAhB,SAAD,CALP;AAM3B2C,QAAAA,iBAAiB,EAAG3C,KAAD,IAAW+B,MAAM,CAAC;AAAEQ,UAAAA,KAAK,EAAE,IAAT;AAAevC,UAAAA;AAAf,SAAD;AANT,OAArB,CAAR;AAQD,KATD,CASE,OAAO4C,CAAP,EAAU;AACVC,MAAAA,OAAO,CAACC,GAAR,CAAY,sBAAZ,EAAoCF,CAApC;AACD;AACF,GAbD;AAcD;;AAED,SAAS5B,uBAAT,CACEiB,QAAqC,GAAIC,CAAD,IAAO,CAAE,CADnD,EAEE;AACArC,EAAAA,YAAY,CAACmB,uBAAb,CAAsCY,IAAD,IAAe;AAClDjC,IAAAA,aAAa,CAAyBiC,IAAzB,EAA+BK,QAA/B,CAAb;AACD,GAFD;AAGD;;AAED,SAASf,kBAAT,CAA4Be,QAA2B,GAAG,MAAM,CAAE,CAAlE,EAAoE;AAClEpC,EAAAA,YAAY,CAACqB,kBAAb,CAAiCgB,CAAD,IAAYD,QAAQ,EAApD;AACD;;AAED,SAASb,gBAAT,CAA0Ba,QAA+B,GAAIC,CAAD,IAAO,CAAE,CAArE,EAAuE;AACrErC,EAAAA,YAAY,CAACmD,sBAAb,CAAqCpB,IAAD,IAAe;AACjDjC,IAAAA,aAAa,CAAciC,IAAd,EAAoBK,QAApB,CAAb;AACD,GAFD;AAGD;;AAED,SAASP,yCAAT,CACEO,QAAkD,GAAIC,CAAD,IAAO,CAAE,CADhE,EAEE;AACArC,EAAAA,YAAY,CAAC6B,yCAAb,CAAwDE,IAAD,IAAe;AACpEjC,IAAAA,aAAa,CAA2BiC,IAA3B,EAAiCK,QAAjC,CAAb;AACD,GAFD;AAGD","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnDismissCallback,\n OnPrimerErrorCallback,\n OnSavedPaymentInstrumentsFetchedCallback,\n OnTokenAddedToVaultCallback,\n OnTokenizeSuccessCallback,\n} from './models/primer-callbacks';\nimport type { PrimerConfig } from './models/primer-config';\nimport type { PrimerError } from './models/primer-error';\nimport type {\n PrimerIntent,\n PrimerPaymentMethodIntent,\n} from './models/primer-intent';\nimport type { PrimerSettings } from './models/primer-settings';\nimport type { PrimerTheme } from './models/primer-theme';\nimport { parseCallback } from './utils';\n\nconst { PrimerRN: NativeModule } = NativeModules;\n\nexport const PrimerNativeMapping: IPrimer = {\n showUniversalCheckout(token: String, config: PrimerConfig): void {\n configureIntent({ vault: false, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showVaultManager(token: String, config: PrimerConfig): void {\n configureIntent({ vault: true, paymentMethod: 'Any' });\n configure(config);\n NativeModule.initialize(token);\n },\n\n showPaymentMethod(\n token: String,\n intent: PrimerPaymentMethodIntent,\n config: PrimerConfig\n ): void {\n configureIntent(intent);\n configure(config);\n NativeModule.initialize(token);\n },\n\n fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {\n configure(config);\n NativeModule.fetchSavedPaymentInstruments(token);\n },\n\n dispose(): void {\n NativeModule.dispose();\n },\n};\n\nfunction configure(config: PrimerConfig): void {\n configureTheme(config.theme);\n configureSettings(config.settings);\n configureOnVaultSuccess(config.onTokenAddedToVault);\n configureOnDismiss(config.onDismiss);\n configureOnError(config.onError);\n configureOnTokenizeSuccess(config.onTokenizeSuccess);\n configureOnResumeSuccess(config.onResumeSuccess);\n configureOnSavedPaymentInstrumentsFetched(\n config.onSavedPaymentInstrumentsFetched\n );\n}\n\nfunction configureSettings(settings: PrimerSettings = {}): void {\n const data = JSON.stringify(settings);\n NativeModule.configureSettings(data);\n}\n\nfunction configureTheme(theme: PrimerTheme = {}): void {\n const data = JSON.stringify(theme);\n NativeModule.configureTheme(data);\n}\n\nfunction configureIntent(\n intent: PrimerIntent = { vault: false, paymentMethod: 'Any' }\n): void {\n const data = JSON.stringify(intent);\n NativeModule.configureIntent(data);\n}\n\nfunction resume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.resume(data);\n}\n\nfunction configureOnTokenizeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnTokenizeSuccess((data: any) => {\n try {\n const parsedData = JSON.parse(data) as PaymentInstrumentToken;\n callback(parsedData, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnResumeSuccess(\n callback: OnTokenizeSuccessCallback = (_, __) => {}\n) {\n NativeModule.configureOnResumeSuccess((paymentMethodToken: any) => {\n try {\n callback(paymentMethodToken, {\n handleError: (error) => resume({ error, token: null }),\n handleSuccess: () => resume({ error: null, token: null }),\n handleNewClientToken: (token) => resume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => resume({ error, token: null }),\n resumeWithSuccess: (token) => resume({ error: null, token }),\n });\n } catch (e) {\n console.log('failed to parse json', e);\n }\n });\n}\n\nfunction configureOnVaultSuccess(\n callback: OnTokenAddedToVaultCallback = (_) => {}\n) {\n NativeModule.configureOnVaultSuccess((data: any) => {\n parseCallback<PaymentInstrumentToken>(data, callback);\n });\n}\n\nfunction configureOnDismiss(callback: OnDismissCallback = () => {}) {\n NativeModule.configureOnDismiss((_: any) => callback());\n}\n\nfunction configureOnError(callback: OnPrimerErrorCallback = (_) => {}) {\n NativeModule.configureOnPrimerError((data: any) => {\n parseCallback<PrimerError>(data, callback);\n });\n}\n\nfunction configureOnSavedPaymentInstrumentsFetched(\n callback: OnSavedPaymentInstrumentsFetchedCallback = (_) => {}\n) {\n NativeModule.configureOnSavedPaymentInstrumentsFetched((data: any) => {\n parseCallback<PaymentInstrumentToken[]>(data, callback);\n });\n}\n\ninterface ResumeRequest {\n error: string | null;\n token: string | null;\n}\n"]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=action-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -0,0 +1,10 @@
1
+ export declare type ActionRequest = IActionRequest;
2
+ interface IActionRequest {
3
+ actions: Action[];
4
+ }
5
+ declare type Action = IAction;
6
+ interface IAction {
7
+ type: string;
8
+ metadata: any;
9
+ }
10
+ export {};
@@ -1,7 +1,9 @@
1
+ import type { ActionRequest } from './action-request';
1
2
  import type { PaymentInstrumentToken } from './payment-instrument-token';
2
3
  import type { PrimerError } from './primer-error';
3
4
  import type { PrimerResumeHandler } from './primer-request';
4
5
  export declare type OnTokenizeSuccessCallback = (req: PaymentInstrumentToken, completion: PrimerResumeHandler) => void;
6
+ export declare type OnDataChangeCallback = (req: ActionRequest, completion: PrimerResumeHandler) => void;
5
7
  export declare type OnTokenAddedToVaultCallback = (data: PaymentInstrumentToken) => void;
6
8
  export declare type OnDismissCallback = () => void;
7
9
  export declare type OnPrimerErrorCallback = (data: PrimerError) => void;
@@ -15,6 +15,7 @@ interface IPrimerConfig {
15
15
  * Use this callback to grab a Primer payment instrument token and complete a payment.
16
16
  */
17
17
  onTokenizeSuccess?: OnTokenizeSuccessCallback;
18
+ onResumeSuccess?: OnTokenizeSuccessCallback;
18
19
  /**
19
20
  * Use this callback to perform some action when a payment instrument was saved to Primer.
20
21
  */
@@ -1,6 +1,17 @@
1
1
  export declare type PrimerResumeHandler = IPrimerResumeHandler;
2
2
  interface IPrimerResumeHandler {
3
- resumeWithError: () => void;
4
- resumeWithSuccess: () => void;
3
+ handleError: (error: string) => void;
4
+ handleSuccess: () => void;
5
+ handleNewClientToken: (token: string) => void;
6
+ /**
7
+ * @deprecated This method should not be used
8
+ * Please use handleError instead.
9
+ */
10
+ resumeWithError: (error: string | null) => void;
11
+ /**
12
+ * @deprecated This method should not be used.
13
+ * Please use handleSuccess or handleNewClientToken instead.
14
+ */
15
+ resumeWithSuccess: (clientToken: string | null) => void;
5
16
  }
6
17
  export {};
@@ -8,6 +8,7 @@ interface IPrimerSettings {
8
8
  options?: IOptions;
9
9
  }
10
10
  interface IOrder {
11
+ id?: string;
11
12
  amount?: number;
12
13
  currency?: CurrencyCode;
13
14
  countryCode?: CountryCode;
@@ -21,11 +22,11 @@ interface IOrderItem {
21
22
  isPending?: boolean;
22
23
  }
23
24
  interface IBusiness {
24
- name: string;
25
+ name?: string;
25
26
  registrationNumber?: string;
26
27
  email?: string;
27
28
  phone?: string;
28
- address: IAddress;
29
+ address?: IAddress;
29
30
  }
30
31
  interface ICustomer {
31
32
  id?: string;
@@ -39,9 +40,10 @@ interface IOptions {
39
40
  isResultScreenEnabled?: boolean;
40
41
  isLoadingScreenEnabled?: boolean;
41
42
  isFullScreenEnabled?: boolean;
43
+ isThreeDsEnabled?: boolean;
42
44
  locale?: string;
43
45
  ios?: IIosOptions;
44
- androids?: IAndroidOptions;
46
+ android?: IAndroidOptions;
45
47
  }
46
48
  interface IIosOptions {
47
49
  urlScheme?: string;
@@ -52,11 +54,11 @@ interface IAndroidOptions {
52
54
  redirectScheme?: string;
53
55
  }
54
56
  interface IAddress {
55
- line1: String;
57
+ line1?: String;
56
58
  line2?: String;
57
59
  postalCode?: String;
58
60
  state?: String;
59
- city: String;
60
- country: CountryCode;
61
+ city?: String;
62
+ country?: CountryCode;
61
63
  }
62
64
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/react-native",
3
- "version": "0.6.4",
3
+ "version": "0.6.8",
4
4
  "description": "Primer SDK for RN",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -18,5 +18,5 @@ Pod::Spec.new do |s|
18
18
 
19
19
 
20
20
  s.dependency "React-Core"
21
- s.dependency "PrimerSDK", "1.10.0"
21
+ s.dependency "PrimerSDK", "1.18.0"
22
22
  end
package/src/Primer.ts CHANGED
@@ -60,6 +60,7 @@ function configure(config: PrimerConfig): void {
60
60
  configureOnDismiss(config.onDismiss);
61
61
  configureOnError(config.onError);
62
62
  configureOnTokenizeSuccess(config.onTokenizeSuccess);
63
+ configureOnResumeSuccess(config.onResumeSuccess);
63
64
  configureOnSavedPaymentInstrumentsFetched(
64
65
  config.onSavedPaymentInstrumentsFetched
65
66
  );
@@ -82,7 +83,7 @@ function configureIntent(
82
83
  NativeModule.configureIntent(data);
83
84
  }
84
85
 
85
- function resume(request: any) {
86
+ function resume(request: ResumeRequest) {
86
87
  const data = JSON.stringify(request);
87
88
  NativeModule.resume(data);
88
89
  }
@@ -94,8 +95,31 @@ function configureOnTokenizeSuccess(
94
95
  try {
95
96
  const parsedData = JSON.parse(data) as PaymentInstrumentToken;
96
97
  callback(parsedData, {
97
- resumeWithError: () => resume({ error: true }),
98
- resumeWithSuccess: () => resume({ error: false }),
98
+ handleError: (error) => resume({ error, token: null }),
99
+ handleSuccess: () => resume({ error: null, token: null }),
100
+ handleNewClientToken: (token) => resume({ error: null, token }),
101
+ // deprecated
102
+ resumeWithError: (error) => resume({ error, token: null }),
103
+ resumeWithSuccess: (token) => resume({ error: null, token }),
104
+ });
105
+ } catch (e) {
106
+ console.log('failed to parse json', e);
107
+ }
108
+ });
109
+ }
110
+
111
+ function configureOnResumeSuccess(
112
+ callback: OnTokenizeSuccessCallback = (_, __) => {}
113
+ ) {
114
+ NativeModule.configureOnResumeSuccess((paymentMethodToken: any) => {
115
+ try {
116
+ callback(paymentMethodToken, {
117
+ handleError: (error) => resume({ error, token: null }),
118
+ handleSuccess: () => resume({ error: null, token: null }),
119
+ handleNewClientToken: (token) => resume({ error: null, token }),
120
+ // deprecated
121
+ resumeWithError: (error) => resume({ error, token: null }),
122
+ resumeWithSuccess: (token) => resume({ error: null, token }),
99
123
  });
100
124
  } catch (e) {
101
125
  console.log('failed to parse json', e);
@@ -128,3 +152,8 @@ function configureOnSavedPaymentInstrumentsFetched(
128
152
  parseCallback<PaymentInstrumentToken[]>(data, callback);
129
153
  });
130
154
  }
155
+
156
+ interface ResumeRequest {
157
+ error: string | null;
158
+ token: string | null;
159
+ }
@@ -0,0 +1,12 @@
1
+ export type ActionRequest = IActionRequest;
2
+
3
+ interface IActionRequest {
4
+ actions: Action[];
5
+ }
6
+
7
+ type Action = IAction;
8
+
9
+ interface IAction {
10
+ type: string;
11
+ metadata: any;
12
+ }
@@ -1,3 +1,4 @@
1
+ import type { ActionRequest } from './action-request';
1
2
  import type { PaymentInstrumentToken } from './payment-instrument-token';
2
3
  import type { PrimerError } from './primer-error';
3
4
  import type { PrimerResumeHandler } from './primer-request';
@@ -7,6 +8,11 @@ export type OnTokenizeSuccessCallback = (
7
8
  completion: PrimerResumeHandler
8
9
  ) => void;
9
10
 
11
+ export type OnDataChangeCallback = (
12
+ req: ActionRequest,
13
+ completion: PrimerResumeHandler
14
+ ) => void;
15
+
10
16
  export type OnTokenAddedToVaultCallback = (
11
17
  data: PaymentInstrumentToken
12
18
  ) => void;
@@ -22,6 +22,9 @@ interface IPrimerConfig {
22
22
  * Use this callback to grab a Primer payment instrument token and complete a payment.
23
23
  */
24
24
  onTokenizeSuccess?: OnTokenizeSuccessCallback;
25
+
26
+ onResumeSuccess?: OnTokenizeSuccessCallback;
27
+
25
28
  /**
26
29
  * Use this callback to perform some action when a payment instrument was saved to Primer.
27
30
  */
@@ -1,5 +1,21 @@
1
1
  export type PrimerResumeHandler = IPrimerResumeHandler;
2
+
2
3
  interface IPrimerResumeHandler {
3
- resumeWithError: () => void;
4
- resumeWithSuccess: () => void;
4
+ handleError: (error: string) => void;
5
+
6
+ handleSuccess: () => void;
7
+
8
+ handleNewClientToken: (token: string) => void;
9
+
10
+ /**
11
+ * @deprecated This method should not be used
12
+ * Please use handleError instead.
13
+ */
14
+ resumeWithError: (error: string | null) => void;
15
+
16
+ /**
17
+ * @deprecated This method should not be used.
18
+ * Please use handleSuccess or handleNewClientToken instead.
19
+ */
20
+ resumeWithSuccess: (clientToken: string | null) => void;
5
21
  }
@@ -10,6 +10,7 @@ interface IPrimerSettings {
10
10
  }
11
11
 
12
12
  interface IOrder {
13
+ id?: string;
13
14
  amount?: number;
14
15
  currency?: CurrencyCode;
15
16
  countryCode?: CountryCode;
@@ -25,11 +26,11 @@ interface IOrderItem {
25
26
  }
26
27
 
27
28
  interface IBusiness {
28
- name: string;
29
+ name?: string;
29
30
  registrationNumber?: string;
30
31
  email?: string;
31
32
  phone?: string;
32
- address: IAddress;
33
+ address?: IAddress;
33
34
  }
34
35
 
35
36
  interface ICustomer {
@@ -45,9 +46,10 @@ interface IOptions {
45
46
  isResultScreenEnabled?: boolean;
46
47
  isLoadingScreenEnabled?: boolean;
47
48
  isFullScreenEnabled?: boolean;
49
+ isThreeDsEnabled?: boolean;
48
50
  locale?: string;
49
51
  ios?: IIosOptions;
50
- androids?: IAndroidOptions;
52
+ android?: IAndroidOptions;
51
53
  }
52
54
 
53
55
  interface IIosOptions {
@@ -60,10 +62,10 @@ interface IAndroidOptions {
60
62
  }
61
63
 
62
64
  interface IAddress {
63
- line1: String;
65
+ line1?: String;
64
66
  line2?: String;
65
67
  postalCode?: String;
66
68
  state?: String;
67
- city: String;
68
- country: CountryCode;
69
+ city?: String;
70
+ country?: CountryCode;
69
71
  }