@primer-io/react-native 0.7.0-beta → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +0 -9
  3. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +0 -5
  4. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerOnClientSessionActionsRequestRN.kt +25 -2
  5. package/ios/DataModels/PrimerErrorRN.swift +1 -0
  6. package/ios/DataModels/PrimerIntentRN.swift +3 -36
  7. package/ios/PrimerRN+PrimerDelegate.swift +21 -4
  8. package/ios/PrimerRN.swift +12 -33
  9. package/ios/ReactNative.m +0 -2
  10. package/lib/commonjs/Primer.js +5 -12
  11. package/lib/commonjs/Primer.js.map +1 -1
  12. package/lib/commonjs/models/primer-intent.js +1 -1
  13. package/lib/commonjs/models/primer-intent.js.map +1 -1
  14. package/lib/module/Primer.js +5 -12
  15. package/lib/module/Primer.js.map +1 -1
  16. package/lib/module/models/primer-intent.js +1 -1
  17. package/lib/module/models/primer-intent.js.map +1 -1
  18. package/lib/typescript/models/client-session-actions-request.d.ts +5 -1
  19. package/lib/typescript/models/primer-intent.d.ts +1 -1
  20. package/lib/typescript/models/primer.d.ts +0 -6
  21. package/package.json +1 -1
  22. package/primer-io-react-native.podspec +1 -1
  23. package/src/Primer.ts +5 -16
  24. package/src/models/client-session-actions-request.ts +9 -1
  25. package/src/models/primer-intent.ts +30 -6
  26. package/src/models/primer.ts +0 -7
  27. package/android/.gradle/7.0.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  28. package/android/.gradle/7.0.2/dependencies-accessors/gc.properties +0 -0
  29. package/android/.gradle/7.0.2/executionHistory/executionHistory.lock +0 -0
  30. package/android/.gradle/7.0.2/fileChanges/last-build.bin +0 -0
  31. package/android/.gradle/7.0.2/fileHashes/fileHashes.lock +0 -0
  32. package/android/.gradle/7.0.2/gc.properties +0 -0
  33. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  34. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  35. package/android/.gradle/checksums/checksums.lock +0 -0
  36. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  37. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  38. package/android/.gradle/vcs-1/gc.properties +0 -0
@@ -128,5 +128,5 @@ dependencies {
128
128
  api 'com.facebook.react:react-native:+'
129
129
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
130
130
  implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.2"
131
- implementation 'io.primer:android:1.5.0'
131
+ implementation 'io.primer:android:1.8.0'
132
132
  }
@@ -162,15 +162,6 @@ class PrimerRN(reactContext: ReactApplicationContext) : ReactContextBaseJavaModu
162
162
  sdkWasInitialised = true
163
163
  }
164
164
 
165
- @ReactMethod
166
- fun fetchSavedPaymentInstruments(token: String) {
167
- Log.d("PrimerRN", "fetch saved payment instruments")
168
-
169
- if (!sdkWasInitialised) startSdk(token)
170
-
171
- Primer.instance.fetchSavedPaymentInstruments(token)
172
- }
173
-
174
165
  @ReactMethod
175
166
  fun initialize(token: String) {
176
167
  try {
@@ -96,11 +96,6 @@ class PrimerRNEventListener : CheckoutEventListener {
96
96
  onResumeSuccessQueue?.addRequestAndPoll(token)
97
97
  resumeHandler = e.resumeHandler
98
98
  }
99
- is CheckoutEvent.SavedPaymentInstrumentsFetched -> {
100
- val list = e.data.map { PrimerPaymentInstrumentTokenRN.fromPaymentMethodToken(it) }
101
- val request = Json.encodeToString(list)
102
- onSavedPaymentInstrumentsFetchedQueue?.addRequestAndPoll(request)
103
- }
104
99
  is CheckoutEvent.Exit -> {
105
100
  onDismissQueue?.addRequestAndPoll("dismiss")
106
101
  onDismissQueue = null
@@ -13,6 +13,12 @@ data class PrimerOnClientSessionActionsRequestRN(
13
13
  val type: String,
14
14
  val paymentMethodType: String? = null,
15
15
  val network: String? = null,
16
+ val params: Params? = null,
17
+ )
18
+
19
+ @Serializable
20
+ data class Params(
21
+ val billingAddress: Map<String, String?>
16
22
  )
17
23
 
18
24
  companion object {
@@ -24,14 +30,31 @@ data class PrimerOnClientSessionActionsRequestRN(
24
30
  when (action) {
25
31
  is ClientSessionActionsRequest.SetPaymentMethod -> {
26
32
  Action(
27
- type = "SET_PAYMENT_METHOD",
33
+ type = "SELECT_PAYMENT_METHOD",
28
34
  paymentMethodType = action.paymentMethodType,
29
35
  network = action.network,
30
36
  )
31
37
  }
32
38
  is ClientSessionActionsRequest.UnsetPaymentMethod -> {
33
39
  Action(
34
- type = "UNSET_PAYMENT_METHOD",
40
+ type = "UNSELECT_PAYMENT_METHOD",
41
+ )
42
+ }
43
+ is ClientSessionActionsRequest.SetBillingAddress -> {
44
+ Action(
45
+ type = "SET_BILLING_ADDRESS",
46
+ params = Params(
47
+ billingAddress = mapOf(
48
+ "firstName" to action.firstName,
49
+ "lastName" to action.lastName,
50
+ "addressLine1" to action.addressLine1,
51
+ "addressLine2" to action.addressLine2,
52
+ "city" to action.city,
53
+ "postalCode" to action.postalCode,
54
+ "state" to action.state,
55
+ "countryCode" to action.countryCode
56
+ )
57
+ )
35
58
  )
36
59
  }
37
60
  }
@@ -12,6 +12,7 @@ enum ErrorTypeRN: String, Error, Encodable {
12
12
  case settingsNotConfigured
13
13
  case clientTokenNotConfigured
14
14
  case flowParsingFailed
15
+ case generic
15
16
  }
16
17
 
17
18
  struct ErrorRN: Error {
@@ -2,42 +2,9 @@ import PrimerSDK
2
2
 
3
3
  struct PrimerIntentRN: Decodable {
4
4
  let vault: Bool
5
- let paymentMethod: PrimerPaymentMethodTypeRN
5
+ let paymentMethod: String
6
6
 
7
-
8
- func toPrimerSessionFlow() -> PrimerSessionFlow? {
9
-
10
- switch (vault) {
11
- case false:
12
- switch (paymentMethod) {
13
- case .Any:
14
- return .default
15
- case .ApplePay:
16
- return .checkoutWithApplePay
17
- case .Klarna:
18
- return .checkoutWithKlarna
19
- case .Card:
20
- return .completeDirectCheckout
21
- default:
22
- return nil
23
- }
24
- case true:
25
- switch (paymentMethod) {
26
- case .Any:
27
- return .defaultWithVault
28
- case .Klarna:
29
- return .addKlarnaToVault
30
- case .PayPal:
31
- return .addPayPalToVault
32
- case .Card:
33
- return .defaultWithVault
34
- default:
35
- return nil
36
- }
37
- }
7
+ var paymentMethodConfigType: PaymentMethodConfigType {
8
+ PaymentMethodConfigType.init(rawValue: paymentMethod)
38
9
  }
39
10
  }
40
-
41
- enum PrimerPaymentMethodTypeRN: String, Decodable {
42
- case `Any`, Klarna, Card, PayPal, GooglePay, ApplePay, GoCardless
43
- }
@@ -41,12 +41,12 @@ extension PrimerRN: PrimerDelegate {
41
41
 
42
42
  func onClientSessionActions(_ actions: [ClientSession.Action], resumeHandler: ResumeHandlerProtocol?) {
43
43
  do {
44
- let actionsRN: [[String: String?]] = actions.compactMap {
44
+ let actionsRN: [[String: Any]] = actions.compactMap {
45
45
 
46
46
  if ($0.`type` == "SELECT_PAYMENT_METHOD") {
47
47
  let network = ($0.params?["binData"] as? [String: Any])?["network"] as? String
48
48
  return [
49
- "type": "SET_PAYMENT_METHOD",
49
+ "type": "SELECT_PAYMENT_METHOD",
50
50
  "paymentMethodType": $0.params?["paymentMethodType"] as? String,
51
51
  "network": network,
52
52
  ]
@@ -54,7 +54,23 @@ extension PrimerRN: PrimerDelegate {
54
54
 
55
55
  if ($0.`type` == "UNSELECT_PAYMENT_METHOD") {
56
56
  return [
57
- "type": "UNSET_PAYMENT_METHOD",
57
+ "type": "UNSELECT_PAYMENT_METHOD",
58
+ ]
59
+ }
60
+
61
+ if ($0.`type` == "SET_BILLING_ADDRESS") {
62
+
63
+ var billingAddress: [String: String] = [:]
64
+
65
+ $0.params?.forEach { entry in
66
+ if let value = entry.value as? String, !value.isEmpty {
67
+ billingAddress[entry.key] = value
68
+ }
69
+ }
70
+
71
+ return [
72
+ "type": "SET_BILLING_ADDRESS",
73
+ "params": [ "billingAddress": billingAddress ]
58
74
  ]
59
75
  }
60
76
 
@@ -68,6 +84,7 @@ extension PrimerRN: PrimerDelegate {
68
84
  let data = try JSONSerialization.data(withJSONObject: request, options: .fragmentsAllowed)
69
85
  let jsonString = String(data: data, encoding: .utf8)!
70
86
  self.onClientSessionActionsCallback?([jsonString])
87
+ self.onClientSessionActionsCallback = nil
71
88
  } catch {
72
89
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
73
90
  }
@@ -78,7 +95,7 @@ extension PrimerRN: PrimerDelegate {
78
95
  } else if let error = error {
79
96
  resumeHandler?.handle(error: error)
80
97
  } else {
81
- resumeHandler?.handle(error: PrimerError.generic)
98
+ resumeHandler?.handle(error: ErrorTypeRN.generic)
82
99
  }
83
100
  }
84
101
  }
@@ -15,7 +15,7 @@ class PrimerRN: NSObject {
15
15
  var clientToken: String?
16
16
  var settings: PrimerSettingsRN?
17
17
  var theme: PrimerThemeRN?
18
- var flow: PrimerSessionFlow?
18
+ var intent: PrimerIntentRN?
19
19
  var onTokenizeSuccessCallback: RCTResponseSenderBlock?
20
20
  var onClientSessionActionsCallback: RCTResponseSenderBlock?
21
21
  var onResumeSuccessCallback: RCTResponseSenderBlock?
@@ -24,7 +24,6 @@ class PrimerRN: NSObject {
24
24
  var onPrimerErrorCallback: RCTResponseSenderBlock?
25
25
  var onResumeFlowCallback: BasicCompletionBlock?
26
26
  var onActionResumeCallback: BasicCompletionBlock?
27
- var onSavedPaymentInstrumentsFetchedCallback: RCTResponseSenderBlock?
28
27
 
29
28
  private var sdkWasInitialised = false
30
29
  internal var haltExecution = false
@@ -53,7 +52,7 @@ class PrimerRN: NSObject {
53
52
  do {
54
53
  let json = request.data(using: .utf8)!
55
54
  let intent = try JSONDecoder().decode(PrimerIntentRN.self, from: json)
56
- self.flow = intent.toPrimerSessionFlow()
55
+ self.intent = intent
57
56
  } catch {
58
57
  checkoutFailed(with: ErrorTypeRN.ParseJsonFailed)
59
58
  }
@@ -83,33 +82,6 @@ class PrimerRN: NSObject {
83
82
  self.onPrimerErrorCallback = callback
84
83
  }
85
84
 
86
- @objc func configureOnSavedPaymentInstrumentsFetched(_ callback: @escaping RCTResponseSenderBlock) {
87
- self.onSavedPaymentInstrumentsFetchedCallback = callback
88
- }
89
-
90
- @objc func fetchSavedPaymentInstruments(_ token: String) {
91
-
92
- self.clientToken = token
93
-
94
- Primer.shared.delegate = self
95
-
96
- Primer.shared.fetchVaultedPaymentMethods { [weak self] result in
97
- switch result {
98
- case .failure(let error):
99
- self?.checkoutFailed(with: error)
100
- case .success(let tokens):
101
- do {
102
- let json = try self?.encoder.encode(tokens)
103
- let data = String(data: json!, encoding: .utf8)!
104
- self?.onSavedPaymentInstrumentsFetchedCallback?([data])
105
- self?.onSavedPaymentInstrumentsFetchedCallback = nil
106
- } catch {
107
- self?.checkoutFailed(with: error)
108
- }
109
- }
110
- }
111
- }
112
-
113
85
  @objc func initialize(_ token: String) -> Void {
114
86
  DispatchQueue.main.async { [weak self] in
115
87
  do {
@@ -117,7 +89,7 @@ class PrimerRN: NSObject {
117
89
  throw ErrorTypeRN.noIosViewController
118
90
  }
119
91
 
120
- guard let flow = self?.flow else {
92
+ guard let intent = self?.intent else {
121
93
  throw ErrorTypeRN.invalidPrimerIntent
122
94
  }
123
95
 
@@ -132,7 +104,14 @@ class PrimerRN: NSObject {
132
104
 
133
105
  Primer.shared.delegate = self
134
106
  Primer.shared.configure(settings: settings, theme: theme)
135
- Primer.shared.showCheckout(viewController, flow: flow)
107
+
108
+ DispatchQueue.main.async {
109
+ if (intent.vault) {
110
+ Primer.shared.showVaultManager(on: viewController, clientToken: token)
111
+ } else {
112
+ Primer.shared.showUniversalCheckout(on: viewController, clientToken: token)
113
+ }
114
+ }
136
115
  } catch {
137
116
  self?.checkoutFailed(with: error)
138
117
  }
@@ -171,7 +150,7 @@ class PrimerRN: NSObject {
171
150
  } else if let clientToken = request.token {
172
151
  self?.onActionResumeCallback?(nil, clientToken)
173
152
  } else {
174
- self?.onActionResumeCallback?(nil, nil)
153
+ self?.onActionResumeCallback?(nil, self?.clientToken)
175
154
  }
176
155
 
177
156
  self?.onActionResumeCallback = nil
package/ios/ReactNative.m CHANGED
@@ -23,8 +23,6 @@ RCT_EXTERN_METHOD(configureOnPrimerError: (RCTResponseSenderBlock)callback)
23
23
 
24
24
  RCT_EXTERN_METHOD(configureOnSavedPaymentInstrumentsFetched: (RCTResponseSenderBlock)callback)
25
25
 
26
- RCT_EXTERN_METHOD(fetchSavedPaymentInstruments: (NSString *)token)
27
-
28
26
  RCT_EXTERN_METHOD(initialize: (NSString *)data)
29
27
 
30
28
  RCT_EXTERN_METHOD(resume: (NSString *)data)
@@ -37,11 +37,11 @@ const PrimerNativeMapping = {
37
37
  NativeModule.initialize(token);
38
38
  },
39
39
 
40
- fetchSavedPaymentInstruments(token, config) {
41
- configure(config);
42
- NativeModule.fetchSavedPaymentInstruments(token);
43
- },
44
-
40
+ // todo: refactor
41
+ // fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {
42
+ // configure(config);
43
+ // NativeModule.fetchSavedPaymentInstruments(token);
44
+ // },
45
45
  dispose() {
46
46
  NativeModule.dispose();
47
47
  }
@@ -58,7 +58,6 @@ function configure(config) {
58
58
  configureOnTokenizeSuccess(config.onTokenizeSuccess);
59
59
  configureOnClientSessionActions(config.onClientSessionActions);
60
60
  configureOnResumeSuccess(config.onResumeSuccess);
61
- configureOnSavedPaymentInstrumentsFetched(config.onSavedPaymentInstrumentsFetched);
62
61
  }
63
62
 
64
63
  function configureSettings(settings = {}) {
@@ -211,10 +210,4 @@ function configureOnError(callback = _ => {}) {
211
210
  (0, _utils.parseCallback)(data, callback);
212
211
  });
213
212
  }
214
-
215
- function configureOnSavedPaymentInstrumentsFetched(callback = _ => {}) {
216
- NativeModule.configureOnSavedPaymentInstrumentsFetched(data => {
217
- (0, _utils.parseCallback)(data, callback);
218
- });
219
- }
220
213
  //# sourceMappingURL=Primer.js.map
@@ -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","configureOnClientSessionActions","onClientSessionActions","configureOnResumeSuccess","onResumeSuccess","configureOnSavedPaymentInstrumentsFetched","onSavedPaymentInstrumentsFetched","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","actionResume","___","paymentMethodToken","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { ClientSessionActionsRequest } from './models/client-session-actions-request';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnClientSessionActionsCallback,\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 configureOnClientSessionActions(config.onClientSessionActions);\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 actionResume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.actionResume(data);\n}\n\nfunction configureOnClientSessionActions(\n callback: OnClientSessionActionsCallback = (_, __) => {\n NativeModule.configureOnClientSessionActions((___: any) => {\n actionResume({ error: null, token: null });\n configureOnClientSessionActions(callback);\n });\n }\n) {\n NativeModule.configureOnClientSessionActions((data: any) => {\n try {\n const parsedData = JSON.parse(data) as ClientSessionActionsRequest;\n callback(parsedData, {\n handleError: (error) => actionResume({ error, token: null }),\n handleSuccess: () => actionResume({ error: null, token: null }),\n handleNewClientToken: (token) => actionResume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => actionResume({ error, token: null }),\n resumeWithSuccess: (token) => actionResume({ error: null, token }),\n });\n configureOnClientSessionActions(callback);\n } catch (e) {\n console.log('[OnClientSessionActions]', '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"]}
1
+ {"version":3,"sources":["Primer.ts"],"names":["PrimerRN","NativeModule","NativeModules","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnClientSessionActions","onClientSessionActions","configureOnResumeSuccess","onResumeSuccess","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","actionResume","___","paymentMethodToken","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { ClientSessionActionsRequest } from './models/client-session-actions-request';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnClientSessionActionsCallback,\n OnDismissCallback,\n OnPrimerErrorCallback,\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 // todo: refactor\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 configureOnClientSessionActions(config.onClientSessionActions);\n configureOnResumeSuccess(config.onResumeSuccess);\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 actionResume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.actionResume(data);\n}\n\nfunction configureOnClientSessionActions(\n callback: OnClientSessionActionsCallback = (_, __) => {\n NativeModule.configureOnClientSessionActions((___: any) => {\n actionResume({ error: null, token: null });\n configureOnClientSessionActions(callback);\n });\n }\n) {\n NativeModule.configureOnClientSessionActions((data: any) => {\n try {\n const parsedData = JSON.parse(data) as ClientSessionActionsRequest;\n callback(parsedData, {\n handleError: (error) => actionResume({ error, token: null }),\n handleSuccess: () => actionResume({ error: null, token: null }),\n handleNewClientToken: (token) => actionResume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => actionResume({ error, token: null }),\n resumeWithSuccess: (token) => actionResume({ error: null, token }),\n });\n configureOnClientSessionActions(callback);\n } catch (e) {\n console.log('[OnClientSessionActions]', '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\ninterface ResumeRequest {\n error: string | null;\n token: string | null;\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
 
3
- const paymentMethods = ['Card', 'PayPal', 'Klarna', 'ApplePay', 'GooglePay', 'GoCardless'];
3
+ const paymentMethods = ['ADYEN_ALIPAY', 'ADYEN_DOTPAY', 'ADYEN_GIROPAY', 'ADYEN_IDEAL', 'ADYEN_MOBILEPAY', 'ADYEN_SOFORT', 'ADYEN_TRUSTLY', 'ADYEN_TWINT', 'ADYEN_VIPPS', 'APAYA', 'APPLE_PAY', 'ATOME', 'BUCKAROO_BANCONTACT', 'BUCKAROO_EPS', 'BUCKAROO_GIROPAY', 'BUCKAROO_IDEAL', 'BUCKAROO_SOFORT', 'GOCARDLESS', 'GOOGLE_PAY', 'HOOLAH', 'KLARNA', 'MOLLIE_BANCONTACT', 'MOLLIE_IDEAL', 'PAY_NL_BANCONTACT', 'PAY_NL_GIROPAY', 'PAY_NL_IDEAL', 'PAY_NL_PAYCONIQ', 'PAYMENT_CARD', 'PAYPAL', 'XFERS_PAYNOW'];
4
4
  //# sourceMappingURL=primer-intent.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["primer-intent.ts"],"names":["paymentMethods"],"mappings":";;AAAA,MAAMA,cAAc,GAAG,CACrB,MADqB,EAErB,QAFqB,EAGrB,QAHqB,EAIrB,UAJqB,EAKrB,WALqB,EAMrB,YANqB,CAAvB","sourcesContent":["const paymentMethods = [\n 'Card',\n 'PayPal',\n 'Klarna',\n 'ApplePay',\n 'GooglePay',\n 'GoCardless',\n] as const;\n\nexport type SinglePrimerPaymentMethod = typeof paymentMethods[number];\nexport interface AnyPrimerPaymentMethodIntent {\n vault: boolean;\n paymentMethod: 'Any';\n}\n\nexport type PrimerPaymentMethodIntent = ISinglePrimerPaymentMethodIntent;\n\ninterface ISinglePrimerPaymentMethodIntent {\n vault: boolean;\n paymentMethod: SinglePrimerPaymentMethod;\n}\n\nexport type PrimerIntent =\n | ISinglePrimerPaymentMethodIntent\n | AnyPrimerPaymentMethodIntent;\n"]}
1
+ {"version":3,"sources":["primer-intent.ts"],"names":["paymentMethods"],"mappings":";;AAAA,MAAMA,cAAc,GAAG,CACrB,cADqB,EAErB,cAFqB,EAGrB,eAHqB,EAIrB,aAJqB,EAKrB,iBALqB,EAMrB,cANqB,EAOrB,eAPqB,EAQrB,aARqB,EASrB,aATqB,EAUrB,OAVqB,EAWrB,WAXqB,EAYrB,OAZqB,EAarB,qBAbqB,EAcrB,cAdqB,EAerB,kBAfqB,EAgBrB,gBAhBqB,EAiBrB,iBAjBqB,EAkBrB,YAlBqB,EAmBrB,YAnBqB,EAoBrB,QApBqB,EAqBrB,QArBqB,EAsBrB,mBAtBqB,EAuBrB,cAvBqB,EAwBrB,mBAxBqB,EAyBrB,gBAzBqB,EA0BrB,cA1BqB,EA2BrB,iBA3BqB,EA4BrB,cA5BqB,EA6BrB,QA7BqB,EA8BrB,cA9BqB,CAAvB","sourcesContent":["const paymentMethods = [\n 'ADYEN_ALIPAY',\n 'ADYEN_DOTPAY',\n 'ADYEN_GIROPAY',\n 'ADYEN_IDEAL',\n 'ADYEN_MOBILEPAY',\n 'ADYEN_SOFORT',\n 'ADYEN_TRUSTLY',\n 'ADYEN_TWINT',\n 'ADYEN_VIPPS',\n 'APAYA',\n 'APPLE_PAY',\n 'ATOME',\n 'BUCKAROO_BANCONTACT',\n 'BUCKAROO_EPS',\n 'BUCKAROO_GIROPAY',\n 'BUCKAROO_IDEAL',\n 'BUCKAROO_SOFORT',\n 'GOCARDLESS',\n 'GOOGLE_PAY',\n 'HOOLAH',\n 'KLARNA',\n 'MOLLIE_BANCONTACT',\n 'MOLLIE_IDEAL',\n 'PAY_NL_BANCONTACT',\n 'PAY_NL_GIROPAY',\n 'PAY_NL_IDEAL',\n 'PAY_NL_PAYCONIQ',\n 'PAYMENT_CARD',\n 'PAYPAL',\n 'XFERS_PAYNOW',\n] as const;\n\nexport type SinglePrimerPaymentMethod = typeof paymentMethods[number];\nexport interface AnyPrimerPaymentMethodIntent {\n vault: boolean;\n paymentMethod: 'Any';\n}\n\nexport type PrimerPaymentMethodIntent = ISinglePrimerPaymentMethodIntent;\n\ninterface ISinglePrimerPaymentMethodIntent {\n vault: boolean;\n paymentMethod: SinglePrimerPaymentMethod;\n}\n\nexport type PrimerIntent =\n | ISinglePrimerPaymentMethodIntent\n | AnyPrimerPaymentMethodIntent;\n"]}
@@ -28,11 +28,11 @@ export const PrimerNativeMapping = {
28
28
  NativeModule.initialize(token);
29
29
  },
30
30
 
31
- fetchSavedPaymentInstruments(token, config) {
32
- configure(config);
33
- NativeModule.fetchSavedPaymentInstruments(token);
34
- },
35
-
31
+ // todo: refactor
32
+ // fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {
33
+ // configure(config);
34
+ // NativeModule.fetchSavedPaymentInstruments(token);
35
+ // },
36
36
  dispose() {
37
37
  NativeModule.dispose();
38
38
  }
@@ -48,7 +48,6 @@ function configure(config) {
48
48
  configureOnTokenizeSuccess(config.onTokenizeSuccess);
49
49
  configureOnClientSessionActions(config.onClientSessionActions);
50
50
  configureOnResumeSuccess(config.onResumeSuccess);
51
- configureOnSavedPaymentInstrumentsFetched(config.onSavedPaymentInstrumentsFetched);
52
51
  }
53
52
 
54
53
  function configureSettings(settings = {}) {
@@ -201,10 +200,4 @@ function configureOnError(callback = _ => {}) {
201
200
  parseCallback(data, callback);
202
201
  });
203
202
  }
204
-
205
- function configureOnSavedPaymentInstrumentsFetched(callback = _ => {}) {
206
- NativeModule.configureOnSavedPaymentInstrumentsFetched(data => {
207
- parseCallback(data, callback);
208
- });
209
- }
210
203
  //# sourceMappingURL=Primer.js.map
@@ -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","configureOnClientSessionActions","onClientSessionActions","configureOnResumeSuccess","onResumeSuccess","configureOnSavedPaymentInstrumentsFetched","onSavedPaymentInstrumentsFetched","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","actionResume","___","paymentMethodToken","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { ClientSessionActionsRequest } from './models/client-session-actions-request';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnClientSessionActionsCallback,\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 configureOnClientSessionActions(config.onClientSessionActions);\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 actionResume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.actionResume(data);\n}\n\nfunction configureOnClientSessionActions(\n callback: OnClientSessionActionsCallback = (_, __) => {\n NativeModule.configureOnClientSessionActions((___: any) => {\n actionResume({ error: null, token: null });\n configureOnClientSessionActions(callback);\n });\n }\n) {\n NativeModule.configureOnClientSessionActions((data: any) => {\n try {\n const parsedData = JSON.parse(data) as ClientSessionActionsRequest;\n callback(parsedData, {\n handleError: (error) => actionResume({ error, token: null }),\n handleSuccess: () => actionResume({ error: null, token: null }),\n handleNewClientToken: (token) => actionResume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => actionResume({ error, token: null }),\n resumeWithSuccess: (token) => actionResume({ error: null, token }),\n });\n configureOnClientSessionActions(callback);\n } catch (e) {\n console.log('[OnClientSessionActions]', '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"]}
1
+ {"version":3,"sources":["Primer.ts"],"names":["NativeModules","parseCallback","PrimerRN","NativeModule","PrimerNativeMapping","showUniversalCheckout","token","config","configureIntent","vault","paymentMethod","configure","initialize","showVaultManager","showPaymentMethod","intent","dispose","configureTheme","theme","configureSettings","settings","configureOnVaultSuccess","onTokenAddedToVault","configureOnDismiss","onDismiss","configureOnError","onError","configureOnTokenizeSuccess","onTokenizeSuccess","configureOnClientSessionActions","onClientSessionActions","configureOnResumeSuccess","onResumeSuccess","data","JSON","stringify","resume","request","callback","_","__","parsedData","parse","handleError","error","handleSuccess","handleNewClientToken","resumeWithError","resumeWithSuccess","e","console","log","actionResume","___","paymentMethodToken","configureOnPrimerError"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport type { ClientSessionActionsRequest } from './models/client-session-actions-request';\nimport type { PaymentInstrumentToken } from './models/payment-instrument-token';\nimport type { IPrimer } from './models/primer';\nimport type {\n OnClientSessionActionsCallback,\n OnDismissCallback,\n OnPrimerErrorCallback,\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 // todo: refactor\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 configureOnClientSessionActions(config.onClientSessionActions);\n configureOnResumeSuccess(config.onResumeSuccess);\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 actionResume(request: ResumeRequest) {\n const data = JSON.stringify(request);\n NativeModule.actionResume(data);\n}\n\nfunction configureOnClientSessionActions(\n callback: OnClientSessionActionsCallback = (_, __) => {\n NativeModule.configureOnClientSessionActions((___: any) => {\n actionResume({ error: null, token: null });\n configureOnClientSessionActions(callback);\n });\n }\n) {\n NativeModule.configureOnClientSessionActions((data: any) => {\n try {\n const parsedData = JSON.parse(data) as ClientSessionActionsRequest;\n callback(parsedData, {\n handleError: (error) => actionResume({ error, token: null }),\n handleSuccess: () => actionResume({ error: null, token: null }),\n handleNewClientToken: (token) => actionResume({ error: null, token }),\n // deprecated\n resumeWithError: (error) => actionResume({ error, token: null }),\n resumeWithSuccess: (token) => actionResume({ error: null, token }),\n });\n configureOnClientSessionActions(callback);\n } catch (e) {\n console.log('[OnClientSessionActions]', '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\ninterface ResumeRequest {\n error: string | null;\n token: string | null;\n}\n"]}
@@ -1,2 +1,2 @@
1
- const paymentMethods = ['Card', 'PayPal', 'Klarna', 'ApplePay', 'GooglePay', 'GoCardless'];
1
+ const paymentMethods = ['ADYEN_ALIPAY', 'ADYEN_DOTPAY', 'ADYEN_GIROPAY', 'ADYEN_IDEAL', 'ADYEN_MOBILEPAY', 'ADYEN_SOFORT', 'ADYEN_TRUSTLY', 'ADYEN_TWINT', 'ADYEN_VIPPS', 'APAYA', 'APPLE_PAY', 'ATOME', 'BUCKAROO_BANCONTACT', 'BUCKAROO_EPS', 'BUCKAROO_GIROPAY', 'BUCKAROO_IDEAL', 'BUCKAROO_SOFORT', 'GOCARDLESS', 'GOOGLE_PAY', 'HOOLAH', 'KLARNA', 'MOLLIE_BANCONTACT', 'MOLLIE_IDEAL', 'PAY_NL_BANCONTACT', 'PAY_NL_GIROPAY', 'PAY_NL_IDEAL', 'PAY_NL_PAYCONIQ', 'PAYMENT_CARD', 'PAYPAL', 'XFERS_PAYNOW'];
2
2
  //# sourceMappingURL=primer-intent.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["primer-intent.ts"],"names":["paymentMethods"],"mappings":"AAAA,MAAMA,cAAc,GAAG,CACrB,MADqB,EAErB,QAFqB,EAGrB,QAHqB,EAIrB,UAJqB,EAKrB,WALqB,EAMrB,YANqB,CAAvB","sourcesContent":["const paymentMethods = [\n 'Card',\n 'PayPal',\n 'Klarna',\n 'ApplePay',\n 'GooglePay',\n 'GoCardless',\n] as const;\n\nexport type SinglePrimerPaymentMethod = typeof paymentMethods[number];\nexport interface AnyPrimerPaymentMethodIntent {\n vault: boolean;\n paymentMethod: 'Any';\n}\n\nexport type PrimerPaymentMethodIntent = ISinglePrimerPaymentMethodIntent;\n\ninterface ISinglePrimerPaymentMethodIntent {\n vault: boolean;\n paymentMethod: SinglePrimerPaymentMethod;\n}\n\nexport type PrimerIntent =\n | ISinglePrimerPaymentMethodIntent\n | AnyPrimerPaymentMethodIntent;\n"]}
1
+ {"version":3,"sources":["primer-intent.ts"],"names":["paymentMethods"],"mappings":"AAAA,MAAMA,cAAc,GAAG,CACrB,cADqB,EAErB,cAFqB,EAGrB,eAHqB,EAIrB,aAJqB,EAKrB,iBALqB,EAMrB,cANqB,EAOrB,eAPqB,EAQrB,aARqB,EASrB,aATqB,EAUrB,OAVqB,EAWrB,WAXqB,EAYrB,OAZqB,EAarB,qBAbqB,EAcrB,cAdqB,EAerB,kBAfqB,EAgBrB,gBAhBqB,EAiBrB,iBAjBqB,EAkBrB,YAlBqB,EAmBrB,YAnBqB,EAoBrB,QApBqB,EAqBrB,QArBqB,EAsBrB,mBAtBqB,EAuBrB,cAvBqB,EAwBrB,mBAxBqB,EAyBrB,gBAzBqB,EA0BrB,cA1BqB,EA2BrB,iBA3BqB,EA4BrB,cA5BqB,EA6BrB,QA7BqB,EA8BrB,cA9BqB,CAAvB","sourcesContent":["const paymentMethods = [\n 'ADYEN_ALIPAY',\n 'ADYEN_DOTPAY',\n 'ADYEN_GIROPAY',\n 'ADYEN_IDEAL',\n 'ADYEN_MOBILEPAY',\n 'ADYEN_SOFORT',\n 'ADYEN_TRUSTLY',\n 'ADYEN_TWINT',\n 'ADYEN_VIPPS',\n 'APAYA',\n 'APPLE_PAY',\n 'ATOME',\n 'BUCKAROO_BANCONTACT',\n 'BUCKAROO_EPS',\n 'BUCKAROO_GIROPAY',\n 'BUCKAROO_IDEAL',\n 'BUCKAROO_SOFORT',\n 'GOCARDLESS',\n 'GOOGLE_PAY',\n 'HOOLAH',\n 'KLARNA',\n 'MOLLIE_BANCONTACT',\n 'MOLLIE_IDEAL',\n 'PAY_NL_BANCONTACT',\n 'PAY_NL_GIROPAY',\n 'PAY_NL_IDEAL',\n 'PAY_NL_PAYCONIQ',\n 'PAYMENT_CARD',\n 'PAYPAL',\n 'XFERS_PAYNOW',\n] as const;\n\nexport type SinglePrimerPaymentMethod = typeof paymentMethods[number];\nexport interface AnyPrimerPaymentMethodIntent {\n vault: boolean;\n paymentMethod: 'Any';\n}\n\nexport type PrimerPaymentMethodIntent = ISinglePrimerPaymentMethodIntent;\n\ninterface ISinglePrimerPaymentMethodIntent {\n vault: boolean;\n paymentMethod: SinglePrimerPaymentMethod;\n}\n\nexport type PrimerIntent =\n | ISinglePrimerPaymentMethodIntent\n | AnyPrimerPaymentMethodIntent;\n"]}
@@ -4,8 +4,12 @@ interface IClientSessionActionsRequest {
4
4
  }
5
5
  declare type ClientSessionAction = IClientSessionAction;
6
6
  interface IClientSessionAction {
7
- type: 'SET_PAYMENT_METHOD' | 'UNSET_PAYMENT_METHOD';
7
+ type: 'SELECT_PAYMENT_METHOD' | 'UNSELECT_PAYMENT_METHOD' | 'SET_BILLING_ADDRESS';
8
8
  paymentMethodType?: string;
9
9
  network?: string;
10
+ params?: IActionParams;
11
+ }
12
+ interface IActionParams {
13
+ billingAddress: Record<string, string | null>;
10
14
  }
11
15
  export {};
@@ -1,4 +1,4 @@
1
- declare const paymentMethods: readonly ["Card", "PayPal", "Klarna", "ApplePay", "GooglePay", "GoCardless"];
1
+ declare const paymentMethods: readonly ["ADYEN_ALIPAY", "ADYEN_DOTPAY", "ADYEN_GIROPAY", "ADYEN_IDEAL", "ADYEN_MOBILEPAY", "ADYEN_SOFORT", "ADYEN_TRUSTLY", "ADYEN_TWINT", "ADYEN_VIPPS", "APAYA", "APPLE_PAY", "ATOME", "BUCKAROO_BANCONTACT", "BUCKAROO_EPS", "BUCKAROO_GIROPAY", "BUCKAROO_IDEAL", "BUCKAROO_SOFORT", "GOCARDLESS", "GOOGLE_PAY", "HOOLAH", "KLARNA", "MOLLIE_BANCONTACT", "MOLLIE_IDEAL", "PAY_NL_BANCONTACT", "PAY_NL_GIROPAY", "PAY_NL_IDEAL", "PAY_NL_PAYCONIQ", "PAYMENT_CARD", "PAYPAL", "XFERS_PAYNOW"];
2
2
  export declare type SinglePrimerPaymentMethod = typeof paymentMethods[number];
3
3
  export interface AnyPrimerPaymentMethodIntent {
4
4
  vault: boolean;
@@ -26,12 +26,6 @@ export interface IPrimer {
26
26
  * @param config Configuration for the SDK.
27
27
  */
28
28
  showPaymentMethod(token: String, intent: PrimerPaymentMethodIntent, config: PrimerConfig): void;
29
- /**
30
- * Prompt the SDK to fetch saved payment instruments from Primer's vault.
31
- * Use the onSavedPaymentInstrumentsFetched callback in {@link PrimerConfig}
32
- * to handle returned saved payment instruments.
33
- */
34
- fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void;
35
29
  /**
36
30
  * remove all listeners & callbacks.
37
31
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/react-native",
3
- "version": "0.7.0-beta",
3
+ "version": "0.9.0",
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.19.0-beta.3"
21
+ s.dependency "PrimerSDK", "1.24.0"
22
22
  end
package/src/Primer.ts CHANGED
@@ -6,7 +6,6 @@ import type {
6
6
  OnClientSessionActionsCallback,
7
7
  OnDismissCallback,
8
8
  OnPrimerErrorCallback,
9
- OnSavedPaymentInstrumentsFetchedCallback,
10
9
  OnTokenAddedToVaultCallback,
11
10
  OnTokenizeSuccessCallback,
12
11
  } from './models/primer-callbacks';
@@ -45,10 +44,11 @@ export const PrimerNativeMapping: IPrimer = {
45
44
  NativeModule.initialize(token);
46
45
  },
47
46
 
48
- fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {
49
- configure(config);
50
- NativeModule.fetchSavedPaymentInstruments(token);
51
- },
47
+ // todo: refactor
48
+ // fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void {
49
+ // configure(config);
50
+ // NativeModule.fetchSavedPaymentInstruments(token);
51
+ // },
52
52
 
53
53
  dispose(): void {
54
54
  NativeModule.dispose();
@@ -64,9 +64,6 @@ function configure(config: PrimerConfig): void {
64
64
  configureOnTokenizeSuccess(config.onTokenizeSuccess);
65
65
  configureOnClientSessionActions(config.onClientSessionActions);
66
66
  configureOnResumeSuccess(config.onResumeSuccess);
67
- configureOnSavedPaymentInstrumentsFetched(
68
- config.onSavedPaymentInstrumentsFetched
69
- );
70
67
  }
71
68
 
72
69
  function configureSettings(settings: PrimerSettings = {}): void {
@@ -179,14 +176,6 @@ function configureOnError(callback: OnPrimerErrorCallback = (_) => {}) {
179
176
  });
180
177
  }
181
178
 
182
- function configureOnSavedPaymentInstrumentsFetched(
183
- callback: OnSavedPaymentInstrumentsFetchedCallback = (_) => {}
184
- ) {
185
- NativeModule.configureOnSavedPaymentInstrumentsFetched((data: any) => {
186
- parseCallback<PaymentInstrumentToken[]>(data, callback);
187
- });
188
- }
189
-
190
179
  interface ResumeRequest {
191
180
  error: string | null;
192
181
  token: string | null;
@@ -7,7 +7,15 @@ interface IClientSessionActionsRequest {
7
7
  type ClientSessionAction = IClientSessionAction;
8
8
 
9
9
  interface IClientSessionAction {
10
- type: 'SET_PAYMENT_METHOD' | 'UNSET_PAYMENT_METHOD';
10
+ type:
11
+ | 'SELECT_PAYMENT_METHOD'
12
+ | 'UNSELECT_PAYMENT_METHOD'
13
+ | 'SET_BILLING_ADDRESS';
11
14
  paymentMethodType?: string;
12
15
  network?: string;
16
+ params?: IActionParams;
17
+ }
18
+
19
+ interface IActionParams {
20
+ billingAddress: Record<string, string | null>;
13
21
  }
@@ -1,10 +1,34 @@
1
1
  const paymentMethods = [
2
- 'Card',
3
- 'PayPal',
4
- 'Klarna',
5
- 'ApplePay',
6
- 'GooglePay',
7
- 'GoCardless',
2
+ 'ADYEN_ALIPAY',
3
+ 'ADYEN_DOTPAY',
4
+ 'ADYEN_GIROPAY',
5
+ 'ADYEN_IDEAL',
6
+ 'ADYEN_MOBILEPAY',
7
+ 'ADYEN_SOFORT',
8
+ 'ADYEN_TRUSTLY',
9
+ 'ADYEN_TWINT',
10
+ 'ADYEN_VIPPS',
11
+ 'APAYA',
12
+ 'APPLE_PAY',
13
+ 'ATOME',
14
+ 'BUCKAROO_BANCONTACT',
15
+ 'BUCKAROO_EPS',
16
+ 'BUCKAROO_GIROPAY',
17
+ 'BUCKAROO_IDEAL',
18
+ 'BUCKAROO_SOFORT',
19
+ 'GOCARDLESS',
20
+ 'GOOGLE_PAY',
21
+ 'HOOLAH',
22
+ 'KLARNA',
23
+ 'MOLLIE_BANCONTACT',
24
+ 'MOLLIE_IDEAL',
25
+ 'PAY_NL_BANCONTACT',
26
+ 'PAY_NL_GIROPAY',
27
+ 'PAY_NL_IDEAL',
28
+ 'PAY_NL_PAYCONIQ',
29
+ 'PAYMENT_CARD',
30
+ 'PAYPAL',
31
+ 'XFERS_PAYNOW',
8
32
  ] as const;
9
33
 
10
34
  export type SinglePrimerPaymentMethod = typeof paymentMethods[number];
@@ -34,13 +34,6 @@ export interface IPrimer {
34
34
  config: PrimerConfig
35
35
  ): void;
36
36
 
37
- /**
38
- * Prompt the SDK to fetch saved payment instruments from Primer's vault.
39
- * Use the onSavedPaymentInstrumentsFetched callback in {@link PrimerConfig}
40
- * to handle returned saved payment instruments.
41
- */
42
- fetchSavedPaymentInstruments(token: String, config: PrimerConfig): void;
43
-
44
37
  /**
45
38
  * remove all listeners & callbacks.
46
39
  */
File without changes
@@ -1,2 +0,0 @@
1
- #Tue Nov 30 22:24:16 GMT 2021
2
- gradle.version=7.0.2
File without changes