@primer-io/react-native 2.8.1 → 2.10.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 (39) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +23 -2
  3. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +23 -2
  4. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +9 -0
  5. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEvents.kt +1 -0
  6. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +4 -1
  7. package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +2 -1
  8. package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +2 -0
  9. package/ios/DataModels/ImplementedRNCallbacks.swift +3 -0
  10. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +23 -1
  11. package/ios/RNTPrimer.swift +3 -0
  12. package/lib/commonjs/Primer.js +14 -3
  13. package/lib/commonjs/Primer.js.map +1 -1
  14. package/lib/commonjs/RNPrimer.js +1 -1
  15. package/lib/commonjs/RNPrimer.js.map +1 -1
  16. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +17 -6
  17. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  18. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  19. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  20. package/lib/module/Primer.js +14 -3
  21. package/lib/module/Primer.js.map +1 -1
  22. package/lib/module/RNPrimer.js +1 -1
  23. package/lib/module/RNPrimer.js.map +1 -1
  24. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +17 -6
  25. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  26. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  27. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  28. package/lib/typescript/src/RNPrimer.d.ts +1 -1
  29. package/lib/typescript/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +1 -1
  30. package/lib/typescript/src/models/PrimerCheckoutAdditionalInfo.d.ts +9 -0
  31. package/lib/typescript/src/models/PrimerSettings.d.ts +1 -0
  32. package/package.json +1 -1
  33. package/primer-io-react-native.podspec +1 -1
  34. package/src/Primer.ts +15 -0
  35. package/src/RNPrimer.ts +2 -0
  36. package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +17 -2
  37. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckout.ts +3 -1
  38. package/src/models/PrimerCheckoutAdditionalInfo.ts +12 -0
  39. package/src/models/PrimerSettings.ts +1 -0
@@ -137,5 +137,5 @@ dependencies {
137
137
  api 'com.facebook.react:react-native:+'
138
138
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
139
139
  implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3"
140
- implementation 'io.primer:android:2.8.1'
140
+ implementation 'io.primer:android:2.10.0'
141
141
  }
@@ -1,7 +1,7 @@
1
1
  package com.primerioreactnative
2
2
 
3
3
  import com.primerioreactnative.datamodels.*
4
- import com.primerioreactnative.extensions.*
4
+ import com.primerioreactnative.extensions.toCheckoutAdditionalInfoRN
5
5
  import com.primerioreactnative.extensions.toPrimerCheckoutDataRN
6
6
  import com.primerioreactnative.extensions.toPrimerClientSessionRN
7
7
  import com.primerioreactnative.extensions.toPrimerPaymentMethodDataRN
@@ -16,6 +16,7 @@ import io.primer.android.domain.action.models.PrimerClientSession
16
16
  import io.primer.android.domain.error.models.PrimerError
17
17
  import io.primer.android.domain.payments.additionalInfo.MultibancoCheckoutAdditionalInfo
18
18
  import io.primer.android.domain.payments.additionalInfo.PrimerCheckoutAdditionalInfo
19
+ import io.primer.android.domain.payments.additionalInfo.PromptPayCheckoutAdditionalInfo
19
20
  import io.primer.android.domain.tokenization.models.PrimerPaymentMethodData
20
21
  import io.primer.android.domain.tokenization.models.PrimerPaymentMethodTokenData
21
22
  import kotlinx.serialization.encodeToString
@@ -151,7 +152,9 @@ class PrimerRNEventListener : PrimerCheckoutListener {
151
152
  if (additionalInfo is MultibancoCheckoutAdditionalInfo) {
152
153
  sendEvent?.invoke(
153
154
  PrimerEvents.ON_RESUME_PENDING.eventName,
154
- JSONObject(Json.encodeToString(additionalInfo.toCheckoutAdditionalInfoRN()))
155
+ JSONObject(Json.encodeToString(additionalInfo.toCheckoutAdditionalInfoRN())).apply {
156
+ remove("type")
157
+ }
155
158
  )
156
159
  }
157
160
  } else {
@@ -162,6 +165,24 @@ class PrimerRNEventListener : PrimerCheckoutListener {
162
165
  }
163
166
  }
164
167
 
168
+ override fun onAdditionalInfoReceived(additionalInfo: PrimerCheckoutAdditionalInfo) {
169
+ if (implementedRNCallbacks?.isOnCheckoutReceivedAdditionalInfo == true) {
170
+ if (additionalInfo is PromptPayCheckoutAdditionalInfo) {
171
+ sendEvent?.invoke(
172
+ PrimerEvents.ON_CHECKOUT_RECEIVED_ADDITIONAL_INFO.eventName,
173
+ JSONObject(Json.encodeToString(additionalInfo.toCheckoutAdditionalInfoRN())).apply {
174
+ remove("type")
175
+ }
176
+ )
177
+ }
178
+ } else {
179
+ sendError?.invoke(
180
+ ErrorTypeRN.NativeBridgeFailed
181
+ errorTo "Callback [onAdditionalInfoReceived] should be implemented."
182
+ )
183
+ }
184
+ }
185
+
165
186
  override fun onDismissed() {
166
187
  if (implementedRNCallbacks?.isOnDismissImplemented == true) {
167
188
  sendEvent?.invoke(
@@ -4,7 +4,7 @@ import com.facebook.react.bridge.Arguments
4
4
  import com.facebook.react.bridge.Callback
5
5
  import com.facebook.react.bridge.Promise
6
6
  import com.primerioreactnative.datamodels.*
7
- import com.primerioreactnative.extensions.*
7
+ import com.primerioreactnative.extensions.toCheckoutAdditionalInfoRN
8
8
  import com.primerioreactnative.extensions.toPrimerCheckoutDataRN
9
9
  import com.primerioreactnative.extensions.toPrimerClientSessionRN
10
10
  import com.primerioreactnative.extensions.toPrimerPaymentMethodDataRN
@@ -21,6 +21,7 @@ import io.primer.android.domain.action.models.PrimerClientSession
21
21
  import io.primer.android.domain.error.models.PrimerError
22
22
  import io.primer.android.domain.payments.additionalInfo.MultibancoCheckoutAdditionalInfo
23
23
  import io.primer.android.domain.payments.additionalInfo.PrimerCheckoutAdditionalInfo
24
+ import io.primer.android.domain.payments.additionalInfo.PromptPayCheckoutAdditionalInfo
24
25
  import io.primer.android.domain.tokenization.models.PrimerPaymentMethodData
25
26
  import io.primer.android.domain.tokenization.models.PrimerPaymentMethodTokenData
26
27
  import kotlinx.serialization.encodeToString
@@ -192,7 +193,9 @@ class PrimerRNHeadlessUniversalCheckoutListener : PrimerHeadlessUniversalCheckou
192
193
  if (additionalInfo is MultibancoCheckoutAdditionalInfo) {
193
194
  sendEvent?.invoke(
194
195
  PrimerEvents.ON_RESUME_PENDING.eventName,
195
- JSONObject(Json.encodeToString(additionalInfo.toCheckoutAdditionalInfoRN()))
196
+ JSONObject(Json.encodeToString(additionalInfo.toCheckoutAdditionalInfoRN())).apply {
197
+ remove("type")
198
+ }
196
199
  )
197
200
  }
198
201
  } else {
@@ -203,6 +206,24 @@ class PrimerRNHeadlessUniversalCheckoutListener : PrimerHeadlessUniversalCheckou
203
206
  }
204
207
  }
205
208
 
209
+ override fun onAdditionalInfoReceived(additionalInfo: PrimerCheckoutAdditionalInfo) {
210
+ if (implementedRNCallbacks?.isOnCheckoutReceivedAdditionalInfo == true) {
211
+ if (additionalInfo is PromptPayCheckoutAdditionalInfo) {
212
+ sendEvent?.invoke(
213
+ PrimerEvents.ON_CHECKOUT_RECEIVED_ADDITIONAL_INFO.eventName,
214
+ JSONObject(Json.encodeToString(additionalInfo.toCheckoutAdditionalInfoRN())).apply {
215
+ remove("type")
216
+ }
217
+ )
218
+ }
219
+ } else {
220
+ sendError?.invoke(
221
+ ErrorTypeRN.NativeBridgeFailed
222
+ errorTo "Callback [onAdditionalInfoReceived] should be implemented."
223
+ )
224
+ }
225
+ }
226
+
206
227
  override fun onFailed(
207
228
  error: PrimerError,
208
229
  checkoutData: PrimerCheckoutData?,
@@ -11,3 +11,12 @@ data class MultibancoCheckoutAdditionalInfoRN(
11
11
  val reference: String,
12
12
  val entity: String,
13
13
  ) : PrimerCheckoutAdditionalInfoRN()
14
+
15
+ sealed class PrimerCheckoutQRCodeInfoRN : PrimerCheckoutAdditionalInfoRN()
16
+
17
+ @Serializable
18
+ data class PromptPayCheckoutAdditionalInfoRN(
19
+ val expiresAt: String,
20
+ val qrCodeUrl: String?,
21
+ val qrCodeBase64: String?,
22
+ ) : PrimerCheckoutQRCodeInfoRN()
@@ -10,5 +10,6 @@ internal enum class PrimerEvents(val eventName: String) {
10
10
  ON_TOKENIZE_SUCCESS("onTokenizeSuccess"),
11
11
  ON_RESUME_SUCCESS("onResumeSuccess"),
12
12
  ON_RESUME_PENDING("onResumePending"),
13
+ ON_CHECKOUT_RECEIVED_ADDITIONAL_INFO("onCheckoutReceivedAdditionalInfo"),
13
14
  ON_ERROR("onError"),
14
15
  }
@@ -1,12 +1,15 @@
1
1
  package com.primerioreactnative.extensions
2
2
 
3
3
  import com.primerioreactnative.datamodels.MultibancoCheckoutAdditionalInfoRN
4
+ import com.primerioreactnative.datamodels.PromptPayCheckoutAdditionalInfoRN
4
5
  import io.primer.android.domain.payments.additionalInfo.MultibancoCheckoutAdditionalInfo
5
6
  import io.primer.android.domain.payments.additionalInfo.PrimerCheckoutAdditionalInfo
7
+ import io.primer.android.domain.payments.additionalInfo.PromptPayCheckoutAdditionalInfo
6
8
 
7
9
  internal fun PrimerCheckoutAdditionalInfo.toCheckoutAdditionalInfoRN() = when (this) {
8
10
  is MultibancoCheckoutAdditionalInfo ->
9
11
  MultibancoCheckoutAdditionalInfoRN(expiresAt, reference, entity)
12
+ is PromptPayCheckoutAdditionalInfo ->
13
+ PromptPayCheckoutAdditionalInfoRN(expiresAt, qrCodeUrl, qrCodeBase64)
10
14
  else -> null
11
15
  }
12
-
@@ -21,6 +21,8 @@ data class PrimerHeadlessUniversalCheckoutImplementedRNCallbacks(
21
21
  val isOnResumeSuccessImplemented: Boolean? = null,
22
22
  @SerialName("onResumePending")
23
23
  val isOnResumePendingImplemented: Boolean? = null,
24
+ @SerialName("onCheckoutReceivedAdditionalInfo")
25
+ val isOnCheckoutReceivedAdditionalInfo: Boolean? = null,
24
26
  @SerialName("onHUCTokenizeStart")
25
27
  val isOnHUCTokenizeStartsImplemented: Boolean? = null,
26
28
  @SerialName("onHUCPrepareStart")
@@ -30,4 +32,3 @@ data class PrimerHeadlessUniversalCheckoutImplementedRNCallbacks(
30
32
  @SerialName("onHUCPaymentMethodShow")
31
33
  val isOnHUCPaymentMethodShowImplemented: Boolean? = null,
32
34
  )
33
-
@@ -23,4 +23,6 @@ data class PrimerImplementedRNCallbacks(
23
23
  val isOnResumeSuccessImplemented: Boolean? = null,
24
24
  @SerialName("onResumePending")
25
25
  val isOnResumePendingImplemented: Boolean? = null,
26
+ @SerialName("onCheckoutReceivedAdditionalInfo")
27
+ val isOnCheckoutReceivedAdditionalInfo: Boolean? = null
26
28
  )
@@ -18,6 +18,7 @@ internal struct ImplementedRNCallbacks: Decodable {
18
18
  internal var isOnTokenizeSuccessImplemented: Bool = false
19
19
  internal var isOnResumeSuccessImplemented: Bool = false
20
20
  internal var isOnResumePendingImplemented: Bool = false
21
+ internal var isOnCheckoutReceivedAdditionalInfoImplemented: Bool = false
21
22
  internal var isOnHUCTokenizeStartImplemented: Bool = false
22
23
  internal var isOnHUCPrepareStartImplemented: Bool = false
23
24
  internal var isOnHUCAvailablePaymentMethodsLoadedImplemented: Bool = false
@@ -33,6 +34,7 @@ internal struct ImplementedRNCallbacks: Decodable {
33
34
  case isOnTokenizeSuccessImplemented = "onTokenizeSuccess"
34
35
  case isOnResumeSuccessImplemented = "onResumeSuccess"
35
36
  case isOnResumePendingImplemented = "onResumePending"
37
+ case isOnCheckoutReceivedAdditionalInfoImplemented = "onCheckoutReceivedAdditionalInfo"
36
38
  case isOnHUCTokenizeStartImplemented = "onHUCTokenizeStart"
37
39
  case isOnHUCPrepareStartImplemented = "onHUCPrepareStart"
38
40
  case isOnHUCAvailablePaymentMethodsLoadedImplemented = "onHUCAvailablePaymentMethodsLoaded"
@@ -51,6 +53,7 @@ internal struct ImplementedRNCallbacks: Decodable {
51
53
  self.isOnTokenizeSuccessImplemented = (try? container.decode(Bool?.self, forKey: .isOnTokenizeSuccessImplemented)) ?? false
52
54
  self.isOnResumeSuccessImplemented = (try? container.decode(Bool?.self, forKey: .isOnResumeSuccessImplemented)) ?? false
53
55
  self.isOnResumePendingImplemented = (try? container.decode(Bool?.self, forKey: .isOnResumePendingImplemented)) ?? false
56
+ self.isOnCheckoutReceivedAdditionalInfoImplemented = (try? container.decode(Bool?.self, forKey: .isOnCheckoutReceivedAdditionalInfoImplemented)) ?? false
54
57
  self.isOnHUCTokenizeStartImplemented = (try? container.decode(Bool?.self, forKey: .isOnHUCTokenizeStartImplemented)) ?? false
55
58
  self.isOnHUCPrepareStartImplemented = (try? container.decode(Bool?.self, forKey: .isOnHUCPrepareStartImplemented)) ?? false
56
59
  self.isOnHUCAvailablePaymentMethodsLoadedImplemented = (try? container.decode(Bool?.self, forKey: .isOnHUCAvailablePaymentMethodsLoadedImplemented)) ?? false
@@ -18,6 +18,7 @@ enum PrimerHeadlessUniversalCheckoutEvents: Int, CaseIterable {
18
18
  case onTokenizeSuccess
19
19
  case onResumeSuccess
20
20
  case onResumePending
21
+ case onCheckoutReceivedAdditionalInfo
21
22
  case onBeforePaymentCreate
22
23
  case onBeforeClientSessionUpdate
23
24
  case onClientSessionUpdate
@@ -38,6 +39,8 @@ enum PrimerHeadlessUniversalCheckoutEvents: Int, CaseIterable {
38
39
  return "onResumeSuccess"
39
40
  case .onResumePending:
40
41
  return "onResumePending"
42
+ case .onCheckoutReceivedAdditionalInfo:
43
+ return "onCheckoutReceivedAdditionalInfo"
41
44
  case .onBeforePaymentCreate:
42
45
  return "onBeforePaymentCreate"
43
46
  case .onBeforeClientSessionUpdate:
@@ -401,7 +404,7 @@ extension RNTPrimerHeadlessUniversalCheckout: PrimerHeadlessUniversalCheckoutDel
401
404
  }
402
405
  }
403
406
  }
404
-
407
+
405
408
  func primerHeadlessUniversalCheckoutDidEnterResumePendingWithPaymentAdditionalInfo(_ additionalInfo: PrimerCheckoutAdditionalInfo?) {
406
409
  DispatchQueue.main.async {
407
410
  if self.implementedRNCallbacks?.isOnResumePendingImplemented == true {
@@ -421,6 +424,25 @@ extension RNTPrimerHeadlessUniversalCheckout: PrimerHeadlessUniversalCheckoutDel
421
424
  }
422
425
  }
423
426
 
427
+ func primerHeadlessUniversalCheckoutDidReceiveAdditionalInfo(_ additionalInfo: PrimerCheckoutAdditionalInfo?) {
428
+ DispatchQueue.main.async {
429
+ if self.implementedRNCallbacks?.isOnCheckoutReceivedAdditionalInfoImplemented == true {
430
+ do {
431
+ let checkoutAdditionalInfo = try JSONEncoder().encode(additionalInfo)
432
+ let checkoutAdditionalInfoJson = try JSONSerialization.jsonObject(with: checkoutAdditionalInfo, options: .allowFragments)
433
+ self.sendEvent(withName: PrimerHeadlessUniversalCheckoutEvents.onCheckoutReceivedAdditionalInfo.stringValue, body: checkoutAdditionalInfoJson)
434
+ } catch {
435
+ let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
436
+ self.handleRNBridgeError(error, checkoutData: checkoutData, stopOnDebug: true)
437
+ }
438
+ } else {
439
+ let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Callback [onCheckoutReceivedAdditionalInfo] should be implemented."])
440
+ let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
441
+ self.handleRNBridgeError(err, checkoutData: checkoutData, stopOnDebug: false)
442
+ }
443
+ }
444
+ }
445
+
424
446
  func primerHeadlessUniversalCheckoutClientSessionWillUpdate() {
425
447
  if self.implementedRNCallbacks?.isOnBeforeClientSessionUpdateImplemented == true {
426
448
  DispatchQueue.main.async {
@@ -20,6 +20,7 @@ enum PrimerEvents: Int, CaseIterable {
20
20
  case onTokenizeSuccess
21
21
  case onResumeSuccess
22
22
  case onResumePending
23
+ case onCheckoutReceivedAdditionalInfo
23
24
  case onError
24
25
  case detectImplementedRNCallbacks
25
26
 
@@ -41,6 +42,8 @@ enum PrimerEvents: Int, CaseIterable {
41
42
  return "onResumeSuccess"
42
43
  case .onResumePending:
43
44
  return "onResumePending"
45
+ case .onCheckoutReceivedAdditionalInfo:
46
+ return "onCheckoutReceivedAdditionalInfo"
44
47
  case .onError:
45
48
  return "onError"
46
49
  case .detectImplementedRNCallbacks:
@@ -94,7 +94,7 @@ let primerSettings = undefined;
94
94
  async function configureListeners() {
95
95
  return new Promise(async (resolve, reject) => {
96
96
  try {
97
- var _primerSettings, _primerSettings2, _primerSettings3, _primerSettings4, _primerSettings5, _primerSettings6, _primerSettings7, _primerSettings8, _primerSettings9;
97
+ var _primerSettings, _primerSettings2, _primerSettings3, _primerSettings4, _primerSettings5, _primerSettings6, _primerSettings7, _primerSettings8, _primerSettings9, _primerSettings10;
98
98
 
99
99
  _RNPrimer.default.removeAllListeners();
100
100
 
@@ -106,8 +106,9 @@ async function configureListeners() {
106
106
  onTokenizeSuccess: ((_primerSettings5 = primerSettings) === null || _primerSettings5 === void 0 ? void 0 : _primerSettings5.onTokenizeSuccess) !== undefined,
107
107
  onResumeSuccess: ((_primerSettings6 = primerSettings) === null || _primerSettings6 === void 0 ? void 0 : _primerSettings6.onResumeSuccess) !== undefined,
108
108
  onResumePending: ((_primerSettings7 = primerSettings) === null || _primerSettings7 === void 0 ? void 0 : _primerSettings7.onResumePending) !== undefined,
109
- onDismiss: ((_primerSettings8 = primerSettings) === null || _primerSettings8 === void 0 ? void 0 : _primerSettings8.onDismiss) !== undefined,
110
- onError: ((_primerSettings9 = primerSettings) === null || _primerSettings9 === void 0 ? void 0 : _primerSettings9.onError) !== undefined
109
+ onCheckoutReceivedAdditionalInfo: ((_primerSettings8 = primerSettings) === null || _primerSettings8 === void 0 ? void 0 : _primerSettings8.onCheckoutReceivedAdditionalInfo) !== undefined,
110
+ onDismiss: ((_primerSettings9 = primerSettings) === null || _primerSettings9 === void 0 ? void 0 : _primerSettings9.onDismiss) !== undefined,
111
+ onError: ((_primerSettings10 = primerSettings) === null || _primerSettings10 === void 0 ? void 0 : _primerSettings10.onError) !== undefined
111
112
  };
112
113
  await _RNPrimer.default.setImplementedRNCallbacks(implementedRNCallbacks);
113
114
 
@@ -173,6 +174,16 @@ async function configureListeners() {
173
174
  });
174
175
  }
175
176
 
177
+ if (implementedRNCallbacks.onCheckoutReceivedAdditionalInfo) {
178
+ _RNPrimer.default.addListener('onCheckoutReceivedAdditionalInfo', additionalInfo => {
179
+ if (primerSettings && primerSettings.onCheckoutReceivedAdditionalInfo) {
180
+ const checkoutAdditionalInfo = additionalInfo;
181
+ primerSettings.onCheckoutReceivedAdditionalInfo(checkoutAdditionalInfo);
182
+ } else {// Ignore!
183
+ }
184
+ });
185
+ }
186
+
176
187
  if (implementedRNCallbacks.onDismiss) {
177
188
  _RNPrimer.default.addListener('onDismiss', _ => {
178
189
  if (primerSettings && primerSettings.onDismiss) {
@@ -1 +1 @@
1
- {"version":3,"sources":["Primer.ts"],"names":["tokenizationHandler","handleFailure","errorMessage","RNPrimer","handleTokenizationFailure","err","console","error","handleSuccess","handleTokenizationSuccess","continueWithNewClientToken","newClientToken","handleTokenizationNewClientToken","resumeHandler","handleResumeFailure","handleResumeSuccess","handleResumeWithNewClientToken","paymentCreationHandler","abortPaymentCreation","handlePaymentCreationAbort","continuePaymentCreation","handlePaymentCreationContinue","errorHandler","showErrorMessage","primerSettings","undefined","configureListeners","Promise","resolve","reject","removeAllListeners","implementedRNCallbacks","onCheckoutComplete","onBeforePaymentCreate","onBeforeClientSessionUpdate","onClientSessionUpdate","onTokenizeSuccess","onResumeSuccess","onResumePending","onDismiss","onError","setImplementedRNCallbacks","addListener","data","checkoutData","checkoutPaymentMethodData","_","clientSession","paymentMethodTokenData","resumeToken","additionalInfo","checkoutAdditionalInfo","errorId","description","recoverySuggestion","primerError","PrimerError","Primer","configure","settings","showUniversalCheckout","clientToken","showVaultManager","showPaymentMethod","paymentMethodType","intent","dispose","dismiss"],"mappings":"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","sourcesContent":["import type { PrimerCheckoutData } from './models/PrimerCheckoutData';\nimport type { PrimerSessionIntent } from './models/PrimerSessionIntent';\nimport type { PrimerSettings } from './models/PrimerSettings';\nimport RNPrimer from './RNPrimer';\nimport type { PrimerCheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';\nimport type { PrimerClientSession } from './models/PrimerClientSession';\nimport type { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';\nimport { PrimerError } from './models/PrimerError';\nimport type { IPrimer, PrimerErrorHandler, PrimerPaymentCreationHandler, PrimerResumeHandler, PrimerTokenizationHandler } from './models/PrimerInterfaces';\nimport type { PrimerCheckoutAdditionalInfo } from './models/PrimerCheckoutAdditionalInfo';\n\n///////////////////////////////////////////\n// DECISION HANDLERS\n///////////////////////////////////////////\n\n// Tokenization Handler\n\nconst tokenizationHandler: PrimerTokenizationHandler = {\n handleFailure: async (errorMessage: string) => {\n try {\n RNPrimer.handleTokenizationFailure(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n handleSuccess: async () => {\n try {\n RNPrimer.handleTokenizationSuccess();\n } catch (err) {\n console.error(err);\n }\n },\n\n continueWithNewClientToken: async (newClientToken: string) => {\n try {\n RNPrimer.handleTokenizationNewClientToken(newClientToken);\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Resume Handler\n\nconst resumeHandler: PrimerResumeHandler = {\n handleFailure: async (errorMessage: string) => {\n try {\n RNPrimer.handleResumeFailure(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n handleSuccess: async () => {\n try {\n RNPrimer.handleResumeSuccess();\n } catch (err) {\n console.error(err);\n }\n },\n\n continueWithNewClientToken: async (newClientToken: string) => {\n try {\n RNPrimer.handleResumeWithNewClientToken(newClientToken);\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Payment Creation Handler\n\nconst paymentCreationHandler: PrimerPaymentCreationHandler = {\n abortPaymentCreation: async (errorMessage: string) => {\n try {\n RNPrimer.handlePaymentCreationAbort(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n continuePaymentCreation: async () => {\n try {\n RNPrimer.handlePaymentCreationContinue();\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Error Handler\n\nconst errorHandler: PrimerErrorHandler = {\n showErrorMessage: async (errorMessage: string) => {\n try {\n RNPrimer.showErrorMessage(errorMessage || \"\");\n } catch (err) {\n console.error(err);\n }\n }\n}\n\nlet primerSettings: PrimerSettings | undefined = undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimer.removeAllListeners();\n\n let implementedRNCallbacks: any = {\n onCheckoutComplete: (primerSettings?.onCheckoutComplete !== undefined),\n onBeforePaymentCreate: (primerSettings?.onBeforePaymentCreate !== undefined),\n onBeforeClientSessionUpdate: (primerSettings?.onBeforeClientSessionUpdate !== undefined),\n onClientSessionUpdate: (primerSettings?.onClientSessionUpdate !== undefined),\n onTokenizeSuccess: (primerSettings?.onTokenizeSuccess !== undefined),\n onResumeSuccess: (primerSettings?.onResumeSuccess !== undefined),\n onResumePending: (primerSettings?.onResumePending !== undefined),\n onDismiss: (primerSettings?.onDismiss !== undefined),\n onError: (primerSettings?.onError !== undefined),\n };\n\n await RNPrimer.setImplementedRNCallbacks(implementedRNCallbacks);\n\n if (implementedRNCallbacks.onCheckoutComplete) {\n RNPrimer.addListener('onCheckoutComplete', data => {\n if (primerSettings && primerSettings.onCheckoutComplete) {\n const checkoutData: PrimerCheckoutData = data;\n primerSettings.onCheckoutComplete(checkoutData);\n }\n });\n }\n\n if (implementedRNCallbacks.onBeforePaymentCreate) {\n RNPrimer.addListener('onBeforePaymentCreate', data => {\n if (primerSettings && primerSettings.onBeforePaymentCreate) {\n const checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData = data;\n primerSettings.onBeforePaymentCreate(checkoutPaymentMethodData, paymentCreationHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onBeforeClientSessionUpdate) {\n RNPrimer.addListener('onBeforeClientSessionUpdate', _ => {\n if (primerSettings && primerSettings.onBeforeClientSessionUpdate) {\n primerSettings.onBeforeClientSessionUpdate();\n }\n });\n }\n\n if (implementedRNCallbacks.onClientSessionUpdate) {\n RNPrimer.addListener('onClientSessionUpdate', data => {\n if (primerSettings && primerSettings.onClientSessionUpdate) {\n const clientSession: PrimerClientSession = data;\n primerSettings.onClientSessionUpdate(clientSession);\n }\n });\n }\n\n if (implementedRNCallbacks.onTokenizeSuccess) {\n RNPrimer.addListener('onTokenizeSuccess', data => {\n if (primerSettings && primerSettings.onTokenizeSuccess) {\n const paymentMethodTokenData: PrimerPaymentMethodTokenData = data;\n primerSettings.onTokenizeSuccess(paymentMethodTokenData, tokenizationHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onResumeSuccess) {\n RNPrimer.addListener('onResumeSuccess', data => {\n if (primerSettings && primerSettings.onResumeSuccess && data.resumeToken) {\n primerSettings.onResumeSuccess(data.resumeToken, resumeHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onResumePending) {\n RNPrimer.addListener(\n 'onResumePending',\n (additionalInfo) => {\n if (primerSettings && primerSettings.onResumePending) {\n const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = additionalInfo;\n primerSettings.onResumePending(checkoutAdditionalInfo);\n } else {\n // Ignore!\n }\n }\n );\n }\n\n if (implementedRNCallbacks.onDismiss) {\n RNPrimer.addListener('onDismiss', _ => {\n if (primerSettings && primerSettings.onDismiss) {\n primerSettings.onDismiss();\n }\n });\n }\n\n if (implementedRNCallbacks.onError) {\n RNPrimer.addListener('onError', data => {\n if (data && data.error && data.error.errorId && primerSettings && primerSettings.onError) {\n const errorId: string = data.error.errorId;\n const description: string | undefined = data.error.description;\n const recoverySuggestion: string | undefined = data.error.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n\n if (data.checkoutData) {\n primerSettings.onError(primerError, data.checkoutData, errorHandler);\n } else {\n primerSettings.onError(primerError, null, errorHandler);\n }\n }\n });\n }\n\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport const Primer: IPrimer = {\n\n ///////////////////////////////////////////\n // SDK API\n ///////////////////////////////////////////\n\n async configure(settings?: PrimerSettings): Promise<void> {\n primerSettings = settings;\n return new Promise(async (resolve, reject) => {\n try {\n await RNPrimer.configure(settings);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showUniversalCheckout(clientToken: string): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showUniversalCheckout(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showVaultManager(clientToken: string): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showVaultManager(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showPaymentMethod(\n paymentMethodType: string,\n intent: PrimerSessionIntent,\n clientToken: string\n ): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showPaymentMethod(paymentMethodType, intent, clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dispose(): void {\n RNPrimer.removeAllListeners();\n RNPrimer.dismiss();\n },\n\n dismiss(): void {\n RNPrimer.removeAllListeners();\n RNPrimer.dismiss();\n },\n};\n"]}
1
+ {"version":3,"sources":["Primer.ts"],"names":["tokenizationHandler","handleFailure","errorMessage","RNPrimer","handleTokenizationFailure","err","console","error","handleSuccess","handleTokenizationSuccess","continueWithNewClientToken","newClientToken","handleTokenizationNewClientToken","resumeHandler","handleResumeFailure","handleResumeSuccess","handleResumeWithNewClientToken","paymentCreationHandler","abortPaymentCreation","handlePaymentCreationAbort","continuePaymentCreation","handlePaymentCreationContinue","errorHandler","showErrorMessage","primerSettings","undefined","configureListeners","Promise","resolve","reject","removeAllListeners","implementedRNCallbacks","onCheckoutComplete","onBeforePaymentCreate","onBeforeClientSessionUpdate","onClientSessionUpdate","onTokenizeSuccess","onResumeSuccess","onResumePending","onCheckoutReceivedAdditionalInfo","onDismiss","onError","setImplementedRNCallbacks","addListener","data","checkoutData","checkoutPaymentMethodData","_","clientSession","paymentMethodTokenData","resumeToken","additionalInfo","checkoutAdditionalInfo","errorId","description","recoverySuggestion","primerError","PrimerError","Primer","configure","settings","showUniversalCheckout","clientToken","showVaultManager","showPaymentMethod","paymentMethodType","intent","dispose","dismiss"],"mappings":"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","sourcesContent":["import type { PrimerCheckoutData } from './models/PrimerCheckoutData';\nimport type { PrimerSessionIntent } from './models/PrimerSessionIntent';\nimport type { PrimerSettings } from './models/PrimerSettings';\nimport RNPrimer from './RNPrimer';\nimport type { PrimerCheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';\nimport type { PrimerClientSession } from './models/PrimerClientSession';\nimport type { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';\nimport { PrimerError } from './models/PrimerError';\nimport type { IPrimer, PrimerErrorHandler, PrimerPaymentCreationHandler, PrimerResumeHandler, PrimerTokenizationHandler } from './models/PrimerInterfaces';\nimport type { PrimerCheckoutAdditionalInfo } from './models/PrimerCheckoutAdditionalInfo';\n\n///////////////////////////////////////////\n// DECISION HANDLERS\n///////////////////////////////////////////\n\n// Tokenization Handler\n\nconst tokenizationHandler: PrimerTokenizationHandler = {\n handleFailure: async (errorMessage: string) => {\n try {\n RNPrimer.handleTokenizationFailure(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n handleSuccess: async () => {\n try {\n RNPrimer.handleTokenizationSuccess();\n } catch (err) {\n console.error(err);\n }\n },\n\n continueWithNewClientToken: async (newClientToken: string) => {\n try {\n RNPrimer.handleTokenizationNewClientToken(newClientToken);\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Resume Handler\n\nconst resumeHandler: PrimerResumeHandler = {\n handleFailure: async (errorMessage: string) => {\n try {\n RNPrimer.handleResumeFailure(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n handleSuccess: async () => {\n try {\n RNPrimer.handleResumeSuccess();\n } catch (err) {\n console.error(err);\n }\n },\n\n continueWithNewClientToken: async (newClientToken: string) => {\n try {\n RNPrimer.handleResumeWithNewClientToken(newClientToken);\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Payment Creation Handler\n\nconst paymentCreationHandler: PrimerPaymentCreationHandler = {\n abortPaymentCreation: async (errorMessage: string) => {\n try {\n RNPrimer.handlePaymentCreationAbort(errorMessage);\n } catch (err) {\n console.error(err);\n }\n },\n\n continuePaymentCreation: async () => {\n try {\n RNPrimer.handlePaymentCreationContinue();\n } catch (err) {\n console.error(err);\n }\n }\n}\n\n// Error Handler\n\nconst errorHandler: PrimerErrorHandler = {\n showErrorMessage: async (errorMessage: string) => {\n try {\n RNPrimer.showErrorMessage(errorMessage || \"\");\n } catch (err) {\n console.error(err);\n }\n }\n}\n\nlet primerSettings: PrimerSettings | undefined = undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimer.removeAllListeners();\n\n let implementedRNCallbacks: any = {\n onCheckoutComplete: (primerSettings?.onCheckoutComplete !== undefined),\n onBeforePaymentCreate: (primerSettings?.onBeforePaymentCreate !== undefined),\n onBeforeClientSessionUpdate: (primerSettings?.onBeforeClientSessionUpdate !== undefined),\n onClientSessionUpdate: (primerSettings?.onClientSessionUpdate !== undefined),\n onTokenizeSuccess: (primerSettings?.onTokenizeSuccess !== undefined),\n onResumeSuccess: (primerSettings?.onResumeSuccess !== undefined),\n onResumePending: (primerSettings?.onResumePending !== undefined),\n onCheckoutReceivedAdditionalInfo: (primerSettings?.onCheckoutReceivedAdditionalInfo !== undefined),\n onDismiss: (primerSettings?.onDismiss !== undefined),\n onError: (primerSettings?.onError !== undefined),\n };\n\n await RNPrimer.setImplementedRNCallbacks(implementedRNCallbacks);\n\n if (implementedRNCallbacks.onCheckoutComplete) {\n RNPrimer.addListener('onCheckoutComplete', data => {\n if (primerSettings && primerSettings.onCheckoutComplete) {\n const checkoutData: PrimerCheckoutData = data;\n primerSettings.onCheckoutComplete(checkoutData);\n }\n });\n }\n\n if (implementedRNCallbacks.onBeforePaymentCreate) {\n RNPrimer.addListener('onBeforePaymentCreate', data => {\n if (primerSettings && primerSettings.onBeforePaymentCreate) {\n const checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData = data;\n primerSettings.onBeforePaymentCreate(checkoutPaymentMethodData, paymentCreationHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onBeforeClientSessionUpdate) {\n RNPrimer.addListener('onBeforeClientSessionUpdate', _ => {\n if (primerSettings && primerSettings.onBeforeClientSessionUpdate) {\n primerSettings.onBeforeClientSessionUpdate();\n }\n });\n }\n\n if (implementedRNCallbacks.onClientSessionUpdate) {\n RNPrimer.addListener('onClientSessionUpdate', data => {\n if (primerSettings && primerSettings.onClientSessionUpdate) {\n const clientSession: PrimerClientSession = data;\n primerSettings.onClientSessionUpdate(clientSession);\n }\n });\n }\n\n if (implementedRNCallbacks.onTokenizeSuccess) {\n RNPrimer.addListener('onTokenizeSuccess', data => {\n if (primerSettings && primerSettings.onTokenizeSuccess) {\n const paymentMethodTokenData: PrimerPaymentMethodTokenData = data;\n primerSettings.onTokenizeSuccess(paymentMethodTokenData, tokenizationHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onResumeSuccess) {\n RNPrimer.addListener('onResumeSuccess', data => {\n if (primerSettings && primerSettings.onResumeSuccess && data.resumeToken) {\n primerSettings.onResumeSuccess(data.resumeToken, resumeHandler);\n }\n });\n }\n\n if (implementedRNCallbacks.onResumePending) {\n RNPrimer.addListener(\n 'onResumePending',\n (additionalInfo) => {\n if (primerSettings && primerSettings.onResumePending) {\n const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = additionalInfo;\n primerSettings.onResumePending(checkoutAdditionalInfo);\n } else {\n // Ignore!\n }\n }\n );\n }\n\n if (implementedRNCallbacks.onCheckoutReceivedAdditionalInfo) {\n RNPrimer.addListener(\n 'onCheckoutReceivedAdditionalInfo',\n (additionalInfo) => {\n if (primerSettings && primerSettings.onCheckoutReceivedAdditionalInfo) {\n const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = additionalInfo;\n primerSettings.onCheckoutReceivedAdditionalInfo(checkoutAdditionalInfo);\n } else {\n // Ignore!\n }\n }\n );\n }\n\n if (implementedRNCallbacks.onDismiss) {\n RNPrimer.addListener('onDismiss', _ => {\n if (primerSettings && primerSettings.onDismiss) {\n primerSettings.onDismiss();\n }\n });\n }\n\n if (implementedRNCallbacks.onError) {\n RNPrimer.addListener('onError', data => {\n if (data && data.error && data.error.errorId && primerSettings && primerSettings.onError) {\n const errorId: string = data.error.errorId;\n const description: string | undefined = data.error.description;\n const recoverySuggestion: string | undefined = data.error.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n\n if (data.checkoutData) {\n primerSettings.onError(primerError, data.checkoutData, errorHandler);\n } else {\n primerSettings.onError(primerError, null, errorHandler);\n }\n }\n });\n }\n\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport const Primer: IPrimer = {\n\n ///////////////////////////////////////////\n // SDK API\n ///////////////////////////////////////////\n\n async configure(settings?: PrimerSettings): Promise<void> {\n primerSettings = settings;\n return new Promise(async (resolve, reject) => {\n try {\n await RNPrimer.configure(settings);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showUniversalCheckout(clientToken: string): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showUniversalCheckout(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showVaultManager(clientToken: string): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showVaultManager(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n async showPaymentMethod(\n paymentMethodType: string,\n intent: PrimerSessionIntent,\n clientToken: string\n ): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n await configureListeners();\n await RNPrimer.showPaymentMethod(paymentMethodType, intent, clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dispose(): void {\n RNPrimer.removeAllListeners();\n RNPrimer.dismiss();\n },\n\n dismiss(): void {\n RNPrimer.removeAllListeners();\n RNPrimer.dismiss();\n },\n};\n"]}
@@ -11,7 +11,7 @@ const {
11
11
  NativePrimer
12
12
  } = _reactNative.NativeModules;
13
13
  const eventEmitter = new _reactNative.NativeEventEmitter(NativePrimer);
14
- const eventTypes = ['onCheckoutComplete', 'onBeforeClientSessionUpdate', 'onClientSessionUpdate', 'onBeforePaymentCreate', 'onError', 'onDismiss', 'onTokenizeSuccess', 'onResumeSuccess', 'onResumePending', 'detectImplementedRNCallbacks'];
14
+ const eventTypes = ['onCheckoutComplete', 'onBeforeClientSessionUpdate', 'onClientSessionUpdate', 'onBeforePaymentCreate', 'onError', 'onDismiss', 'onTokenizeSuccess', 'onResumeSuccess', 'onCheckoutReceivedAdditionalInfo', 'onResumePending', 'detectImplementedRNCallbacks'];
15
15
  const RNPrimer = {
16
16
  ///////////////////////////////////////////
17
17
  // Event Emitter
@@ -1 +1 @@
1
- {"version":3,"sources":["RNPrimer.ts"],"names":["NativePrimer","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","RNPrimer","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","configure","settings","Promise","resolve","reject","JSON","stringify","err","showUniversalCheckout","clientToken","showUniversalCheckoutWithClientToken","showVaultManager","showVaultManagerWithClientToken","showPaymentMethod","paymentMethodType","intent","dismiss","dispose","handleTokenizationNewClientToken","newClientToken","handleTokenizationSuccess","handleTokenizationFailure","errorMessage","handleResumeWithNewClientToken","handleResumeSuccess","handleResumeFailure","handlePaymentCreationAbort","handlePaymentCreationContinue","showErrorMessage","handleSuccess","setImplementedRNCallbacks","implementedRNCallbacks"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\nimport type { PrimerSessionIntent } from './models/PrimerSessionIntent';\nimport type { PrimerSettings } from './models/PrimerSettings';\n\nconst { NativePrimer } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativePrimer);\n\ntype EventType =\n | 'onCheckoutComplete'\n | 'onBeforeClientSessionUpdate'\n | 'onClientSessionUpdate'\n | 'onBeforePaymentCreate'\n | 'onError'\n | 'onDismiss'\n | 'onTokenizeSuccess'\n | 'onResumeSuccess'\n | 'onResumePending'\n | 'detectImplementedRNCallbacks';\n\nexport interface IPrimerError {\n errorId: string\n errorDescription?: string\n recoverySuggestion?: string\n}\n\nconst eventTypes: EventType[] = [\n 'onCheckoutComplete',\n 'onBeforeClientSessionUpdate',\n 'onClientSessionUpdate',\n 'onBeforePaymentCreate',\n 'onError',\n 'onDismiss',\n 'onTokenizeSuccess',\n 'onResumeSuccess',\n 'onResumePending',\n 'detectImplementedRNCallbacks'\n];\n\nconst RNPrimer = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimer.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n configure: (settings: PrimerSettings | undefined): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.configure(JSON.stringify(settings) || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showUniversalCheckout: (clientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showUniversalCheckoutWithClientToken(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showVaultManager: (clientToken: string | undefined): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showVaultManagerWithClientToken(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showPaymentMethod: (\n paymentMethodType: string,\n intent: PrimerSessionIntent,\n clientToken: string\n ): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showPaymentMethod(paymentMethodType, intent, clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dismiss: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.dismiss();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dispose: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.dispose();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n ///////////////////////////////////////////\n // DECISION HANDLERS\n ///////////////////////////////////////////\n\n // Tokenization Handlers\n\n handleTokenizationNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Resume Handlers\n\n handleResumeWithNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleResumeWithNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleResumeSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Payment Creation Handlers\n\n handlePaymentCreationAbort: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handlePaymentCreationAbort(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handlePaymentCreationContinue: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handlePaymentCreationContinue();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Error Handler\n\n showErrorMessage: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showErrorMessage(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // HELPERS\n\n setImplementedRNCallbacks: (implementedRNCallbacks: any): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.setImplementedRNCallbacks(JSON.stringify(implementedRNCallbacks));\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n};\n\nexport default RNPrimer;\n"]}
1
+ {"version":3,"sources":["RNPrimer.ts"],"names":["NativePrimer","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","RNPrimer","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","configure","settings","Promise","resolve","reject","JSON","stringify","err","showUniversalCheckout","clientToken","showUniversalCheckoutWithClientToken","showVaultManager","showVaultManagerWithClientToken","showPaymentMethod","paymentMethodType","intent","dismiss","dispose","handleTokenizationNewClientToken","newClientToken","handleTokenizationSuccess","handleTokenizationFailure","errorMessage","handleResumeWithNewClientToken","handleResumeSuccess","handleResumeFailure","handlePaymentCreationAbort","handlePaymentCreationContinue","showErrorMessage","handleSuccess","setImplementedRNCallbacks","implementedRNCallbacks"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\nimport type { PrimerSessionIntent } from './models/PrimerSessionIntent';\nimport type { PrimerSettings } from './models/PrimerSettings';\n\nconst { NativePrimer } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(NativePrimer);\n\ntype EventType =\n | 'onCheckoutComplete'\n | 'onBeforeClientSessionUpdate'\n | 'onClientSessionUpdate'\n | 'onBeforePaymentCreate'\n | 'onError'\n | 'onDismiss'\n | 'onTokenizeSuccess'\n | 'onResumeSuccess'\n | 'onResumePending'\n | 'onCheckoutReceivedAdditionalInfo'\n | 'detectImplementedRNCallbacks';\n\nexport interface IPrimerError {\n errorId: string\n errorDescription?: string\n recoverySuggestion?: string\n}\n\nconst eventTypes: EventType[] = [\n 'onCheckoutComplete',\n 'onBeforeClientSessionUpdate',\n 'onClientSessionUpdate',\n 'onBeforePaymentCreate',\n 'onError',\n 'onDismiss',\n 'onTokenizeSuccess',\n 'onResumeSuccess',\n 'onCheckoutReceivedAdditionalInfo',\n 'onResumePending',\n 'detectImplementedRNCallbacks'\n];\n\nconst RNPrimer = {\n ///////////////////////////////////////////\n // Event Emitter\n ///////////////////////////////////////////\n\n addListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.addListener(eventType, listener);\n },\n\n removeListener: (eventType: EventType, listener: (...args: any[]) => any) => {\n eventEmitter.removeListener(eventType, listener);\n },\n\n removeAllListenersForEvent(eventType: EventType) {\n eventEmitter.removeAllListeners(eventType);\n },\n\n removeAllListeners() {\n eventTypes.forEach((eventType) => RNPrimer.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n configure: (settings: PrimerSettings | undefined): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.configure(JSON.stringify(settings) || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showUniversalCheckout: (clientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showUniversalCheckoutWithClientToken(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showVaultManager: (clientToken: string | undefined): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showVaultManagerWithClientToken(clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n showPaymentMethod: (\n paymentMethodType: string,\n intent: PrimerSessionIntent,\n clientToken: string\n ): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showPaymentMethod(paymentMethodType, intent, clientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dismiss: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.dismiss();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n dispose: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.dispose();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n ///////////////////////////////////////////\n // DECISION HANDLERS\n ///////////////////////////////////////////\n\n // Tokenization Handlers\n\n handleTokenizationNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleTokenizationFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Resume Handlers\n\n handleResumeWithNewClientToken: (newClientToken: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleResumeWithNewClientToken(newClientToken);\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleResumeSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleResumeFailure: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleTokenizationFailure(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Payment Creation Handlers\n\n handlePaymentCreationAbort: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handlePaymentCreationAbort(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handlePaymentCreationContinue: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handlePaymentCreationContinue();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // Error Handler\n\n showErrorMessage: (errorMessage: string | null): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.showErrorMessage(errorMessage || \"\");\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n handleSuccess: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.handleSuccess();\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n // HELPERS\n\n setImplementedRNCallbacks: (implementedRNCallbacks: any): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await NativePrimer.setImplementedRNCallbacks(JSON.stringify(implementedRNCallbacks));\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n },\n\n};\n\nexport default RNPrimer;\n"]}
@@ -85,7 +85,7 @@ exports.primerSettings = primerSettings;
85
85
  async function configureListeners() {
86
86
  return new Promise(async (resolve, reject) => {
87
87
  try {
88
- var _primerSettings, _primerSettings2, _primerSettings3, _primerSettings4, _primerSettings5, _primerSettings6, _primerSettings7, _primerSettings8, _primerSettings9, _primerSettings10, _primerSettings11, _primerSettings12;
88
+ var _primerSettings, _primerSettings2, _primerSettings3, _primerSettings4, _primerSettings5, _primerSettings6, _primerSettings7, _primerSettings8, _primerSettings9, _primerSettings10, _primerSettings11, _primerSettings12, _primerSettings13;
89
89
 
90
90
  _RNPrimerHeadlessUniversalCheckout.default.removeAllListeners();
91
91
 
@@ -97,12 +97,13 @@ async function configureListeners() {
97
97
  onTokenizeSuccess: ((_primerSettings5 = primerSettings) === null || _primerSettings5 === void 0 ? void 0 : _primerSettings5.onTokenizeSuccess) !== undefined,
98
98
  onResumeSuccess: ((_primerSettings6 = primerSettings) === null || _primerSettings6 === void 0 ? void 0 : _primerSettings6.onResumeSuccess) !== undefined,
99
99
  onResumePending: ((_primerSettings7 = primerSettings) === null || _primerSettings7 === void 0 ? void 0 : _primerSettings7.onResumePending) !== undefined,
100
+ onCheckoutReceivedAdditionalInfo: ((_primerSettings8 = primerSettings) === null || _primerSettings8 === void 0 ? void 0 : _primerSettings8.onCheckoutReceivedAdditionalInfo) !== undefined,
100
101
  onDismiss: false,
101
- onError: ((_primerSettings8 = primerSettings) === null || _primerSettings8 === void 0 ? void 0 : _primerSettings8.onError) !== undefined,
102
- onHUCAvailablePaymentMethodsLoaded: ((_primerSettings9 = primerSettings) === null || _primerSettings9 === void 0 ? void 0 : _primerSettings9.onAvailablePaymentMethodsLoad) !== undefined,
103
- onHUCPrepareStart: ((_primerSettings10 = primerSettings) === null || _primerSettings10 === void 0 ? void 0 : _primerSettings10.onPrepareStart) !== undefined,
104
- onHUCTokenizeStart: ((_primerSettings11 = primerSettings) === null || _primerSettings11 === void 0 ? void 0 : _primerSettings11.onTokenizeStart) !== undefined,
105
- onHUCPaymentMethodShow: ((_primerSettings12 = primerSettings) === null || _primerSettings12 === void 0 ? void 0 : _primerSettings12.onPaymentMethodShow) !== undefined
102
+ onError: ((_primerSettings9 = primerSettings) === null || _primerSettings9 === void 0 ? void 0 : _primerSettings9.onError) !== undefined,
103
+ onHUCAvailablePaymentMethodsLoaded: ((_primerSettings10 = primerSettings) === null || _primerSettings10 === void 0 ? void 0 : _primerSettings10.onAvailablePaymentMethodsLoad) !== undefined,
104
+ onHUCPrepareStart: ((_primerSettings11 = primerSettings) === null || _primerSettings11 === void 0 ? void 0 : _primerSettings11.onPrepareStart) !== undefined,
105
+ onHUCTokenizeStart: ((_primerSettings12 = primerSettings) === null || _primerSettings12 === void 0 ? void 0 : _primerSettings12.onTokenizeStart) !== undefined,
106
+ onHUCPaymentMethodShow: ((_primerSettings13 = primerSettings) === null || _primerSettings13 === void 0 ? void 0 : _primerSettings13.onPaymentMethodShow) !== undefined
106
107
  };
107
108
  await _RNPrimerHeadlessUniversalCheckout.default.setImplementedRNCallbacks(implementedRNCallbacks);
108
109
 
@@ -128,6 +129,16 @@ async function configureListeners() {
128
129
  });
129
130
  }
130
131
 
132
+ if (implementedRNCallbacks.onCheckoutReceivedAdditionalInfo) {
133
+ _RNPrimerHeadlessUniversalCheckout.default.addListener('onCheckoutReceivedAdditionalInfo', additionalInfo => {
134
+ if (primerSettings && primerSettings.onCheckoutReceivedAdditionalInfo) {
135
+ const checkoutAdditionalInfo = additionalInfo;
136
+ primerSettings.onCheckoutReceivedAdditionalInfo(checkoutAdditionalInfo);
137
+ } else {// Ignore!
138
+ }
139
+ });
140
+ }
141
+
131
142
  if (implementedRNCallbacks.onHUCPrepareStart) {
132
143
  _RNPrimerHeadlessUniversalCheckout.default.addListener('onHUCPrepareStart', data => {
133
144
  console.log('onHUCPrepareStart');