@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.
- package/README.md +4 -6
- package/android/.gradle/7.0.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.0.2/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.0.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.0.2/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.0.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.0.2/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +34 -61
- package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +21 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerRequestRN.kt +2 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +85 -12
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerThemeRN.kt +6 -14
- package/ios/DataModels/PrimerErrorRN.swift +4 -0
- package/ios/DataModels/PrimerRequestRN.swift +2 -1
- package/ios/DataModels/PrimerSettingsRN.swift +33 -5
- package/ios/PrimerRN+PrimerDelegate.swift +27 -2
- package/ios/PrimerRN.swift +11 -5
- package/ios/ReactNative.m +2 -0
- package/ios/ReactNative.xcodeproj/project.pbxproj +0 -44
- package/lib/commonjs/Primer.js +52 -4
- package/lib/commonjs/Primer.js.map +1 -1
- package/lib/commonjs/models/action-request.js +2 -0
- package/lib/commonjs/models/action-request.js.map +1 -0
- package/lib/module/Primer.js +52 -4
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/models/action-request.js +2 -0
- package/lib/module/models/action-request.js.map +1 -0
- package/lib/typescript/models/action-request.d.ts +10 -0
- package/lib/typescript/models/primer-callbacks.d.ts +2 -0
- package/lib/typescript/models/primer-config.d.ts +1 -0
- package/lib/typescript/models/primer-request.d.ts +13 -2
- package/lib/typescript/models/primer-settings.d.ts +8 -6
- package/package.json +1 -1
- package/primer-io-react-native.podspec +1 -1
- package/src/Primer.ts +32 -3
- package/src/models/action-request.ts +12 -0
- package/src/models/primer-callbacks.ts +6 -0
- package/src/models/primer-config.ts +3 -0
- package/src/models/primer-request.ts +18 -2
- package/src/models/primer-settings.ts +8 -6
- 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)",
|
package/lib/commonjs/Primer.js
CHANGED
|
@@ -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
|
-
|
|
91
|
-
error
|
|
91
|
+
handleError: error => resume({
|
|
92
|
+
error,
|
|
93
|
+
token: null
|
|
92
94
|
}),
|
|
93
|
-
|
|
94
|
-
error:
|
|
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 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
package/lib/module/Primer.js
CHANGED
|
@@ -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
|
-
|
|
81
|
-
error
|
|
81
|
+
handleError: error => resume({
|
|
82
|
+
error,
|
|
83
|
+
token: null
|
|
82
84
|
}),
|
|
83
|
-
|
|
84
|
-
error:
|
|
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) {
|
package/lib/module/Primer.js.map
CHANGED
|
@@ -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":"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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 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -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
|
-
|
|
4
|
-
|
|
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
|
|
25
|
+
name?: string;
|
|
25
26
|
registrationNumber?: string;
|
|
26
27
|
email?: string;
|
|
27
28
|
phone?: string;
|
|
28
|
-
address
|
|
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
|
-
|
|
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
|
|
57
|
+
line1?: String;
|
|
56
58
|
line2?: String;
|
|
57
59
|
postalCode?: String;
|
|
58
60
|
state?: String;
|
|
59
|
-
city
|
|
60
|
-
country
|
|
61
|
+
city?: String;
|
|
62
|
+
country?: CountryCode;
|
|
61
63
|
}
|
|
62
64
|
export {};
|
package/package.json
CHANGED
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:
|
|
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
|
-
|
|
98
|
-
|
|
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
|
+
}
|
|
@@ -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
|
-
|
|
4
|
-
|
|
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
|
|
29
|
+
name?: string;
|
|
29
30
|
registrationNumber?: string;
|
|
30
31
|
email?: string;
|
|
31
32
|
phone?: string;
|
|
32
|
-
address
|
|
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
|
-
|
|
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
|
|
65
|
+
line1?: String;
|
|
64
66
|
line2?: String;
|
|
65
67
|
postalCode?: String;
|
|
66
68
|
state?: String;
|
|
67
|
-
city
|
|
68
|
-
country
|
|
69
|
+
city?: String;
|
|
70
|
+
country?: CountryCode;
|
|
69
71
|
}
|