@primer-io/react-native 2.12.2 → 2.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +9 -0
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +4 -0
- package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/PrimerRNRawRetailOutletData.kt +12 -0
- package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +28 -0
- package/android/src/main/java/com/primerioreactnative/huc/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +36 -0
- package/ios/DataModels/RNTPrimerRetailerData.swift +38 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.m +2 -0
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift +30 -0
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +1 -1
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +3 -2
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
- package/lib/commonjs/index.js +38 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/PrimerInitializationData.js +6 -0
- package/lib/commonjs/models/PrimerInitializationData.js.map +1 -0
- package/lib/commonjs/models/RetailOutletsRetail.js +2 -0
- package/lib/commonjs/models/RetailOutletsRetail.js.map +1 -0
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +1 -1
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +3 -2
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/PrimerInitializationData.js +2 -0
- package/lib/module/models/PrimerInitializationData.js.map +1 -0
- package/lib/module/models/RetailOutletsRetail.js +2 -0
- package/lib/module/models/RetailOutletsRetail.js.map +1 -0
- package/lib/typescript/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +2 -1
- package/lib/typescript/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +2 -1
- package/lib/typescript/src/index.d.ts +3 -2
- package/lib/typescript/src/models/PrimerCheckoutAdditionalInfo.d.ts +9 -0
- package/lib/typescript/src/models/PrimerInitializationData.d.ts +9 -0
- package/lib/typescript/src/models/PrimerRawData.d.ts +3 -0
- package/lib/typescript/src/models/RetailOutletsRetail.d.ts +8 -0
- package/package.json +1 -1
- package/primer-io-react-native.podspec +1 -1
- package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +3 -2
- package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +4 -2
- package/src/index.tsx +10 -2
- package/src/models/PrimerCheckoutAdditionalInfo.ts +12 -0
- package/src/models/PrimerInitializationData.ts +11 -0
- package/src/models/PrimerRawData.ts +4 -0
- package/src/models/RetailOutletsRetail.ts +8 -0
package/android/build.gradle
CHANGED
|
@@ -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.
|
|
140
|
+
implementation 'io.primer:android:2.13.0'
|
|
141
141
|
}
|
package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt
CHANGED
|
@@ -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()
|
package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt
CHANGED
|
@@ -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
|
package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift
CHANGED
|
@@ -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.
|
|
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","
|
|
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
|
-
|
|
37
|
+
configure: paymentMethodType => {
|
|
38
38
|
return new Promise(async (resolve, reject) => {
|
|
39
39
|
try {
|
|
40
40
|
await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);
|
|
41
|
-
|
|
41
|
+
const initializationData = await PrimerHeadlessUniversalCheckoutRawDataManager.configure();
|
|
42
|
+
resolve(initializationData);
|
|
42
43
|
} catch (e) {
|
|
43
44
|
reject(e);
|
|
44
45
|
}
|
package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RNPrimerHeadlessUniversalCheckoutRawDataManager.ts"],"names":["PrimerHeadlessUniversalCheckoutRawDataManager","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","RNPrimerHeadlessUniversalCheckoutRawDataManager","addListener","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach","
|
|
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"]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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":"
|
|
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 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -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.
|
|
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","
|
|
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":"AACA,OAAOA,+CAAP,MAA4D,mDAA5D;AACA,SAASC,cAAT,QAA+B,mCAA/B;AACA,SAASC,WAAT,QAA4B,uBAA5B;AAGA,IAAIC,oDAAJ;;AAEA,eAAeC,kBAAf,GAAmD;AAC/C,SAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,QAAI;AACAP,MAAAA,+CAA+C,CAACQ,kBAAhD;AAEAR,MAAAA,+CAA+C,CAACS,WAAhD,CAA4D,kBAA5D,EAAgFC,IAAI,IAAI;AACpF,YAAIP,oDAAoD,IAAIA,oDAAoD,CAACQ,gBAAjH,EAAmI;AAC/HR,UAAAA,oDAAoD,CAACQ,gBAArD,CAAsED,IAAtE;AACH;AACJ,OAJD;AAMAV,MAAAA,+CAA+C,CAACS,WAAhD,CAA4D,cAA5D,EAA4EC,IAAI,IAAI;AAChF,YAAIP,oDAAoD,IAAIA,oDAAoD,CAACS,YAAjH,EAA+H;AAC3H,cAAIC,MAAqB,GAAG,EAA5B;;AACA,eAAK,MAAMC,OAAX,IAAuBJ,IAAI,CAACG,MAAL,IAAe,EAAtC,EAA2C;AACvC,kBAAME,OAAe,GAAGD,OAAO,CAACC,OAAhC;AACA,kBAAMC,WAA+B,GAAGF,OAAO,CAACE,WAAhD;AACA,kBAAMC,kBAAsC,GAAGH,OAAO,CAACG,kBAAvD;AACA,kBAAMC,WAAW,GAAG,IAAIhB,WAAJ,CAAgBa,OAAhB,EAAyBC,WAAW,IAAI,eAAxC,EAAyDC,kBAAzD,CAApB;AACAJ,YAAAA,MAAM,CAACM,IAAP,CAAYD,WAAZ;AACH;;AAEDf,UAAAA,oDAAoD,CAACS,YAArD,CAAkEF,IAAI,CAACU,OAAvE,EAAgFP,MAAM,CAACQ,MAAP,KAAkB,CAAlB,GAAsBC,SAAtB,GAAkCT,MAAlH;AACH;AACJ,OAbD;AAeAb,MAAAA,+CAA+C,CAACS,WAAhD,CAA4D,eAA5D,EAA6EC,IAAI,IAAI;AACjF,YAAIT,cAAc,IAAIA,cAAc,CAACsB,OAArC,EAA8C;AAC1C,gBAAMR,OAAe,GAAGL,IAAI,CAACc,KAAL,CAAWT,OAAnC;AACA,gBAAMC,WAA+B,GAAGN,IAAI,CAACc,KAAL,CAAWR,WAAnD;AACA,gBAAMC,kBAAsC,GAAGP,IAAI,CAACc,KAAL,CAAWP,kBAA1D;AACA,gBAAMC,WAAW,GAAG,IAAIhB,WAAJ,CAAgBa,OAAhB,EAAyBC,WAAW,IAAI,eAAxC,EAAyDC,kBAAzD,CAApB;AACAhB,UAAAA,cAAc,CAACsB,OAAf,CAAuBL,WAAvB,EAAoC,IAApC,EAA0CI,SAA1C;AACH;AACJ,OARD;AASAhB,MAAAA,OAAO;AAEV,KAnCD,CAmCE,OAAOmB,GAAP,EAAY;AACVlB,MAAAA,MAAM,CAACkB,GAAD,CAAN;AACH;AACJ,GAvCM,CAAP;AAwCH;;AAQD,MAAMC,kDAAN,CAAyD;AAErD;AACA;AACA;AACAC,EAAAA,WAAW,GAAG,CAEb,CAPoD,CASrD;AACA;AACA;;;AAEAC,EAAAA,SAAS,CAACC,OAAD,EAA0G;AAC/G1B,IAAAA,oDAAoD,GAAG0B,OAAvD;AACAzB,IAAAA,kBAAkB;AAClB,WAAOJ,+CAA+C,CAAC4B,SAAhD,CAA0DzB,oDAAoD,CAAC2B,iBAA/G,CAAP;AACH;;AAEiC,QAA5BC,4BAA4B,GAAsB;AACpD,WAAO,IAAI1B,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC1C,UACIJ,oDAAoD,IACpDA,oDAAoD,CAAC2B,iBAFzD,EAGE;AACE,YAAI;AACA,gBAAME,iBAAiB,GAAG,MAAMhC,+CAA+C,CAACiC,iDAAhD,CAAkG9B,oDAAoD,CAAC2B,iBAAvJ,CAAhC;AACAxB,UAAAA,OAAO,CAAC0B,iBAAD,CAAP;AACH,SAHD,CAGE,OAAOP,GAAP,EAAY;AACVlB,UAAAA,MAAM,CAACkB,GAAD,CAAN;AACH;AACJ,OAVD,MAUO;AACH,cAAMA,GAAG,GAAG,IAAIvB,WAAJ,CAAgB,wBAAhB,EAA0C,iEAA1C,EAA6G,sFAA7G,CAAZ;AACAK,QAAAA,MAAM,CAACkB,GAAD,CAAN;AACH;AACJ,KAfM,CAAP;AAgBH;;AAEDS,EAAAA,UAAU,CAACC,OAAD,EAAwC;AAC9C,WAAOnC,+CAA+C,CAACkC,UAAhD,CAA2DE,IAAI,CAACC,SAAL,CAAeF,OAAf,CAA3D,CAAP;AACH;;AAEDG,EAAAA,MAAM,GAAkB;AACpB,WAAOtC,+CAA+C,CAACsC,MAAhD,EAAP;AACH;;AAEDC,EAAAA,qBAAqB,GAAkB;AAClC,WAAOvC,+CAA+C,CAACuC,qBAAhD,EAAP;AACJ;;AAhDoD;;AAmDzD,OAAO,MAAMC,6CAA6C,GAAG,IAAId,kDAAJ,EAAtD","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
|
-
|
|
29
|
+
configure: paymentMethodType => {
|
|
30
30
|
return new Promise(async (resolve, reject) => {
|
|
31
31
|
try {
|
|
32
32
|
await PrimerHeadlessUniversalCheckoutRawDataManager.initialize(paymentMethodType);
|
|
33
|
-
|
|
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","
|
|
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":"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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"]}
|
package/lib/module/index.js
CHANGED
|
@@ -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';
|
package/lib/module/index.js.map
CHANGED
|
@@ -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,
|
|
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 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
package/lib/typescript/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts
CHANGED
|
@@ -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<
|
|
11
|
+
configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<PrimerInitializationData | null>;
|
|
11
12
|
getRequiredInputElementTypes(): Promise<string[]>;
|
|
12
13
|
setRawData(rawData: PrimerRawData): Promise<void>;
|
|
13
14
|
submit(): Promise<void>;
|
package/lib/typescript/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts
CHANGED
|
@@ -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
|
-
|
|
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 {};
|
package/package.json
CHANGED
|
@@ -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<
|
|
71
|
+
configure(options: PrimerHeadlessUniversalCheckoutRawDataManagerOptions): Promise<PrimerInitializationData | null> {
|
|
71
72
|
primerHeadlessUniversalCheckoutRawDataManagerOptions = options;
|
|
72
73
|
configureListeners();
|
|
73
|
-
return RNPrimerHeadlessUniversalCheckoutRawDataManager.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
+
}
|