@primer-io/react-native 2.12.1 → 2.13.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 (45) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +9 -0
  3. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +4 -0
  4. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/PrimerRNRawRetailOutletData.kt +12 -0
  5. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +28 -0
  6. package/android/src/main/java/com/primerioreactnative/huc/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +36 -0
  7. package/ios/DataModels/RNTPrimerRetailerData.swift +38 -0
  8. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.m +2 -0
  9. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift +30 -0
  10. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +1 -1
  11. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
  12. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +3 -2
  13. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
  14. package/lib/commonjs/index.js +38 -0
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/models/PrimerInitializationData.js +6 -0
  17. package/lib/commonjs/models/PrimerInitializationData.js.map +1 -0
  18. package/lib/commonjs/models/RetailOutletsRetail.js +2 -0
  19. package/lib/commonjs/models/RetailOutletsRetail.js.map +1 -0
  20. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +1 -1
  21. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
  22. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +3 -2
  23. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
  24. package/lib/module/index.js +3 -2
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/module/models/PrimerInitializationData.js +2 -0
  27. package/lib/module/models/PrimerInitializationData.js.map +1 -0
  28. package/lib/module/models/RetailOutletsRetail.js +2 -0
  29. package/lib/module/models/RetailOutletsRetail.js.map +1 -0
  30. package/lib/typescript/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +2 -1
  31. package/lib/typescript/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +2 -1
  32. package/lib/typescript/src/index.d.ts +3 -2
  33. package/lib/typescript/src/models/PrimerCheckoutAdditionalInfo.d.ts +9 -0
  34. package/lib/typescript/src/models/PrimerInitializationData.d.ts +9 -0
  35. package/lib/typescript/src/models/PrimerRawData.d.ts +3 -0
  36. package/lib/typescript/src/models/RetailOutletsRetail.d.ts +8 -0
  37. package/package.json +1 -1
  38. package/primer-io-react-native.podspec +1 -1
  39. package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +3 -2
  40. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +4 -2
  41. package/src/index.tsx +10 -2
  42. package/src/models/PrimerCheckoutAdditionalInfo.ts +12 -0
  43. package/src/models/PrimerInitializationData.ts +11 -0
  44. package/src/models/PrimerRawData.ts +4 -0
  45. package/src/models/RetailOutletsRetail.ts +8 -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.12.1'
140
+ implementation 'io.primer:android:2.13.0'
141
141
  }
@@ -20,3 +20,12 @@ data class PromptPayCheckoutAdditionalInfoRN(
20
20
  val qrCodeUrl: String?,
21
21
  val qrCodeBase64: String?,
22
22
  ) : PrimerCheckoutQRCodeInfoRN()
23
+
24
+ sealed class PrimerCheckoutVoucherInfoRN : PrimerCheckoutAdditionalInfoRN()
25
+
26
+ @Serializable
27
+ data class XenditCheckoutVoucherAdditionalInfoRN(
28
+ val expiresAt: String,
29
+ val couponCode: String,
30
+ val retailerName: String?,
31
+ ) : PrimerCheckoutVoucherInfoRN()
@@ -2,14 +2,18 @@ package com.primerioreactnative.extensions
2
2
 
3
3
  import com.primerioreactnative.datamodels.MultibancoCheckoutAdditionalInfoRN
4
4
  import com.primerioreactnative.datamodels.PromptPayCheckoutAdditionalInfoRN
5
+ import com.primerioreactnative.datamodels.XenditCheckoutVoucherAdditionalInfoRN
5
6
  import io.primer.android.domain.payments.additionalInfo.MultibancoCheckoutAdditionalInfo
6
7
  import io.primer.android.domain.payments.additionalInfo.PrimerCheckoutAdditionalInfo
7
8
  import io.primer.android.domain.payments.additionalInfo.PromptPayCheckoutAdditionalInfo
9
+ import io.primer.android.domain.payments.additionalInfo.XenditCheckoutVoucherAdditionalInfo
8
10
 
9
11
  internal fun PrimerCheckoutAdditionalInfo.toCheckoutAdditionalInfoRN() = when (this) {
10
12
  is MultibancoCheckoutAdditionalInfo ->
11
13
  MultibancoCheckoutAdditionalInfoRN(expiresAt, reference, entity)
12
14
  is PromptPayCheckoutAdditionalInfo ->
13
15
  PromptPayCheckoutAdditionalInfoRN(expiresAt, qrCodeUrl, qrCodeBase64)
16
+ is XenditCheckoutVoucherAdditionalInfo ->
17
+ XenditCheckoutVoucherAdditionalInfoRN(expiresAt, couponCode, retailerName)
14
18
  else -> null
15
19
  }
@@ -0,0 +1,12 @@
1
+ package com.primerioreactnative.huc.datamodels.manager.raw.retailOutlets
2
+
3
+ import io.primer.android.components.domain.core.models.retailOutlet.PrimerRawRetailerData
4
+ import kotlinx.serialization.Serializable
5
+
6
+ @Serializable
7
+ internal data class PrimerRNRawRetailOutletData(
8
+ val id: String
9
+ ) {
10
+
11
+ fun toPrimerRawRetailOutletData() = PrimerRawRetailerData(id)
12
+ }
@@ -0,0 +1,28 @@
1
+ package com.primerioreactnative.huc.datamodels.manager.raw.retailOutlets
2
+
3
+ import io.primer.android.data.payments.configure.retailOutlets.RetailOutletsList
4
+ import kotlinx.serialization.Serializable
5
+
6
+ @Serializable
7
+ internal data class RNRetailOutletsList(
8
+ val result: List<RNRetailOutlet>
9
+ )
10
+
11
+ @Serializable
12
+ internal data class RNRetailOutlet(
13
+ val id: String,
14
+ val name: String,
15
+ val disabled: Boolean,
16
+ val iconUrl: String,
17
+ )
18
+
19
+ internal fun RetailOutletsList.toRNRetailOutletsList() = RNRetailOutletsList(
20
+ result.map {
21
+ RNRetailOutlet(
22
+ it.id,
23
+ it.name,
24
+ it.disabled,
25
+ it.iconUrl,
26
+ )
27
+ }
28
+ )
@@ -8,12 +8,15 @@ import com.primerioreactnative.datamodels.PrimerErrorRN
8
8
  import com.primerioreactnative.huc.datamodels.manager.raw.card.PrimerRNRawCardData
9
9
  import com.primerioreactnative.huc.datamodels.manager.raw.cardRedirect.PrimerRNRawBancontactCardData
10
10
  import com.primerioreactnative.huc.datamodels.manager.raw.phoneNumber.PrimerRNRawPhoneNumberData
11
+ import com.primerioreactnative.huc.datamodels.manager.raw.retailOutlets.PrimerRNRawRetailOutletData
12
+ import com.primerioreactnative.huc.datamodels.manager.raw.retailOutlets.toRNRetailOutletsList
11
13
  import com.primerioreactnative.huc.events.PrimerHeadlessUniversalCheckoutEvent
12
14
  import com.primerioreactnative.utils.convertJsonToMap
13
15
  import com.primerioreactnative.utils.errorTo
14
16
  import io.primer.android.ExperimentalPrimerApi
15
17
  import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManager
16
18
  import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManagerInterface
19
+ import io.primer.android.data.payments.configure.retailOutlets.RetailOutletsList
17
20
  import kotlinx.serialization.decodeFromString
18
21
  import kotlinx.serialization.encodeToString
19
22
  import kotlinx.serialization.json.Json
@@ -97,6 +100,9 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
97
100
  "ADYEN_BANCONTACT_CARD" -> json.decodeFromString<PrimerRNRawBancontactCardData>(
98
101
  rawDataStr
99
102
  ).toPrimerRawBancontactCardData()
103
+ "XENDIT_RETAIL_OUTLETS" -> json.decodeFromString<PrimerRNRawRetailOutletData>(
104
+ rawDataStr
105
+ ).toPrimerRawRetailOutletData()
100
106
  else -> throw IllegalArgumentException("")
101
107
  }
102
108
  rawManager.setRawData(rawData)
@@ -139,6 +145,36 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
139
145
  }
140
146
  }
141
147
 
148
+ @ReactMethod
149
+ fun configure(promise: Promise) {
150
+ if (::rawManager.isInitialized.not()) {
151
+ val exception =
152
+ ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
153
+ " has not been initialized. Make sure you have called the" +
154
+ " HeadlessUniversalCheckoutRawDataManager.configure function first."
155
+ promise.reject(exception.errorId, exception.description)
156
+ } else {
157
+ rawManager.configure { primerInitializationData, error ->
158
+ if (error == null) {
159
+ when (primerInitializationData) {
160
+ is RetailOutletsList -> {
161
+ promise.resolve(
162
+ prepareData(
163
+ JSONObject(
164
+ Json.encodeToString(
165
+ primerInitializationData.toRNRetailOutletsList()
166
+ )
167
+ )
168
+ )
169
+ )
170
+ }
171
+ else -> promise.resolve(null)
172
+ }
173
+ } else promise.reject(error.errorId, error.description)
174
+ }
175
+ }
176
+ }
177
+
142
178
  private fun sendEvent(name: String, params: WritableMap) {
143
179
  reactApplicationContext.getJSModule(
144
180
  DeviceEventManagerModule.RCTDeviceEventEmitter::class.java
@@ -0,0 +1,38 @@
1
+ //
2
+ // RNTPrimerPhoneNumberData.swift
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Dario Carlomagno on 19/10/22.
6
+ //
7
+
8
+ import Foundation
9
+ import PrimerSDK
10
+
11
+ extension PrimerRawRetailerData {
12
+
13
+ convenience init?(primerRawRetailerDataStr: String) {
14
+ do {
15
+ guard let data = primerRawRetailerDataStr.data(using: .utf8) else {
16
+ return nil
17
+ }
18
+
19
+ let json = try JSONSerialization.jsonObject(with: data)
20
+
21
+ guard let dict = json as? [String: String] else {
22
+ return nil
23
+ }
24
+
25
+ if let retailerId = dict["id"]
26
+ {
27
+ self.init(
28
+ id: retailerId)
29
+ } else {
30
+ return nil
31
+ }
32
+
33
+ } catch {
34
+ return nil
35
+ }
36
+ }
37
+
38
+ }
@@ -18,4 +18,6 @@ RCT_EXTERN_METHOD(setRawData:(NSString *)rawDataStr resolver:(RCTPromiseResolveB
18
18
 
19
19
  RCT_EXTERN_METHOD(submit:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
20
20
 
21
+ RCT_EXTERN_METHOD(configure:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
22
+
21
23
  @end
@@ -59,6 +59,30 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
59
59
  rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
60
60
  }
61
61
  }
62
+
63
+ @objc
64
+ public func configure(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
65
+
66
+ guard let rawDataManager = rawDataManager else {
67
+ let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "The PrimerHeadlessUniversalCheckoutRawDataManager has not been initialized. Make sure you have called the PrimerHeadlessUniversalCheckoutRawDataManager.initialize function first."])
68
+ rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
69
+ return
70
+ }
71
+
72
+ rawDataManager.configure { data, error in
73
+ do {
74
+ guard error == nil else {
75
+ rejecter(error!.rnError["errorId"]!, error!.rnError["description"], error)
76
+ return
77
+ }
78
+ let initializationData = try JSONEncoder().encode(data)
79
+ let initializationDataJson = try JSONSerialization.jsonObject(with: initializationData, options: .allowFragments)
80
+ resolver(["initializationData": initializationDataJson])
81
+ } catch {
82
+ rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
83
+ }
84
+ }
85
+ }
62
86
 
63
87
  @objc
64
88
  public func listRequiredInputElementTypesForPaymentMethodType(
@@ -106,6 +130,12 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
106
130
  return
107
131
  }
108
132
 
133
+ if let rawRetailerData = PrimerRawRetailerData(primerRawRetailerDataStr: rawDataStr) {
134
+ rawDataManager.rawData = rawRetailerData
135
+ resolver(nil)
136
+ return
137
+ }
138
+
109
139
  let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Failed to decode RawData on iOS. Make sure you're providing a valid 'PrimerRawData' (or any inherited) object"])
110
140
  rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
111
141
  }
@@ -72,7 +72,7 @@ class PrimerHeadlessUniversalCheckoutRawDataManagerClass {
72
72
  configure(options) {
73
73
  primerHeadlessUniversalCheckoutRawDataManagerOptions = options;
74
74
  configureListeners();
75
- return _RNPrimerHeadlessUniversalCheckoutRawDataManager.default.initialize(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);
75
+ return _RNPrimerHeadlessUniversalCheckoutRawDataManager.default.configure(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);
76
76
  }
77
77
 
78
78
  async getRequiredInputElementTypes() {
@@ -1 +1 @@
1
- {"version":3,"sources":["PrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["primerHeadlessUniversalCheckoutRawDataManagerOptions","configureListeners","Promise","resolve","reject","RNPrimerHeadlessUniversalCheckoutRawDataManager","removeAllListeners","addListener","data","onMetadataChange","onValidation","errors","errData","errorId","description","recoverySuggestion","primerError","PrimerError","push","isValid","length","undefined","primerSettings","onError","error","err","PrimerHeadlessUniversalCheckoutRawDataManagerClass","constructor","configure","options","initialize","paymentMethodType","getRequiredInputElementTypes","inputElementTypes","listRequiredInputElementTypesForPaymentMethodType","setRawData","rawData","JSON","stringify","submit","disposeRawDataManager","PrimerHeadlessUniversalCheckoutRawDataManager"],"mappings":"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","sourcesContent":["import type { PrimerRawData } from \"..\";\nimport RNPrimerHeadlessUniversalCheckoutRawDataManager from \"./RNPrimerHeadlessUniversalCheckoutRawDataManager\";\nimport { primerSettings } from \"./PrimerHeadlessUniversalCheckout\"\nimport { PrimerError } from '../models/PrimerError';\n\nlet primerHeadlessUniversalCheckoutRawDataManagerOptions: PrimerHeadlessUniversalCheckoutRawDataManagerOptions | undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListeners();\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onMetadataChange', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange) {\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange(data);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onValidation', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation) {\n let errors: PrimerError[] = [];\n for (const errData of (data.errors || [])) {\n const errorId: string = errData.errorId;\n const description: string | undefined = errData.description;\n const recoverySuggestion: string | undefined = errData.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n errors.push(primerError);\n }\n\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation(data.isValid, errors.length === 0 ? undefined : errors);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onNativeError', data => {\n if (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 primerSettings.onError(primerError, null, undefined);\n }\n });\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {\n paymentMethodType: string;\n onMetadataChange?: (metadata: any) => void;\n onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;\n}\n\nclass PrimerHeadlessUniversalCheckoutRawDataManagerClass {\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n\n configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<void> {\n primerHeadlessUniversalCheckoutRawDataManagerOptions = options;\n configureListeners();\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.initialize(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n }\n\n async getRequiredInputElementTypes(): Promise<string[]> {\n return new Promise(async (resolve, reject) => {\n if (\n primerHeadlessUniversalCheckoutRawDataManagerOptions &&\n primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType\n ) {\n try {\n const inputElementTypes = await RNPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n resolve(inputElementTypes);\n } catch (err) {\n reject(err);\n }\n } else {\n const err = new PrimerError(\"manager-not-configured\", \"HeadlessUniversalCheckoutRawDataManager has not been configured\", \"Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.\");\n reject(err);\n }\n })\n }\n\n setRawData(rawData: PrimerRawData): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));\n }\n\n submit(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();\n }\n\n disposeRawDataManager(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n }\n}\n\nexport const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();\n"]}
1
+ {"version":3,"sources":["PrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["primerHeadlessUniversalCheckoutRawDataManagerOptions","configureListeners","Promise","resolve","reject","RNPrimerHeadlessUniversalCheckoutRawDataManager","removeAllListeners","addListener","data","onMetadataChange","onValidation","errors","errData","errorId","description","recoverySuggestion","primerError","PrimerError","push","isValid","length","undefined","primerSettings","onError","error","err","PrimerHeadlessUniversalCheckoutRawDataManagerClass","constructor","configure","options","paymentMethodType","getRequiredInputElementTypes","inputElementTypes","listRequiredInputElementTypesForPaymentMethodType","setRawData","rawData","JSON","stringify","submit","disposeRawDataManager","PrimerHeadlessUniversalCheckoutRawDataManager"],"mappings":"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","sourcesContent":["import type { PrimerRawData } from \"..\";\nimport RNPrimerHeadlessUniversalCheckoutRawDataManager from \"./RNPrimerHeadlessUniversalCheckoutRawDataManager\";\nimport { primerSettings } from \"./PrimerHeadlessUniversalCheckout\"\nimport { PrimerError } from '../models/PrimerError';\nimport type { PrimerInitializationData } from \"src/models/PrimerInitializationData\";\n\nlet primerHeadlessUniversalCheckoutRawDataManagerOptions: PrimerHeadlessUniversalCheckoutRawDataManagerOptions | undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListeners();\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onMetadataChange', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange) {\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange(data);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onValidation', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation) {\n let errors: PrimerError[] = [];\n for (const errData of (data.errors || [])) {\n const errorId: string = errData.errorId;\n const description: string | undefined = errData.description;\n const recoverySuggestion: string | undefined = errData.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n errors.push(primerError);\n }\n\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation(data.isValid, errors.length === 0 ? undefined : errors);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onNativeError', data => {\n if (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 primerSettings.onError(primerError, null, undefined);\n }\n });\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {\n paymentMethodType: string;\n onMetadataChange?: (metadata: any) => void;\n onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;\n}\n\nclass PrimerHeadlessUniversalCheckoutRawDataManagerClass {\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n\n configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<PrimerInitializationData | null> {\n primerHeadlessUniversalCheckoutRawDataManagerOptions = options;\n configureListeners();\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.configure(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n }\n\n async getRequiredInputElementTypes(): Promise<string[]> {\n return new Promise(async (resolve, reject) => {\n if (\n primerHeadlessUniversalCheckoutRawDataManagerOptions &&\n primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType\n ) {\n try {\n const inputElementTypes = await RNPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n resolve(inputElementTypes);\n } catch (err) {\n reject(err);\n }\n } else {\n const err = new PrimerError(\"manager-not-configured\", \"HeadlessUniversalCheckoutRawDataManager has not been configured\", \"Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.\");\n reject(err);\n }\n })\n }\n\n setRawData(rawData: PrimerRawData): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));\n }\n\n submit(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();\n }\n\n disposeRawDataManager(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n }\n}\n\nexport const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();\n"]}
@@ -34,11 +34,12 @@ const RNPrimerHeadlessUniversalCheckoutRawDataManager = {
34
34
  ///////////////////////////////////////////
35
35
  // Native API
36
36
  ///////////////////////////////////////////
37
- initialize: paymentMethodType => {
37
+ configure: paymentMethodType => {
38
38
  return new Promise(async (resolve, reject) => {
39
39
  try {
40
40
  await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);
41
- resolve();
41
+ const initializationData = await PrimerHeadlessUniversalCheckoutRawDataManager.configure();
42
+ resolve(initializationData);
42
43
  } catch (e) {
43
44
  reject(e);
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["RNPrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["PrimerHeadlessUniversalCheckoutRawDataManager","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckoutRawDataManager","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","initialize","paymentMethodType","Promise","resolve","reject","e","listRequiredInputElementTypesForPaymentMethodType","res","inputElementTypes","setRawData","rawData","submit","disposeRawDataManager"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckoutRawDataManager);\n\ntype EventType =\n | 'onMetadataChange'\n | 'onValidation'\n | 'onNativeError';\n\nconst eventTypes: EventType[] = [\n 'onMetadataChange',\n 'onValidation',\n 'onNativeError'\n];\n\nconst RNPrimerHeadlessUniversalCheckoutRawDataManager = {\n\n ///////////////////////////////////////////\n // Event Emitter\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) => RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n\n initialize: (paymentMethodType: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string): Promise<string[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const res = await PrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(paymentMethodType);\n if (res.inputElementTypes) {\n resolve(res.inputElementTypes);\n } else {\n resolve([])\n }\n } catch (e) {\n reject(e);\n }\n });\n },\n\n setRawData: (rawData: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.setRawData(rawData);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n submit: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.submit();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n disposeRawDataManager: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n}\n\nexport default RNPrimerHeadlessUniversalCheckoutRawDataManager;\n"]}
1
+ {"version":3,"sources":["RNPrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["PrimerHeadlessUniversalCheckoutRawDataManager","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckoutRawDataManager","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","configure","paymentMethodType","Promise","resolve","reject","initialize","initializationData","e","listRequiredInputElementTypesForPaymentMethodType","res","inputElementTypes","setRawData","rawData","submit","disposeRawDataManager"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\nimport type { PrimerInitializationData } from 'src/models/PrimerInitializationData';\n\nconst { PrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckoutRawDataManager);\n\ntype EventType =\n | 'onMetadataChange'\n | 'onValidation'\n | 'onNativeError';\n\nconst eventTypes: EventType[] = [\n 'onMetadataChange',\n 'onValidation',\n 'onNativeError'\n];\n\nconst RNPrimerHeadlessUniversalCheckoutRawDataManager = {\n\n ///////////////////////////////////////////\n // Event Emitter\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) => RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n\n configure: (paymentMethodType: string): Promise<PrimerInitializationData | null> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);\n const initializationData: PrimerInitializationData = await PrimerHeadlessUniversalCheckoutRawDataManager.configure();\n resolve(initializationData);\n } catch (e) {\n reject(e);\n }\n });\n },\n\n listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string): Promise<string[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const res = await PrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(paymentMethodType);\n if (res.inputElementTypes) {\n resolve(res.inputElementTypes);\n } else {\n resolve([])\n }\n } catch (e) {\n reject(e);\n }\n });\n },\n\n setRawData: (rawData: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.setRawData(rawData);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n submit: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.submit();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n disposeRawDataManager: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n}\n\nexport default RNPrimerHeadlessUniversalCheckoutRawDataManager;\n"]}
@@ -63,6 +63,18 @@ Object.defineProperty(exports, "PrimerCheckoutPaymentMethodData", {
63
63
  return _PrimerCheckoutPaymentMethodData.PrimerCheckoutPaymentMethodData;
64
64
  }
65
65
  });
66
+ Object.defineProperty(exports, "PrimerCheckoutQRCodeInfo", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _PrimerCheckoutAdditionalInfo.PrimerCheckoutQRCodeInfo;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "PrimerCheckoutVoucherAdditionalInfo", {
73
+ enumerable: true,
74
+ get: function () {
75
+ return _PrimerCheckoutAdditionalInfo.PrimerCheckoutVoucherAdditionalInfo;
76
+ }
77
+ });
66
78
  Object.defineProperty(exports, "PrimerClientSession", {
67
79
  enumerable: true,
68
80
  get: function () {
@@ -135,6 +147,12 @@ Object.defineProperty(exports, "PrimerRawPhoneNumberData", {
135
147
  return _PrimerRawData.PrimerRawPhoneNumberData;
136
148
  }
137
149
  });
150
+ Object.defineProperty(exports, "PrimerRawRetailerData", {
151
+ enumerable: true,
152
+ get: function () {
153
+ return _PrimerRawData.PrimerRawRetailerData;
154
+ }
155
+ });
138
156
  Object.defineProperty(exports, "PrimerResumeHandler", {
139
157
  enumerable: true,
140
158
  get: function () {
@@ -159,6 +177,24 @@ Object.defineProperty(exports, "PrimerTokenizationHandler", {
159
177
  return _PrimerInterfaces.PrimerTokenizationHandler;
160
178
  }
161
179
  });
180
+ Object.defineProperty(exports, "PromptPayCheckoutAdditionalInfo", {
181
+ enumerable: true,
182
+ get: function () {
183
+ return _PrimerCheckoutAdditionalInfo.PromptPayCheckoutAdditionalInfo;
184
+ }
185
+ });
186
+ Object.defineProperty(exports, "RetailOutletsRetail", {
187
+ enumerable: true,
188
+ get: function () {
189
+ return _RetailOutletsRetail.RetailOutletsRetail;
190
+ }
191
+ });
192
+ Object.defineProperty(exports, "XenditCheckoutVoucherAdditionalInfo", {
193
+ enumerable: true,
194
+ get: function () {
195
+ return _PrimerCheckoutAdditionalInfo.XenditCheckoutVoucherAdditionalInfo;
196
+ }
197
+ });
162
198
 
163
199
  var _Primer = require("./Primer");
164
200
 
@@ -176,6 +212,8 @@ var _PrimerRawData = require("./models/PrimerRawData");
176
212
 
177
213
  var _PrimerCheckoutAdditionalInfo = require("./models/PrimerCheckoutAdditionalInfo");
178
214
 
215
+ var _RetailOutletsRetail = require("./models/RetailOutletsRetail");
216
+
179
217
  var _PrimerCheckoutData = require("./models/PrimerCheckoutData");
180
218
 
181
219
  var _PrimerCheckoutPaymentMethodData = require("./models/PrimerCheckoutPaymentMethodData");
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAGA;;AAGA;;AAGA;;AAMA;;AACA;;AAOA;;AAOA;;AAIA;;AAIA;;AAGA;;AAGA;;AAGA","sourcesContent":["export {\n Primer\n} from './Primer';\nexport {\n PrimerSettings\n} from './models/PrimerSettings';\nexport {\n PrimerSessionIntent\n} from './models/PrimerSessionIntent';\nexport {\n PrimerPaymentCreationHandler,\n PrimerTokenizationHandler,\n PrimerResumeHandler,\n PrimerErrorHandler,\n} from './models/PrimerInterfaces';\nexport { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';\nexport {\n PrimerClientSession,\n PrimerOrder,\n PrimerLineItem,\n PrimerCustomer,\n PrimerAddress,\n} from './models/PrimerClientSession';\nexport {\n PrimerRawData,\n PrimerRawCardData,\n PrimerRawPhoneNumberData,\n PrimerRawCardRedirectData,\n PrimerBancontactCardRedirectData\n} from './models/PrimerRawData';\nexport {\n PrimerCheckoutAdditionalInfo,\n MultibancoCheckoutAdditionalInfo\n} from './models/PrimerCheckoutAdditionalInfo';\nexport {\n PrimerCheckoutData,\n PrimerCheckoutDataPayment,\n} from './models/PrimerCheckoutData';\nexport {\n PrimerCheckoutPaymentMethodData\n} from './models/PrimerCheckoutPaymentMethodData';\nexport {\n PrimerError\n} from './models/PrimerError';\nexport {\n PrimerHeadlessUniversalCheckout as HeadlessUniversalCheckout\n} from './headless_checkout/PrimerHeadlessUniversalCheckout';\nexport {\n PrimerHeadlessUniversalCheckoutRawDataManager as HeadlessUniversalCheckoutRawDataManager\n} from './headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager';\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAGA;;AAGA;;AAGA;;AAMA;;AACA;;AAOA;;AAQA;;AAQA;;AAGA;;AAIA;;AAGA;;AAGA;;AAGA","sourcesContent":["export {\n Primer\n} from './Primer';\nexport {\n PrimerSettings\n} from './models/PrimerSettings';\nexport {\n PrimerSessionIntent\n} from './models/PrimerSessionIntent';\nexport {\n PrimerPaymentCreationHandler,\n PrimerTokenizationHandler,\n PrimerResumeHandler,\n PrimerErrorHandler,\n} from './models/PrimerInterfaces';\nexport { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';\nexport {\n PrimerClientSession,\n PrimerOrder,\n PrimerLineItem,\n PrimerCustomer,\n PrimerAddress,\n} from './models/PrimerClientSession';\nexport {\n PrimerRawData,\n PrimerRawCardData,\n PrimerRawPhoneNumberData,\n PrimerRawCardRedirectData,\n PrimerBancontactCardRedirectData,\n PrimerRawRetailerData\n} from './models/PrimerRawData';\nexport {\n PrimerCheckoutAdditionalInfo,\n MultibancoCheckoutAdditionalInfo,\n PrimerCheckoutVoucherAdditionalInfo,\n XenditCheckoutVoucherAdditionalInfo,\n PrimerCheckoutQRCodeInfo,\n PromptPayCheckoutAdditionalInfo\n} from './models/PrimerCheckoutAdditionalInfo';\nexport {\n RetailOutletsRetail\n} from './models/RetailOutletsRetail';\nexport {\n PrimerCheckoutData,\n PrimerCheckoutDataPayment,\n} from './models/PrimerCheckoutData';\nexport {\n PrimerCheckoutPaymentMethodData\n} from './models/PrimerCheckoutPaymentMethodData';\nexport {\n PrimerError\n} from './models/PrimerError';\nexport {\n PrimerHeadlessUniversalCheckout as HeadlessUniversalCheckout\n} from './headless_checkout/PrimerHeadlessUniversalCheckout';\nexport {\n PrimerHeadlessUniversalCheckoutRawDataManager as HeadlessUniversalCheckoutRawDataManager\n} from './headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager';\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=PrimerInitializationData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=RetailOutletsRetail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -55,7 +55,7 @@ class PrimerHeadlessUniversalCheckoutRawDataManagerClass {
55
55
  configure(options) {
56
56
  primerHeadlessUniversalCheckoutRawDataManagerOptions = options;
57
57
  configureListeners();
58
- return RNPrimerHeadlessUniversalCheckoutRawDataManager.initialize(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);
58
+ return RNPrimerHeadlessUniversalCheckoutRawDataManager.configure(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);
59
59
  }
60
60
 
61
61
  async getRequiredInputElementTypes() {
@@ -1 +1 @@
1
- {"version":3,"sources":["PrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["RNPrimerHeadlessUniversalCheckoutRawDataManager","primerSettings","PrimerError","primerHeadlessUniversalCheckoutRawDataManagerOptions","configureListeners","Promise","resolve","reject","removeAllListeners","addListener","data","onMetadataChange","onValidation","errors","errData","errorId","description","recoverySuggestion","primerError","push","isValid","length","undefined","onError","error","err","PrimerHeadlessUniversalCheckoutRawDataManagerClass","constructor","configure","options","initialize","paymentMethodType","getRequiredInputElementTypes","inputElementTypes","listRequiredInputElementTypesForPaymentMethodType","setRawData","rawData","JSON","stringify","submit","disposeRawDataManager","PrimerHeadlessUniversalCheckoutRawDataManager"],"mappings":"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","sourcesContent":["import type { PrimerRawData } from \"..\";\nimport RNPrimerHeadlessUniversalCheckoutRawDataManager from \"./RNPrimerHeadlessUniversalCheckoutRawDataManager\";\nimport { primerSettings } from \"./PrimerHeadlessUniversalCheckout\"\nimport { PrimerError } from '../models/PrimerError';\n\nlet primerHeadlessUniversalCheckoutRawDataManagerOptions: PrimerHeadlessUniversalCheckoutRawDataManagerOptions | undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListeners();\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onMetadataChange', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange) {\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange(data);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onValidation', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation) {\n let errors: PrimerError[] = [];\n for (const errData of (data.errors || [])) {\n const errorId: string = errData.errorId;\n const description: string | undefined = errData.description;\n const recoverySuggestion: string | undefined = errData.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n errors.push(primerError);\n }\n\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation(data.isValid, errors.length === 0 ? undefined : errors);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onNativeError', data => {\n if (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 primerSettings.onError(primerError, null, undefined);\n }\n });\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {\n paymentMethodType: string;\n onMetadataChange?: (metadata: any) => void;\n onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;\n}\n\nclass PrimerHeadlessUniversalCheckoutRawDataManagerClass {\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n\n configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<void> {\n primerHeadlessUniversalCheckoutRawDataManagerOptions = options;\n configureListeners();\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.initialize(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n }\n\n async getRequiredInputElementTypes(): Promise<string[]> {\n return new Promise(async (resolve, reject) => {\n if (\n primerHeadlessUniversalCheckoutRawDataManagerOptions &&\n primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType\n ) {\n try {\n const inputElementTypes = await RNPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n resolve(inputElementTypes);\n } catch (err) {\n reject(err);\n }\n } else {\n const err = new PrimerError(\"manager-not-configured\", \"HeadlessUniversalCheckoutRawDataManager has not been configured\", \"Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.\");\n reject(err);\n }\n })\n }\n\n setRawData(rawData: PrimerRawData): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));\n }\n\n submit(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();\n }\n\n disposeRawDataManager(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n }\n}\n\nexport const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();\n"]}
1
+ {"version":3,"sources":["PrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["RNPrimerHeadlessUniversalCheckoutRawDataManager","primerSettings","PrimerError","primerHeadlessUniversalCheckoutRawDataManagerOptions","configureListeners","Promise","resolve","reject","removeAllListeners","addListener","data","onMetadataChange","onValidation","errors","errData","errorId","description","recoverySuggestion","primerError","push","isValid","length","undefined","onError","error","err","PrimerHeadlessUniversalCheckoutRawDataManagerClass","constructor","configure","options","paymentMethodType","getRequiredInputElementTypes","inputElementTypes","listRequiredInputElementTypesForPaymentMethodType","setRawData","rawData","JSON","stringify","submit","disposeRawDataManager","PrimerHeadlessUniversalCheckoutRawDataManager"],"mappings":"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","sourcesContent":["import type { PrimerRawData } from \"..\";\nimport RNPrimerHeadlessUniversalCheckoutRawDataManager from \"./RNPrimerHeadlessUniversalCheckoutRawDataManager\";\nimport { primerSettings } from \"./PrimerHeadlessUniversalCheckout\"\nimport { PrimerError } from '../models/PrimerError';\nimport type { PrimerInitializationData } from \"src/models/PrimerInitializationData\";\n\nlet primerHeadlessUniversalCheckoutRawDataManagerOptions: PrimerHeadlessUniversalCheckoutRawDataManagerOptions | undefined;\n\nasync function configureListeners(): Promise<void> {\n return new Promise(async (resolve, reject) => {\n try {\n RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListeners();\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onMetadataChange', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange) {\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onMetadataChange(data);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onValidation', data => {\n if (primerHeadlessUniversalCheckoutRawDataManagerOptions && primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation) {\n let errors: PrimerError[] = [];\n for (const errData of (data.errors || [])) {\n const errorId: string = errData.errorId;\n const description: string | undefined = errData.description;\n const recoverySuggestion: string | undefined = errData.recoverySuggestion;\n const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);\n errors.push(primerError);\n }\n\n primerHeadlessUniversalCheckoutRawDataManagerOptions.onValidation(data.isValid, errors.length === 0 ? undefined : errors);\n }\n });\n\n RNPrimerHeadlessUniversalCheckoutRawDataManager.addListener('onNativeError', data => {\n if (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 primerSettings.onError(primerError, null, undefined);\n }\n });\n resolve();\n\n } catch (err) {\n reject(err);\n }\n });\n}\n\nexport interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {\n paymentMethodType: string;\n onMetadataChange?: (metadata: any) => void;\n onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;\n}\n\nclass PrimerHeadlessUniversalCheckoutRawDataManagerClass {\n\n ///////////////////////////////////////////\n // Init\n ///////////////////////////////////////////\n constructor() {\n\n }\n\n ///////////////////////////////////////////\n // API\n ///////////////////////////////////////////\n\n configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<PrimerInitializationData | null> {\n primerHeadlessUniversalCheckoutRawDataManagerOptions = options;\n configureListeners();\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.configure(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n }\n\n async getRequiredInputElementTypes(): Promise<string[]> {\n return new Promise(async (resolve, reject) => {\n if (\n primerHeadlessUniversalCheckoutRawDataManagerOptions &&\n primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType\n ) {\n try {\n const inputElementTypes = await RNPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);\n resolve(inputElementTypes);\n } catch (err) {\n reject(err);\n }\n } else {\n const err = new PrimerError(\"manager-not-configured\", \"HeadlessUniversalCheckoutRawDataManager has not been configured\", \"Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.\");\n reject(err);\n }\n })\n }\n\n setRawData(rawData: PrimerRawData): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));\n }\n\n submit(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.submit();\n }\n\n disposeRawDataManager(): Promise<void> {\n return RNPrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n }\n}\n\nexport const PrimerHeadlessUniversalCheckoutRawDataManager = new PrimerHeadlessUniversalCheckoutRawDataManagerClass();\n"]}
@@ -26,11 +26,12 @@ const RNPrimerHeadlessUniversalCheckoutRawDataManager = {
26
26
  ///////////////////////////////////////////
27
27
  // Native API
28
28
  ///////////////////////////////////////////
29
- initialize: paymentMethodType => {
29
+ configure: paymentMethodType => {
30
30
  return new Promise(async (resolve, reject) => {
31
31
  try {
32
32
  await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);
33
- resolve();
33
+ const initializationData = await PrimerHeadlessUniversalCheckoutRawDataManager.configure();
34
+ resolve(initializationData);
34
35
  } catch (e) {
35
36
  reject(e);
36
37
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["RNPrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["NativeEventEmitter","NativeModules","PrimerHeadlessUniversalCheckoutRawDataManager","eventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckoutRawDataManager","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","initialize","paymentMethodType","Promise","resolve","reject","e","listRequiredInputElementTypesForPaymentMethodType","res","inputElementTypes","setRawData","rawData","submit","disposeRawDataManager"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { PrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckoutRawDataManager);\n\ntype EventType =\n | 'onMetadataChange'\n | 'onValidation'\n | 'onNativeError';\n\nconst eventTypes: EventType[] = [\n 'onMetadataChange',\n 'onValidation',\n 'onNativeError'\n];\n\nconst RNPrimerHeadlessUniversalCheckoutRawDataManager = {\n\n ///////////////////////////////////////////\n // Event Emitter\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) => RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n\n initialize: (paymentMethodType: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string): Promise<string[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const res = await PrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(paymentMethodType);\n if (res.inputElementTypes) {\n resolve(res.inputElementTypes);\n } else {\n resolve([])\n }\n } catch (e) {\n reject(e);\n }\n });\n },\n\n setRawData: (rawData: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.setRawData(rawData);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n submit: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.submit();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n disposeRawDataManager: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n}\n\nexport default RNPrimerHeadlessUniversalCheckoutRawDataManager;\n"]}
1
+ {"version":3,"sources":["RNPrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["NativeEventEmitter","NativeModules","PrimerHeadlessUniversalCheckoutRawDataManager","eventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckoutRawDataManager","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","configure","paymentMethodType","Promise","resolve","reject","initialize","initializationData","e","listRequiredInputElementTypesForPaymentMethodType","res","inputElementTypes","setRawData","rawData","submit","disposeRawDataManager"],"mappings":"AAAA,SAASA,kBAAT,EAA6BC,aAA7B,QAAkD,cAAlD;AAGA,MAAM;AAAEC,EAAAA;AAAF,IAAoDD,aAA1D;AACA,MAAME,YAAY,GAAG,IAAIH,kBAAJ,CAAuBE,6CAAvB,CAArB;AAOA,MAAME,UAAuB,GAAG,CAC5B,kBAD4B,EAE5B,cAF4B,EAG5B,eAH4B,CAAhC;AAMA,MAAMC,+CAA+C,GAAG;AAEpD;AACA;AACA;AACAC,EAAAA,WAAW,EAAE,CAACC,SAAD,EAAuBC,QAAvB,KAA6D;AACtEL,IAAAA,YAAY,CAACG,WAAb,CAAyBC,SAAzB,EAAoCC,QAApC;AACH,GAPmD;AASpDC,EAAAA,cAAc,EAAE,CAACF,SAAD,EAAuBC,QAAvB,KAA6D;AACzEL,IAAAA,YAAY,CAACM,cAAb,CAA4BF,SAA5B,EAAuCC,QAAvC;AACH,GAXmD;;AAapDE,EAAAA,0BAA0B,CAACH,SAAD,EAAuB;AAC7CJ,IAAAA,YAAY,CAACQ,kBAAb,CAAgCJ,SAAhC;AACH,GAfmD;;AAiBpDI,EAAAA,kBAAkB,GAAG;AACjBP,IAAAA,UAAU,CAACQ,OAAX,CAAoBL,SAAD,IAAeF,+CAA+C,CAACK,0BAAhD,CAA2EH,SAA3E,CAAlC;AACH,GAnBmD;;AAqBpD;AACA;AACA;AAEAM,EAAAA,SAAS,EAAGC,iBAAD,IAAyE;AAChF,WAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMf,6CAA6C,CAACgB,UAA9C,CAAyDJ,iBAAzD,CAAN;AACA,cAAMK,kBAA4C,GAAG,MAAMjB,6CAA6C,CAACW,SAA9C,EAA3D;AACAG,QAAAA,OAAO,CAACG,kBAAD,CAAP;AACH,OAJD,CAIE,OAAOC,CAAP,EAAU;AACRH,QAAAA,MAAM,CAACG,CAAD,CAAN;AACH;AACJ,KARM,CAAP;AASH,GAnCmD;AAqCpDC,EAAAA,iDAAiD,EAAGP,iBAAD,IAAkD;AACjG,WAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMK,GAAG,GAAG,MAAMpB,6CAA6C,CAACmB,iDAA9C,CAAgGP,iBAAhG,CAAlB;;AACA,YAAIQ,GAAG,CAACC,iBAAR,EAA2B;AACvBP,UAAAA,OAAO,CAACM,GAAG,CAACC,iBAAL,CAAP;AACH,SAFD,MAEO;AACHP,UAAAA,OAAO,CAAC,EAAD,CAAP;AACH;AACJ,OAPD,CAOE,OAAOI,CAAP,EAAU;AACRH,QAAAA,MAAM,CAACG,CAAD,CAAN;AACH;AACJ,KAXM,CAAP;AAYH,GAlDmD;AAoDpDI,EAAAA,UAAU,EAAGC,OAAD,IAAoC;AAC5C,WAAO,IAAIV,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMf,6CAA6C,CAACsB,UAA9C,CAAyDC,OAAzD,CAAN;AACAT,QAAAA,OAAO;AACV,OAHD,CAGE,OAAOI,CAAP,EAAU;AACRH,QAAAA,MAAM,CAACG,CAAD,CAAN;AACH;AACJ,KAPM,CAAP;AAQH,GA7DmD;AA+DpDM,EAAAA,MAAM,EAAE,MAAqB;AACzB,WAAO,IAAIX,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACA,cAAMf,6CAA6C,CAACwB,MAA9C,EAAN;AACAV,QAAAA,OAAO;AACV,OAHD,CAGE,OAAOI,CAAP,EAAU;AACRH,QAAAA,MAAM,CAACG,CAAD,CAAN;AACH;AACJ,KAPM,CAAP;AAQH,GAxEmD;AA0EpDO,EAAAA,qBAAqB,EAAE,MAAqB;AACxC,WAAO,IAAIZ,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UAAI;AACC,cAAMf,6CAA6C,CAACyB,qBAA9C,EAAN;AACAX,QAAAA,OAAO;AACX,OAHD,CAGE,OAAOI,CAAP,EAAU;AACPH,QAAAA,MAAM,CAACG,CAAD,CAAN;AACJ;AACH,KAPK,CAAP;AAQH;AAnFmD,CAAxD;AAsFA,eAAef,+CAAf","sourcesContent":["import { NativeEventEmitter, NativeModules } from 'react-native';\nimport type { PrimerInitializationData } from 'src/models/PrimerInitializationData';\n\nconst { PrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;\nconst eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckoutRawDataManager);\n\ntype EventType =\n | 'onMetadataChange'\n | 'onValidation'\n | 'onNativeError';\n\nconst eventTypes: EventType[] = [\n 'onMetadataChange',\n 'onValidation',\n 'onNativeError'\n];\n\nconst RNPrimerHeadlessUniversalCheckoutRawDataManager = {\n\n ///////////////////////////////////////////\n // Event Emitter\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) => RNPrimerHeadlessUniversalCheckoutRawDataManager.removeAllListenersForEvent(eventType));\n },\n\n ///////////////////////////////////////////\n // Native API\n ///////////////////////////////////////////\n\n configure: (paymentMethodType: string): Promise<PrimerInitializationData | null> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);\n const initializationData: PrimerInitializationData = await PrimerHeadlessUniversalCheckoutRawDataManager.configure();\n resolve(initializationData);\n } catch (e) {\n reject(e);\n }\n });\n },\n\n listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string): Promise<string[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const res = await PrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypesForPaymentMethodType(paymentMethodType);\n if (res.inputElementTypes) {\n resolve(res.inputElementTypes);\n } else {\n resolve([])\n }\n } catch (e) {\n reject(e);\n }\n });\n },\n\n setRawData: (rawData: string): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.setRawData(rawData);\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n submit: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.submit();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n disposeRawDataManager: (): Promise<void> => {\n return new Promise(async (resolve, reject) => {\n try {\n await PrimerHeadlessUniversalCheckoutRawDataManager.disposeRawDataManager();\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n}\n\nexport default RNPrimerHeadlessUniversalCheckoutRawDataManager;\n"]}
@@ -4,8 +4,9 @@ export { PrimerSessionIntent } from './models/PrimerSessionIntent';
4
4
  export { PrimerPaymentCreationHandler, PrimerTokenizationHandler, PrimerResumeHandler, PrimerErrorHandler } from './models/PrimerInterfaces';
5
5
  export { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';
6
6
  export { PrimerClientSession, PrimerOrder, PrimerLineItem, PrimerCustomer, PrimerAddress } from './models/PrimerClientSession';
7
- export { PrimerRawData, PrimerRawCardData, PrimerRawPhoneNumberData, PrimerRawCardRedirectData, PrimerBancontactCardRedirectData } from './models/PrimerRawData';
8
- export { PrimerCheckoutAdditionalInfo, MultibancoCheckoutAdditionalInfo } from './models/PrimerCheckoutAdditionalInfo';
7
+ export { PrimerRawData, PrimerRawCardData, PrimerRawPhoneNumberData, PrimerRawCardRedirectData, PrimerBancontactCardRedirectData, PrimerRawRetailerData } from './models/PrimerRawData';
8
+ export { PrimerCheckoutAdditionalInfo, MultibancoCheckoutAdditionalInfo, PrimerCheckoutVoucherAdditionalInfo, XenditCheckoutVoucherAdditionalInfo, PrimerCheckoutQRCodeInfo, PromptPayCheckoutAdditionalInfo } from './models/PrimerCheckoutAdditionalInfo';
9
+ export { RetailOutletsRetail } from './models/RetailOutletsRetail';
9
10
  export { PrimerCheckoutData, PrimerCheckoutDataPayment } from './models/PrimerCheckoutData';
10
11
  export { PrimerCheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';
11
12
  export { PrimerError } from './models/PrimerError';
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["Primer","PrimerSettings","PrimerSessionIntent","PrimerPaymentCreationHandler","PrimerTokenizationHandler","PrimerResumeHandler","PrimerErrorHandler","PrimerPaymentMethodTokenData","PrimerClientSession","PrimerOrder","PrimerLineItem","PrimerCustomer","PrimerAddress","PrimerRawData","PrimerRawCardData","PrimerRawPhoneNumberData","PrimerRawCardRedirectData","PrimerBancontactCardRedirectData","PrimerCheckoutAdditionalInfo","MultibancoCheckoutAdditionalInfo","PrimerCheckoutData","PrimerCheckoutDataPayment","PrimerCheckoutPaymentMethodData","PrimerError","PrimerHeadlessUniversalCheckout","HeadlessUniversalCheckout","PrimerHeadlessUniversalCheckoutRawDataManager","HeadlessUniversalCheckoutRawDataManager"],"mappings":"AAAA,SACIA,MADJ,QAEO,UAFP;AAGA,SACIC,cADJ,QAEO,yBAFP;AAGA,SACIC,mBADJ,QAEO,8BAFP;AAGA,SACIC,4BADJ,EAEIC,yBAFJ,EAGIC,mBAHJ,EAIIC,kBAJJ,QAKO,2BALP;AAMA,SAASC,4BAAT,QAA6C,uCAA7C;AACA,SACIC,mBADJ,EAEIC,WAFJ,EAGIC,cAHJ,EAIIC,cAJJ,EAKIC,aALJ,QAMO,8BANP;AAOA,SACIC,aADJ,EAEIC,iBAFJ,EAGIC,wBAHJ,EAIIC,yBAJJ,EAKIC,gCALJ,QAMO,wBANP;AAOA,SACIC,4BADJ,EAEIC,gCAFJ,QAGO,uCAHP;AAIA,SACIC,kBADJ,EAEIC,yBAFJ,QAGO,6BAHP;AAIA,SACIC,+BADJ,QAEO,0CAFP;AAGA,SACIC,WADJ,QAEO,sBAFP;AAGA,SACIC,+BAA+B,IAAIC,yBADvC,QAEO,qDAFP;AAGA,SACIC,6CAA6C,IAAIC,uCADrD,QAEO,mEAFP","sourcesContent":["export {\n Primer\n} from './Primer';\nexport {\n PrimerSettings\n} from './models/PrimerSettings';\nexport {\n PrimerSessionIntent\n} from './models/PrimerSessionIntent';\nexport {\n PrimerPaymentCreationHandler,\n PrimerTokenizationHandler,\n PrimerResumeHandler,\n PrimerErrorHandler,\n} from './models/PrimerInterfaces';\nexport { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';\nexport {\n PrimerClientSession,\n PrimerOrder,\n PrimerLineItem,\n PrimerCustomer,\n PrimerAddress,\n} from './models/PrimerClientSession';\nexport {\n PrimerRawData,\n PrimerRawCardData,\n PrimerRawPhoneNumberData,\n PrimerRawCardRedirectData,\n PrimerBancontactCardRedirectData\n} from './models/PrimerRawData';\nexport {\n PrimerCheckoutAdditionalInfo,\n MultibancoCheckoutAdditionalInfo\n} from './models/PrimerCheckoutAdditionalInfo';\nexport {\n PrimerCheckoutData,\n PrimerCheckoutDataPayment,\n} from './models/PrimerCheckoutData';\nexport {\n PrimerCheckoutPaymentMethodData\n} from './models/PrimerCheckoutPaymentMethodData';\nexport {\n PrimerError\n} from './models/PrimerError';\nexport {\n PrimerHeadlessUniversalCheckout as HeadlessUniversalCheckout\n} from './headless_checkout/PrimerHeadlessUniversalCheckout';\nexport {\n PrimerHeadlessUniversalCheckoutRawDataManager as HeadlessUniversalCheckoutRawDataManager\n} from './headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager';\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":["Primer","PrimerSettings","PrimerSessionIntent","PrimerPaymentCreationHandler","PrimerTokenizationHandler","PrimerResumeHandler","PrimerErrorHandler","PrimerPaymentMethodTokenData","PrimerClientSession","PrimerOrder","PrimerLineItem","PrimerCustomer","PrimerAddress","PrimerRawData","PrimerRawCardData","PrimerRawPhoneNumberData","PrimerRawCardRedirectData","PrimerBancontactCardRedirectData","PrimerRawRetailerData","PrimerCheckoutAdditionalInfo","MultibancoCheckoutAdditionalInfo","PrimerCheckoutVoucherAdditionalInfo","XenditCheckoutVoucherAdditionalInfo","PrimerCheckoutQRCodeInfo","PromptPayCheckoutAdditionalInfo","RetailOutletsRetail","PrimerCheckoutData","PrimerCheckoutDataPayment","PrimerCheckoutPaymentMethodData","PrimerError","PrimerHeadlessUniversalCheckout","HeadlessUniversalCheckout","PrimerHeadlessUniversalCheckoutRawDataManager","HeadlessUniversalCheckoutRawDataManager"],"mappings":"AAAA,SACIA,MADJ,QAEO,UAFP;AAGA,SACIC,cADJ,QAEO,yBAFP;AAGA,SACIC,mBADJ,QAEO,8BAFP;AAGA,SACIC,4BADJ,EAEIC,yBAFJ,EAGIC,mBAHJ,EAIIC,kBAJJ,QAKO,2BALP;AAMA,SAASC,4BAAT,QAA6C,uCAA7C;AACA,SACIC,mBADJ,EAEIC,WAFJ,EAGIC,cAHJ,EAIIC,cAJJ,EAKIC,aALJ,QAMO,8BANP;AAOA,SACIC,aADJ,EAEIC,iBAFJ,EAGIC,wBAHJ,EAIIC,yBAJJ,EAKIC,gCALJ,EAMIC,qBANJ,QAOO,wBAPP;AAQA,SACIC,4BADJ,EAEIC,gCAFJ,EAGIC,mCAHJ,EAIIC,mCAJJ,EAKIC,wBALJ,EAMIC,+BANJ,QAOO,uCAPP;AAQA,SACIC,mBADJ,QAEO,8BAFP;AAGA,SACIC,kBADJ,EAEIC,yBAFJ,QAGO,6BAHP;AAIA,SACIC,+BADJ,QAEO,0CAFP;AAGA,SACIC,WADJ,QAEO,sBAFP;AAGA,SACIC,+BAA+B,IAAIC,yBADvC,QAEO,qDAFP;AAGA,SACIC,6CAA6C,IAAIC,uCADrD,QAEO,mEAFP","sourcesContent":["export {\n Primer\n} from './Primer';\nexport {\n PrimerSettings\n} from './models/PrimerSettings';\nexport {\n PrimerSessionIntent\n} from './models/PrimerSessionIntent';\nexport {\n PrimerPaymentCreationHandler,\n PrimerTokenizationHandler,\n PrimerResumeHandler,\n PrimerErrorHandler,\n} from './models/PrimerInterfaces';\nexport { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';\nexport {\n PrimerClientSession,\n PrimerOrder,\n PrimerLineItem,\n PrimerCustomer,\n PrimerAddress,\n} from './models/PrimerClientSession';\nexport {\n PrimerRawData,\n PrimerRawCardData,\n PrimerRawPhoneNumberData,\n PrimerRawCardRedirectData,\n PrimerBancontactCardRedirectData,\n PrimerRawRetailerData\n} from './models/PrimerRawData';\nexport {\n PrimerCheckoutAdditionalInfo,\n MultibancoCheckoutAdditionalInfo,\n PrimerCheckoutVoucherAdditionalInfo,\n XenditCheckoutVoucherAdditionalInfo,\n PrimerCheckoutQRCodeInfo,\n PromptPayCheckoutAdditionalInfo\n} from './models/PrimerCheckoutAdditionalInfo';\nexport {\n RetailOutletsRetail\n} from './models/RetailOutletsRetail';\nexport {\n PrimerCheckoutData,\n PrimerCheckoutDataPayment,\n} from './models/PrimerCheckoutData';\nexport {\n PrimerCheckoutPaymentMethodData\n} from './models/PrimerCheckoutPaymentMethodData';\nexport {\n PrimerError\n} from './models/PrimerError';\nexport {\n PrimerHeadlessUniversalCheckout as HeadlessUniversalCheckout\n} from './headless_checkout/PrimerHeadlessUniversalCheckout';\nexport {\n PrimerHeadlessUniversalCheckoutRawDataManager as HeadlessUniversalCheckoutRawDataManager\n} from './headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager';\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PrimerInitializationData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=RetailOutletsRetail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -1,5 +1,6 @@
1
1
  import type { PrimerRawData } from "..";
2
2
  import { PrimerError } from '../models/PrimerError';
3
+ import type { PrimerInitializationData } from "src/models/PrimerInitializationData";
3
4
  export interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {
4
5
  paymentMethodType: string;
5
6
  onMetadataChange?: (metadata: any) => void;
@@ -7,7 +8,7 @@ export interface PrimerHeadlessUniversalCheckoutRawDataManagerOptions {
7
8
  }
8
9
  declare class PrimerHeadlessUniversalCheckoutRawDataManagerClass {
9
10
  constructor();
10
- configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<void>;
11
+ configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<PrimerInitializationData | null>;
11
12
  getRequiredInputElementTypes(): Promise<string[]>;
12
13
  setRawData(rawData: PrimerRawData): Promise<void>;
13
14
  submit(): Promise<void>;
@@ -1,10 +1,11 @@
1
+ import type { PrimerInitializationData } from 'src/models/PrimerInitializationData';
1
2
  declare type EventType = 'onMetadataChange' | 'onValidation' | 'onNativeError';
2
3
  declare const RNPrimerHeadlessUniversalCheckoutRawDataManager: {
3
4
  addListener: (eventType: EventType, listener: (...args: any[]) => any) => void;
4
5
  removeListener: (eventType: EventType, listener: (...args: any[]) => any) => void;
5
6
  removeAllListenersForEvent(eventType: EventType): void;
6
7
  removeAllListeners(): void;
7
- initialize: (paymentMethodType: string) => Promise<void>;
8
+ configure: (paymentMethodType: string) => Promise<PrimerInitializationData | null>;
8
9
  listRequiredInputElementTypesForPaymentMethodType: (paymentMethodType: string) => Promise<string[]>;
9
10
  setRawData: (rawData: string) => Promise<void>;
10
11
  submit: () => Promise<void>;
@@ -4,8 +4,9 @@ export { PrimerSessionIntent } from './models/PrimerSessionIntent';
4
4
  export { PrimerPaymentCreationHandler, PrimerTokenizationHandler, PrimerResumeHandler, PrimerErrorHandler, } from './models/PrimerInterfaces';
5
5
  export { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';
6
6
  export { PrimerClientSession, PrimerOrder, PrimerLineItem, PrimerCustomer, PrimerAddress, } from './models/PrimerClientSession';
7
- export { PrimerRawData, PrimerRawCardData, PrimerRawPhoneNumberData, PrimerRawCardRedirectData, PrimerBancontactCardRedirectData } from './models/PrimerRawData';
8
- export { PrimerCheckoutAdditionalInfo, MultibancoCheckoutAdditionalInfo } from './models/PrimerCheckoutAdditionalInfo';
7
+ export { PrimerRawData, PrimerRawCardData, PrimerRawPhoneNumberData, PrimerRawCardRedirectData, PrimerBancontactCardRedirectData, PrimerRawRetailerData } from './models/PrimerRawData';
8
+ export { PrimerCheckoutAdditionalInfo, MultibancoCheckoutAdditionalInfo, PrimerCheckoutVoucherAdditionalInfo, XenditCheckoutVoucherAdditionalInfo, PrimerCheckoutQRCodeInfo, PromptPayCheckoutAdditionalInfo } from './models/PrimerCheckoutAdditionalInfo';
9
+ export { RetailOutletsRetail } from './models/RetailOutletsRetail';
9
10
  export { PrimerCheckoutData, PrimerCheckoutDataPayment, } from './models/PrimerCheckoutData';
10
11
  export { PrimerCheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';
11
12
  export { PrimerError } from './models/PrimerError';
@@ -16,4 +16,13 @@ interface IPromptPayCheckoutAdditionalInfo extends IPrimerCheckoutQRCodeInfo {
16
16
  qrCodeUrl?: string;
17
17
  qrCodeBase64?: string;
18
18
  }
19
+ export declare type PrimerCheckoutVoucherAdditionalInfo = IPrimerCheckoutVoucherAdditionalInfo;
20
+ interface IPrimerCheckoutVoucherAdditionalInfo extends IPrimerCheckoutAdditionalInfo {
21
+ }
22
+ export declare type XenditCheckoutVoucherAdditionalInfo = IXenditCheckoutVoucherAdditionalInfo;
23
+ interface IXenditCheckoutVoucherAdditionalInfo extends IPrimerCheckoutVoucherAdditionalInfo {
24
+ expiresAt: string;
25
+ couponCode: string;
26
+ retailerName: string;
27
+ }
19
28
  export {};
@@ -0,0 +1,9 @@
1
+ import type { RetailOutletsRetail } from "./RetailOutletsRetail";
2
+ export declare type PrimerInitializationData = IPrimerInitializationData;
3
+ interface IPrimerInitializationData {
4
+ }
5
+ export declare type RetailOutletsList = IRetailOutletsList;
6
+ interface IRetailOutletsList extends IPrimerInitializationData {
7
+ result: [RetailOutletsRetail];
8
+ }
9
+ export {};
@@ -18,3 +18,6 @@ export interface PrimerBancontactCardRedirectData extends PrimerRawCardRedirectD
18
18
  expiryYear: string;
19
19
  cardholderName: string;
20
20
  }
21
+ export interface PrimerRawRetailerData extends PrimerRawData {
22
+ id: string;
23
+ }
@@ -0,0 +1,8 @@
1
+ export declare type RetailOutletsRetail = IRetailOutletsRetail;
2
+ interface IRetailOutletsRetail {
3
+ id: string;
4
+ name: string;
5
+ iconUrl: string;
6
+ disabled: boolean;
7
+ }
8
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/react-native",
3
- "version": "2.12.1",
3
+ "version": "2.13.0",
4
4
  "description": "Primer SDK for RN",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,5 +17,5 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency "PrimerSDK", "2.12.1"
20
+ s.dependency "PrimerSDK", "2.13.0"
21
21
  end
@@ -2,6 +2,7 @@ import type { PrimerRawData } from "..";
2
2
  import RNPrimerHeadlessUniversalCheckoutRawDataManager from "./RNPrimerHeadlessUniversalCheckoutRawDataManager";
3
3
  import { primerSettings } from "./PrimerHeadlessUniversalCheckout"
4
4
  import { PrimerError } from '../models/PrimerError';
5
+ import type { PrimerInitializationData } from "src/models/PrimerInitializationData";
5
6
 
6
7
  let primerHeadlessUniversalCheckoutRawDataManagerOptions: PrimerHeadlessUniversalCheckoutRawDataManagerOptions | undefined;
7
8
 
@@ -67,10 +68,10 @@ class PrimerHeadlessUniversalCheckoutRawDataManagerClass {
67
68
  // API
68
69
  ///////////////////////////////////////////
69
70
 
70
- configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<void> {
71
+ configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<PrimerInitializationData | null> {
71
72
  primerHeadlessUniversalCheckoutRawDataManagerOptions = options;
72
73
  configureListeners();
73
- return RNPrimerHeadlessUniversalCheckoutRawDataManager.initialize(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);
74
+ return RNPrimerHeadlessUniversalCheckoutRawDataManager.configure(primerHeadlessUniversalCheckoutRawDataManagerOptions.paymentMethodType);
74
75
  }
75
76
 
76
77
  async getRequiredInputElementTypes(): Promise<string[]> {
@@ -1,4 +1,5 @@
1
1
  import { NativeEventEmitter, NativeModules } from 'react-native';
2
+ import type { PrimerInitializationData } from 'src/models/PrimerInitializationData';
2
3
 
3
4
  const { PrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;
4
5
  const eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckoutRawDataManager);
@@ -39,11 +40,12 @@ const RNPrimerHeadlessUniversalCheckoutRawDataManager = {
39
40
  // Native API
40
41
  ///////////////////////////////////////////
41
42
 
42
- initialize: (paymentMethodType: string): Promise<void> => {
43
+ configure: (paymentMethodType: string): Promise<PrimerInitializationData | null> => {
43
44
  return new Promise(async (resolve, reject) => {
44
45
  try {
45
46
  await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);
46
- resolve();
47
+ const initializationData: PrimerInitializationData = await PrimerHeadlessUniversalCheckoutRawDataManager.configure();
48
+ resolve(initializationData);
47
49
  } catch (e) {
48
50
  reject(e);
49
51
  }
package/src/index.tsx CHANGED
@@ -26,12 +26,20 @@ export {
26
26
  PrimerRawCardData,
27
27
  PrimerRawPhoneNumberData,
28
28
  PrimerRawCardRedirectData,
29
- PrimerBancontactCardRedirectData
29
+ PrimerBancontactCardRedirectData,
30
+ PrimerRawRetailerData
30
31
  } from './models/PrimerRawData';
31
32
  export {
32
33
  PrimerCheckoutAdditionalInfo,
33
- MultibancoCheckoutAdditionalInfo
34
+ MultibancoCheckoutAdditionalInfo,
35
+ PrimerCheckoutVoucherAdditionalInfo,
36
+ XenditCheckoutVoucherAdditionalInfo,
37
+ PrimerCheckoutQRCodeInfo,
38
+ PromptPayCheckoutAdditionalInfo
34
39
  } from './models/PrimerCheckoutAdditionalInfo';
40
+ export {
41
+ RetailOutletsRetail
42
+ } from './models/RetailOutletsRetail';
35
43
  export {
36
44
  PrimerCheckoutData,
37
45
  PrimerCheckoutDataPayment,
@@ -21,3 +21,15 @@ interface IPromptPayCheckoutAdditionalInfo extends IPrimerCheckoutQRCodeInfo {
21
21
  qrCodeUrl?: string;
22
22
  qrCodeBase64?: string;
23
23
  }
24
+
25
+ export type PrimerCheckoutVoucherAdditionalInfo = IPrimerCheckoutVoucherAdditionalInfo;
26
+
27
+ interface IPrimerCheckoutVoucherAdditionalInfo extends IPrimerCheckoutAdditionalInfo {}
28
+
29
+ export type XenditCheckoutVoucherAdditionalInfo = IXenditCheckoutVoucherAdditionalInfo;
30
+
31
+ interface IXenditCheckoutVoucherAdditionalInfo extends IPrimerCheckoutVoucherAdditionalInfo {
32
+ expiresAt: string;
33
+ couponCode: string;
34
+ retailerName: string;
35
+ }
@@ -0,0 +1,11 @@
1
+ import type { RetailOutletsRetail } from "./RetailOutletsRetail";
2
+
3
+ export type PrimerInitializationData = IPrimerInitializationData;
4
+
5
+ interface IPrimerInitializationData {}
6
+
7
+ export type RetailOutletsList = IRetailOutletsList;
8
+
9
+ interface IRetailOutletsList extends IPrimerInitializationData {
10
+ result: [RetailOutletsRetail];
11
+ }
@@ -20,3 +20,7 @@ export interface PrimerBancontactCardRedirectData extends PrimerRawCardRedirectD
20
20
  expiryYear: string;
21
21
  cardholderName: string;
22
22
  }
23
+
24
+ export interface PrimerRawRetailerData extends PrimerRawData {
25
+ id: string;
26
+ }
@@ -0,0 +1,8 @@
1
+ export type RetailOutletsRetail = IRetailOutletsRetail;
2
+
3
+ interface IRetailOutletsRetail {
4
+ id: string;
5
+ name: string;
6
+ iconUrl: string;
7
+ disabled: boolean;
8
+ }