@primer-io/react-native 2.42.2 → 2.43.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/components/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +1 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +34 -0
- package/android/src/main/java/com/primerioreactnative/utils/JsonConverter.kt +2 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift +58 -2
- package/ios/Sources/version.swift +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js +33 -9
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +9 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +8 -0
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/module/Primer.js +10 -0
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/PrimerBinData.js +2 -0
- package/lib/module/models/PrimerBinData.js.map +1 -0
- package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts +9 -0
- package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +1 -1
- package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts +3 -1
- package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -1
- package/lib/typescript/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -1
- package/lib/typescript/src/Primer.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/models/PrimerBinData.d.ts +23 -0
- package/lib/typescript/src/models/PrimerBinData.d.ts.map +1 -0
- package/package.json +1 -1
- package/primer-io-react-native.podspec +1 -1
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts +41 -9
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +13 -2
- package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +8 -0
- package/src/Primer.ts +10 -0
- package/src/index.tsx +6 -0
- package/src/models/PrimerBinData.ts +28 -0
package/android/build.gradle
CHANGED
|
@@ -133,7 +133,7 @@ dependencies {
|
|
|
133
133
|
implementation 'com.facebook.react:react-native:+'
|
|
134
134
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
135
135
|
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3"
|
|
136
|
-
implementation 'io.primer:android:2.
|
|
136
|
+
implementation 'io.primer:android:2.49.0'
|
|
137
137
|
testImplementation 'io.mockk:mockk:1.14.2'
|
|
138
138
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2'
|
|
139
139
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2'
|
|
@@ -3,4 +3,5 @@ package com.primerioreactnative.components.events
|
|
|
3
3
|
internal enum class PrimerHeadlessUniversalCheckoutRawDataManagerEvent(val eventName: String) {
|
|
4
4
|
ON_METADATA_CHANGED("onMetadataChange"),
|
|
5
5
|
ON_VALIDATION_CHANGED("onValidation"),
|
|
6
|
+
ON_BIN_DATA_CHANGED("onBinDataChange"),
|
|
6
7
|
}
|
|
@@ -2,7 +2,10 @@ package com.primerioreactnative.components.manager.raw
|
|
|
2
2
|
|
|
3
3
|
import com.primerioreactnative.components.events.PrimerHeadlessUniversalCheckoutRawDataManagerEvent
|
|
4
4
|
import com.primerioreactnative.datamodels.PrimerInputValidationErrorRN
|
|
5
|
+
import io.primer.android.components.domain.core.models.card.PrimerBinData
|
|
6
|
+
import io.primer.android.components.domain.core.models.card.PrimerCardBinData
|
|
5
7
|
import io.primer.android.components.domain.core.models.card.PrimerCardMetadata
|
|
8
|
+
import io.primer.android.components.domain.core.models.metadata.PrimerPaymentMethodBinData
|
|
6
9
|
import io.primer.android.components.domain.core.models.metadata.PrimerPaymentMethodMetadata
|
|
7
10
|
import io.primer.android.components.domain.error.PrimerInputValidationError
|
|
8
11
|
import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManagerListener
|
|
@@ -56,4 +59,35 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManagerListener :
|
|
|
56
59
|
},
|
|
57
60
|
)
|
|
58
61
|
}
|
|
62
|
+
|
|
63
|
+
override fun onBinDataAvailable(binData: PrimerPaymentMethodBinData) {
|
|
64
|
+
if (binData is PrimerBinData) {
|
|
65
|
+
sendEvent?.invoke(
|
|
66
|
+
PrimerHeadlessUniversalCheckoutRawDataManagerEvent.ON_BIN_DATA_CHANGED.eventName,
|
|
67
|
+
JSONObject().apply {
|
|
68
|
+
put("preferred", binData.preferred?.toJsonObject() ?: JSONObject.NULL)
|
|
69
|
+
put("alternatives", JSONArray(binData.alternatives.map { it.toJsonObject() }))
|
|
70
|
+
put("status", binData.status.name)
|
|
71
|
+
put("firstDigits", binData.firstDigits ?: JSONObject.NULL)
|
|
72
|
+
},
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private fun PrimerCardBinData.toJsonObject(): JSONObject {
|
|
78
|
+
return JSONObject().apply {
|
|
79
|
+
put("network", network)
|
|
80
|
+
put("displayName", displayName)
|
|
81
|
+
put("issuerCountryCode", issuerCountryCode)
|
|
82
|
+
put("issuerName", issuerName)
|
|
83
|
+
put("accountFundingType", accountFundingType)
|
|
84
|
+
put("prepaidReloadableIndicator", prepaidReloadableIndicator)
|
|
85
|
+
put("productUsageType", productUsageType)
|
|
86
|
+
put("productCode", productCode)
|
|
87
|
+
put("productName", productName)
|
|
88
|
+
put("issuerCurrencyCode", issuerCurrencyCode)
|
|
89
|
+
put("regionalRestriction", regionalRestriction)
|
|
90
|
+
put("accountNumberType", accountNumberType)
|
|
91
|
+
}
|
|
92
|
+
}
|
|
59
93
|
}
|
|
@@ -23,6 +23,7 @@ internal fun convertJsonToMap(jsonObject: JSONObject): WritableMap {
|
|
|
23
23
|
when (val value = jsonObject[key]) {
|
|
24
24
|
is JSONObject -> map.putMap(key, convertJsonToMap(value))
|
|
25
25
|
is JSONArray -> map.putArray(key, convertJsonToArray(value))
|
|
26
|
+
JSONObject.NULL -> map.putNull(key)
|
|
26
27
|
is Boolean -> map.putBoolean(key, value)
|
|
27
28
|
is Int -> map.putInt(key, value)
|
|
28
29
|
is Double -> map.putDouble(key, value)
|
|
@@ -40,6 +41,7 @@ internal fun convertJsonToArray(jsonArray: JSONArray): WritableArray {
|
|
|
40
41
|
when (val value = jsonArray[i]) {
|
|
41
42
|
is JSONObject -> array.pushMap(convertJsonToMap(value))
|
|
42
43
|
is JSONArray -> array.pushArray(convertJsonToArray(value))
|
|
44
|
+
JSONObject.NULL -> array.pushNull()
|
|
43
45
|
is Boolean -> array.pushBoolean(value)
|
|
44
46
|
is Int -> array.pushInt(value)
|
|
45
47
|
is Double -> array.pushDouble(value)
|
|
@@ -16,6 +16,7 @@ enum PrimerHeadlessUniversalCheckoutRawDataManagerEvents: Int, CaseIterable {
|
|
|
16
16
|
|
|
17
17
|
case onMetadataChange = 0
|
|
18
18
|
case onValidation
|
|
19
|
+
case onBinDataChange
|
|
19
20
|
|
|
20
21
|
var stringValue: String {
|
|
21
22
|
switch self {
|
|
@@ -23,6 +24,8 @@ enum PrimerHeadlessUniversalCheckoutRawDataManagerEvents: Int, CaseIterable {
|
|
|
23
24
|
return "onMetadataChange"
|
|
24
25
|
case .onValidation:
|
|
25
26
|
return "onValidation"
|
|
27
|
+
case .onBinDataChange:
|
|
28
|
+
return "onBinDataChange"
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
}
|
|
@@ -172,8 +175,7 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
|
|
|
172
175
|
|
|
173
176
|
}
|
|
174
177
|
|
|
175
|
-
extension RNTPrimerHeadlessUniversalCheckoutRawDataManager:
|
|
176
|
-
PrimerHeadlessUniversalCheckoutRawDataManagerDelegate {
|
|
178
|
+
extension RNTPrimerHeadlessUniversalCheckoutRawDataManager: PrimerHeadlessUniversalCheckoutRawDataManagerDelegate {
|
|
177
179
|
|
|
178
180
|
func primerRawDataManager(
|
|
179
181
|
_ rawDataManager: PrimerHeadlessUniversalCheckout.RawDataManager,
|
|
@@ -202,6 +204,60 @@ extension RNTPrimerHeadlessUniversalCheckoutRawDataManager:
|
|
|
202
204
|
}
|
|
203
205
|
}
|
|
204
206
|
|
|
207
|
+
func primerRawDataManager(
|
|
208
|
+
_ rawDataManager: PrimerHeadlessUniversalCheckout.RawDataManager,
|
|
209
|
+
didReceiveBinData binData: PrimerBinData
|
|
210
|
+
) {
|
|
211
|
+
DispatchQueue.main.async {
|
|
212
|
+
let body = self.serializeBinData(binData)
|
|
213
|
+
self.sendEvent(
|
|
214
|
+
withName: PrimerHeadlessUniversalCheckoutRawDataManagerEvents.onBinDataChange.stringValue,
|
|
215
|
+
body: body)
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
// MARK: - BIN Data Serialization
|
|
220
|
+
|
|
221
|
+
private func serializeBinData(_ binData: PrimerBinData) -> [String: Any] {
|
|
222
|
+
var body: [String: Any] = [:]
|
|
223
|
+
// NSNull() bridges to JS `null` rather than `undefined`, preserving key presence in the JSON
|
|
224
|
+
body["preferred"] = binData.preferred.map { serializeCardNetwork($0) } ?? NSNull()
|
|
225
|
+
body["alternatives"] = binData.alternatives.map { serializeCardNetwork($0) }
|
|
226
|
+
body["status"] = serializeBinDataStatus(binData.status)
|
|
227
|
+
body["firstDigits"] = binData.firstDigits ?? NSNull()
|
|
228
|
+
return body
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
private func serializeCardNetwork(_ network: PrimerCardNetwork) -> [String: Any] {
|
|
232
|
+
var dict: [String: Any] = [:]
|
|
233
|
+
dict["displayName"] = network.displayName
|
|
234
|
+
dict["network"] = network.network.rawValue
|
|
235
|
+
// `allowed` is iOS-specific — computed from merchant-allowed networks configuration
|
|
236
|
+
dict["allowed"] = network.allowed
|
|
237
|
+
dict["issuerCountryCode"] = network.issuerCountryCode ?? NSNull()
|
|
238
|
+
dict["issuerName"] = network.issuerName ?? NSNull()
|
|
239
|
+
dict["accountFundingType"] = network.accountFundingType ?? NSNull()
|
|
240
|
+
dict["prepaidReloadableIndicator"] = network.prepaidReloadableIndicator ?? NSNull()
|
|
241
|
+
dict["productUsageType"] = network.productUsageType ?? NSNull()
|
|
242
|
+
dict["productCode"] = network.productCode ?? NSNull()
|
|
243
|
+
dict["productName"] = network.productName ?? NSNull()
|
|
244
|
+
dict["issuerCurrencyCode"] = network.issuerCurrencyCode ?? NSNull()
|
|
245
|
+
dict["regionalRestriction"] = network.regionalRestriction ?? NSNull()
|
|
246
|
+
dict["accountNumberType"] = network.accountNumberType ?? NSNull()
|
|
247
|
+
return dict
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
private func serializeBinDataStatus(_ status: PrimerBinDataStatus) -> String {
|
|
251
|
+
switch status {
|
|
252
|
+
case .partial:
|
|
253
|
+
return "PARTIAL"
|
|
254
|
+
case .complete:
|
|
255
|
+
return "COMPLETE"
|
|
256
|
+
@unknown default:
|
|
257
|
+
return "PARTIAL"
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
205
261
|
private func handleRNBridgeError(
|
|
206
262
|
_ error: Error, checkoutData: PrimerCheckoutData?, stopOnDebug: Bool
|
|
207
263
|
) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// swiftlint:disable:next identifier_name
|
|
2
|
-
public let PrimerReactNativeSDKVersion = "2.
|
|
2
|
+
public let PrimerReactNativeSDKVersion = "2.43.1"
|
package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
4
|
-
import { eventTypes } from "./Utils/EventType.js";
|
|
5
4
|
const {
|
|
6
5
|
RNTPrimerHeadlessUniversalCheckoutKlarnaComponent
|
|
7
6
|
} = NativeModules;
|
|
8
7
|
const eventEmitter = new NativeEventEmitter(RNTPrimerHeadlessUniversalCheckoutKlarnaComponent);
|
|
9
8
|
export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
9
|
+
subscriptions = [];
|
|
10
|
+
|
|
10
11
|
///////////////////////////////////////////
|
|
11
12
|
// Init
|
|
12
13
|
///////////////////////////////////////////
|
|
@@ -17,6 +18,9 @@ export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
17
18
|
///////////////////////////////////////////
|
|
18
19
|
|
|
19
20
|
async provide(props) {
|
|
21
|
+
// Drain any subscriptions left over from a previous provide() on this instance,
|
|
22
|
+
// so consumers who skip explicit cleanUp don't accumulate duplicate listeners.
|
|
23
|
+
this.drainSubscriptions();
|
|
20
24
|
await this.configureListeners(props);
|
|
21
25
|
const klarnaComponent = {
|
|
22
26
|
start: async () => {
|
|
@@ -36,6 +40,10 @@ export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
36
40
|
},
|
|
37
41
|
finalizePayment: async () => {
|
|
38
42
|
RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.onFinalizePayment();
|
|
43
|
+
},
|
|
44
|
+
cleanUp: async () => {
|
|
45
|
+
await RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.cleanUp();
|
|
46
|
+
this.drainSubscriptions();
|
|
39
47
|
}
|
|
40
48
|
};
|
|
41
49
|
await RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.configure(props.primerSessionIntent);
|
|
@@ -43,34 +51,40 @@ export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
43
51
|
}
|
|
44
52
|
async configureListeners(props) {
|
|
45
53
|
if (props?.onStep) {
|
|
46
|
-
this.addListener('onStep', data => {
|
|
54
|
+
const sub = await this.addListener('onStep', data => {
|
|
47
55
|
props.onStep?.(data);
|
|
48
56
|
});
|
|
57
|
+
this.subscriptions.push(sub);
|
|
49
58
|
}
|
|
50
59
|
if (props?.onInvalid) {
|
|
51
|
-
this.addListener('onInvalid', data => {
|
|
60
|
+
const sub = await this.addListener('onInvalid', data => {
|
|
52
61
|
props.onInvalid?.(data);
|
|
53
62
|
});
|
|
63
|
+
this.subscriptions.push(sub);
|
|
54
64
|
}
|
|
55
65
|
if (props?.onError) {
|
|
56
|
-
this.addListener('onError', data => {
|
|
66
|
+
const sub = await this.addListener('onError', data => {
|
|
57
67
|
props.onError?.(data);
|
|
58
68
|
});
|
|
69
|
+
this.subscriptions.push(sub);
|
|
59
70
|
}
|
|
60
71
|
if (props?.onValid) {
|
|
61
|
-
this.addListener('onValid', data => {
|
|
72
|
+
const sub = await this.addListener('onValid', data => {
|
|
62
73
|
props.onValid?.(data);
|
|
63
74
|
});
|
|
75
|
+
this.subscriptions.push(sub);
|
|
64
76
|
}
|
|
65
77
|
if (props?.onValidating) {
|
|
66
|
-
this.addListener('onValidating', data => {
|
|
78
|
+
const sub = await this.addListener('onValidating', data => {
|
|
67
79
|
props.onValidating?.(data);
|
|
68
80
|
});
|
|
81
|
+
this.subscriptions.push(sub);
|
|
69
82
|
}
|
|
70
83
|
if (props?.onValidationError) {
|
|
71
|
-
this.addListener('onValidationError', data => {
|
|
84
|
+
const sub = await this.addListener('onValidationError', data => {
|
|
72
85
|
props.onValidationError?.(data);
|
|
73
86
|
});
|
|
87
|
+
this.subscriptions.push(sub);
|
|
74
88
|
}
|
|
75
89
|
}
|
|
76
90
|
|
|
@@ -82,13 +96,23 @@ export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
82
96
|
return eventEmitter.addListener(eventType, listener);
|
|
83
97
|
}
|
|
84
98
|
removeListener(subscription) {
|
|
85
|
-
|
|
99
|
+
subscription.remove();
|
|
100
|
+
this.subscriptions = this.subscriptions.filter(sub => sub !== subscription);
|
|
86
101
|
}
|
|
87
102
|
removeAllListenersForEvent(eventType) {
|
|
88
103
|
eventEmitter.removeAllListeners(eventType);
|
|
89
104
|
}
|
|
105
|
+
|
|
106
|
+
// Routes through per-instance bookkeeping. Avoids the global-nuke approach
|
|
107
|
+
// (eventEmitter.removeAllListeners(eventName)) which on Android would also
|
|
108
|
+
// wipe other modules' listeners for overlapping event names like onError —
|
|
109
|
+
// those modules share the global RCTDeviceEventEmitter.
|
|
90
110
|
removeAllListeners() {
|
|
91
|
-
|
|
111
|
+
this.drainSubscriptions();
|
|
112
|
+
}
|
|
113
|
+
drainSubscriptions() {
|
|
114
|
+
this.subscriptions.forEach(subscription => subscription.remove());
|
|
115
|
+
this.subscriptions = [];
|
|
92
116
|
}
|
|
93
117
|
}
|
|
94
118
|
//# sourceMappingURL=KlarnaManager.js.map
|
package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","RNTPrimerHeadlessUniversalCheckoutKlarnaComponent","eventEmitter","PrimerHeadlessUniversalCheckoutKlarnaManager","subscriptions","constructor","provide","props","drainSubscriptions","configureListeners","klarnaComponent","start","submit","onSetPaymentOptions","paymentOptions","handlePaymentOptionsChange","onFinalizePayment","finalizePayment","cleanUp","configure","primerSessionIntent","onStep","sub","addListener","data","push","onInvalid","onError","onValid","onValidating","onValidationError","eventType","listener","removeListener","subscription","remove","filter","removeAllListenersForEvent","removeAllListeners","forEach"],"sourceRoot":"../../../../../src","sources":["HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js
CHANGED
|
@@ -6,7 +6,7 @@ const {
|
|
|
6
6
|
RNTPrimerHeadlessUniversalCheckoutRawDataManager
|
|
7
7
|
} = NativeModules;
|
|
8
8
|
const eventEmitter = new NativeEventEmitter(RNTPrimerHeadlessUniversalCheckoutRawDataManager);
|
|
9
|
-
const eventTypes = ['onMetadataChange', 'onValidation'];
|
|
9
|
+
const eventTypes = ['onMetadataChange', 'onValidation', 'onBinDataChange'];
|
|
10
10
|
class PrimerHeadlessUniversalCheckoutRawDataManager {
|
|
11
11
|
subscriptions = [];
|
|
12
12
|
|
|
@@ -53,6 +53,14 @@ class PrimerHeadlessUniversalCheckoutRawDataManager {
|
|
|
53
53
|
});
|
|
54
54
|
this.subscriptions.push(sub);
|
|
55
55
|
}
|
|
56
|
+
if (this.options?.onBinDataChange) {
|
|
57
|
+
const sub = await this.addListener('onBinDataChange', data => {
|
|
58
|
+
if (this.options?.onBinDataChange) {
|
|
59
|
+
this.options.onBinDataChange(data);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
this.subscriptions.push(sub);
|
|
63
|
+
}
|
|
56
64
|
}
|
|
57
65
|
async getRequiredInputElementTypes() {
|
|
58
66
|
return new Promise(async (resolve, reject) => {
|
package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","PrimerError","RNTPrimerHeadlessUniversalCheckoutRawDataManager","eventEmitter","eventTypes","PrimerHeadlessUniversalCheckoutRawDataManager","subscriptions","constructor","configure","options","Promise","resolve","reject","configureListeners","data","paymentMethodType","err","onMetadataChange","sub","addListener","push","onValidation","isValid","errors","getRequiredInputElementTypes","listRequiredInputElementTypes","inputElementTypes","undefined","setRawData","rawData","JSON","stringify","submit","cleanUp","eventType","listener","removeListener","subscription","remove","removeAllListenersForEvent","removeAllListeners","forEach"],"sourceRoot":"../../../../../src","sources":["HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts"],"mappings":";;AACA,SAASA,kBAAkB,EAAEC,aAAa,QAAQ,cAAc;AAGhE,SAASC,WAAW,QAAQ,gCAA6B;
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","PrimerError","RNTPrimerHeadlessUniversalCheckoutRawDataManager","eventEmitter","eventTypes","PrimerHeadlessUniversalCheckoutRawDataManager","subscriptions","constructor","configure","options","Promise","resolve","reject","configureListeners","data","paymentMethodType","err","onMetadataChange","sub","addListener","push","onValidation","isValid","errors","onBinDataChange","getRequiredInputElementTypes","listRequiredInputElementTypes","inputElementTypes","undefined","setRawData","rawData","JSON","stringify","submit","cleanUp","eventType","listener","removeListener","subscription","remove","removeAllListenersForEvent","removeAllListeners","forEach"],"sourceRoot":"../../../../../src","sources":["HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import RNPrimer from "../RNPrimer.js";
|
|
3
4
|
import RNPrimerHeadlessUniversalCheckout from "./RNPrimerHeadlessUniversalCheckout.js";
|
|
4
5
|
import { PrimerError } from "../models/PrimerError.js";
|
|
5
6
|
///////////////////////////////////////////
|
|
@@ -228,6 +229,11 @@ class PrimerHeadlessUniversalCheckoutClass {
|
|
|
228
229
|
primerSettings = settings;
|
|
229
230
|
return new Promise(async (resolve, reject) => {
|
|
230
231
|
try {
|
|
232
|
+
// Enforce "one mode active at a time": tear down any drop-in JS subscriptions
|
|
233
|
+
// left over from a previous Primer.showUniversalCheckout session. On Android,
|
|
234
|
+
// both modules share RCTDeviceEventEmitter — stale drop-in listeners would
|
|
235
|
+
// fire duplicate consumer callbacks when headless events are emitted.
|
|
236
|
+
RNPrimer.removeAllListeners();
|
|
231
237
|
await configureListeners();
|
|
232
238
|
const res = await RNPrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, settings);
|
|
233
239
|
if (res.availablePaymentMethods) {
|
|
@@ -243,6 +249,8 @@ class PrimerHeadlessUniversalCheckoutClass {
|
|
|
243
249
|
});
|
|
244
250
|
}
|
|
245
251
|
cleanUp() {
|
|
252
|
+
RNPrimerHeadlessUniversalCheckout.removeAllListeners();
|
|
253
|
+
primerSettings = undefined;
|
|
246
254
|
return RNPrimerHeadlessUniversalCheckout.cleanUp();
|
|
247
255
|
}
|
|
248
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RNPrimerHeadlessUniversalCheckout","PrimerError","tokenizationHandler","continueWithNewClientToken","newClientToken","handleTokenizationNewClientToken","err","console","error","complete","handleCompleteFlow","resumeHandler","handleResumeWithNewClientToken","paymentCreationHandler","abortPaymentCreation","errorMessage","handlePaymentCreationAbort","continuePaymentCreation","handlePaymentCreationContinue","primerSettings","configureListeners","Promise","resolve","reject","removeAllListeners","implementedRNCallbacks","onAvailablePaymentMethodsLoad","headlessUniversalCheckoutCallbacks","undefined","onTokenizationStart","onTokenizationSuccess","onCheckoutResume","onCheckoutPending","onCheckoutAdditionalInfo","onError","onCheckoutComplete","onBeforeClientSessionUpdate","onClientSessionUpdate","onBeforePaymentCreate","onPreparationStart","onPaymentMethodShow","onDismiss","setImplementedRNCallbacks","addListener","data","availablePaymentMethods","paymentMethodType","clientSession","checkoutPaymentMethodData","paymentMethodTokenData","resumeToken","checkoutAdditionalInfo","checkoutData","errorId","errorCode","description","recoverySuggestion","diagnosticsId","primerError","PrimerHeadlessUniversalCheckoutClass","constructor","startWithClientToken","clientToken","settings","res","cleanUp","PrimerHeadlessUniversalCheckout"],"sourceRoot":"../../../src","sources":["HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["RNPrimer","RNPrimerHeadlessUniversalCheckout","PrimerError","tokenizationHandler","continueWithNewClientToken","newClientToken","handleTokenizationNewClientToken","err","console","error","complete","handleCompleteFlow","resumeHandler","handleResumeWithNewClientToken","paymentCreationHandler","abortPaymentCreation","errorMessage","handlePaymentCreationAbort","continuePaymentCreation","handlePaymentCreationContinue","primerSettings","configureListeners","Promise","resolve","reject","removeAllListeners","implementedRNCallbacks","onAvailablePaymentMethodsLoad","headlessUniversalCheckoutCallbacks","undefined","onTokenizationStart","onTokenizationSuccess","onCheckoutResume","onCheckoutPending","onCheckoutAdditionalInfo","onError","onCheckoutComplete","onBeforeClientSessionUpdate","onClientSessionUpdate","onBeforePaymentCreate","onPreparationStart","onPaymentMethodShow","onDismiss","setImplementedRNCallbacks","addListener","data","availablePaymentMethods","paymentMethodType","clientSession","checkoutPaymentMethodData","paymentMethodTokenData","resumeToken","checkoutAdditionalInfo","checkoutData","errorId","errorCode","description","recoverySuggestion","diagnosticsId","primerError","PrimerHeadlessUniversalCheckoutClass","constructor","startWithClientToken","clientToken","settings","res","cleanUp","PrimerHeadlessUniversalCheckout"],"sourceRoot":"../../../src","sources":["HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts"],"mappings":";;AAAA,OAAOA,QAAQ,MAAM,gBAAa;AAClC,OAAOC,iCAAiC,MAAM,wCAAqC;AAMnF,SAASC,WAAW,QAAQ,0BAAuB;AASnD;AACA;AACA;;AAEA;;AAEA,MAAMC,mBAAiE,GAAG;EACxEC,0BAA0B,EAAE,MAAOC,cAAsB,IAAK;IAC5D,IAAI;MACFJ,iCAAiC,CAACK,gCAAgC,CAACD,cAAc,CAAC;IACpF,CAAC,CAAC,OAAOE,GAAG,EAAE;MACZC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;IACpB;EACF,CAAC;EAEDG,QAAQ,EAAEA,CAAA,KAAM;IACdT,iCAAiC,CAACU,kBAAkB,CAAC,CAAC;EACxD;AACF,CAAC;;AAED;;AAEA,MAAMC,aAA2D,GAAG;EAClER,0BAA0B,EAAE,MAAOC,cAAsB,IAAK;IAC5D,IAAI;MACFJ,iCAAiC,CAACY,8BAA8B,CAACR,cAAc,CAAC;IAClF,CAAC,CAAC,OAAOE,GAAG,EAAE;MACZC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;IACpB;EACF,CAAC;EAEDG,QAAQ,EAAEA,CAAA,KAAM;IACdT,iCAAiC,CAACU,kBAAkB,CAAC,CAAC;EACxD;AACF,CAAC;;AAED;;AAEA,MAAMG,sBAAoD,GAAG;EAC3DC,oBAAoB,EAAE,MAAOC,YAAoB,IAAK;IACpD,IAAI;MACFf,iCAAiC,CAACgB,0BAA0B,CAACD,YAAY,CAAC;IAC5E,CAAC,CAAC,OAAOT,GAAG,EAAE;MACZC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;IACpB;EACF,CAAC;EAEDW,uBAAuB,EAAE,MAAAA,CAAA,KAAY;IACnC,IAAI;MACFjB,iCAAiC,CAACkB,6BAA6B,CAAC,CAAC;IACnE,CAAC,CAAC,OAAOZ,GAAG,EAAE;MACZC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;IACpB;EACF;AACF,CAAC;AAED,OAAO,IAAIa,cAA0C;AAErD,eAAeC,kBAAkBA,CAAA,EAAkB;EACjD,OAAO,IAAIC,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAC5C,IAAI;MACFvB,iCAAiC,CAACwB,kBAAkB,CAAC,CAAC;MAEtD,IAAIC,sBAAoD,GAAG;QACzDC,6BAA6B,EAC3BP,cAAc,EAAEQ,kCAAkC,EAAED,6BAA6B,KAAKE,SAAS,IAAI,KAAK;QAC1GC,mBAAmB,EACjBV,cAAc,EAAEQ,kCAAkC,EAAEE,mBAAmB,KAAKD,SAAS,IAAI,KAAK;QAChGE,qBAAqB,EACnBX,cAAc,EAAEQ,kCAAkC,EAAEG,qBAAqB,KAAKF,SAAS,IAAI,KAAK;QAElGG,gBAAgB,EAAEZ,cAAc,EAAEQ,kCAAkC,EAAEI,gBAAgB,KAAKH,SAAS,IAAI,KAAK;QAC7GI,iBAAiB,EAAEb,cAAc,EAAEQ,kCAAkC,EAAEK,iBAAiB,KAAKJ,SAAS,IAAI,KAAK;QAC/GK,wBAAwB,EACtBd,cAAc,EAAEQ,kCAAkC,EAAEM,wBAAwB,KAAKL,SAAS,IAAI,KAAK;QAErGM,OAAO,EAAEf,cAAc,EAAEQ,kCAAkC,EAAEO,OAAO,KAAKN,SAAS,IAAI,KAAK;QAC3FO,kBAAkB,EAChBhB,cAAc,EAAEQ,kCAAkC,EAAEQ,kBAAkB,KAAKP,SAAS,IAAI,KAAK;QAC/FQ,2BAA2B,EACzBjB,cAAc,EAAEQ,kCAAkC,EAAES,2BAA2B,KAAKR,SAAS,IAAI,KAAK;QAExGS,qBAAqB,EACnBlB,cAAc,EAAEQ,kCAAkC,EAAEU,qBAAqB,KAAKT,SAAS,IAAI,KAAK;QAClGU,qBAAqB,EACnBnB,cAAc,EAAEQ,kCAAkC,EAAEW,qBAAqB,KAAKV,SAAS,IAAI,KAAK;QAClGW,kBAAkB,EAChBpB,cAAc,EAAEQ,kCAAkC,EAAEY,kBAAkB,KAAKX,SAAS,IAAI,KAAK;QAE/FY,mBAAmB,EACjBrB,cAAc,EAAEQ,kCAAkC,EAAEa,mBAAmB,KAAKZ,SAAS,IAAI,KAAK;QAChGa,SAAS,EAAE;MACb,CAAC;MAED,MAAMzC,iCAAiC,CAAC0C,yBAAyB,CAACjB,sBAAsB,CAAC;MAEzF,IAAIA,sBAAsB,CAACC,6BAA6B,EAAE;QACxD1B,iCAAiC,CAAC2C,WAAW,CAAC,+BAA+B,EAAGC,IAAI,IAAK;UACvF,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAED,6BAA6B,EAAE;YACrF,MAAMmB,uBAAwE,GAC5ED,IAAI,CAACC,uBAAuB,IAAI,EAAE;YACpC1B,cAAc,CAACQ,kCAAkC,CAACD,6BAA6B,CAACmB,uBAAuB,CAAC;UAC1G,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAIpB,sBAAsB,CAACc,kBAAkB,EAAE;QAC7CvC,iCAAiC,CAAC2C,WAAW,CAAC,oBAAoB,EAAGC,IAAI,IAAK;UAC5E,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEY,kBAAkB,EAAE;YAC1EpB,cAAc,CAACQ,kCAAkC,CAACY,kBAAkB,CAACK,IAAI,CAACE,iBAAiB,CAAC;UAC9F,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAIrB,sBAAsB,CAACW,2BAA2B,EAAE;QACtDpC,iCAAiC,CAAC2C,WAAW,CAAC,6BAA6B,EAAE,MAAM;UACjF,IAAIxB,cAAc,EAAEQ,kCAAkC,EAAES,2BAA2B,EAAE;YACnFjB,cAAc,CAACQ,kCAAkC,CAACS,2BAA2B,CAAC,CAAC;UACjF,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAIX,sBAAsB,CAACY,qBAAqB,EAAE;QAChDrC,iCAAiC,CAAC2C,WAAW,CAAC,uBAAuB,EAAGC,IAAI,IAAK;UAC/E,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEU,qBAAqB,EAAE;YAC7E,MAAMU,aAAkC,GAAGH,IAAI,CAACG,aAAa;YAC7D5B,cAAc,CAACQ,kCAAkC,CAACU,qBAAqB,CAACU,aAAa,CAAC;UACxF,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAItB,sBAAsB,CAACa,qBAAqB,EAAE;QAChDtC,iCAAiC,CAAC2C,WAAW,CAAC,uBAAuB,EAAGC,IAAI,IAAK;UAC/E,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEW,qBAAqB,EAAE;YAC7E,MAAMU,yBAA0D,GAAGJ,IAAI;YACvEzB,cAAc,CAACQ,kCAAkC,CAACW,qBAAqB,CACrEU,yBAAyB,EACzBnC,sBACF,CAAC;UACH,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAIY,sBAAsB,CAACI,mBAAmB,EAAE;QAC9C7B,iCAAiC,CAAC2C,WAAW,CAAC,qBAAqB,EAAGC,IAAI,IAAK;UAC7E,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEE,mBAAmB,EAAE;YAC3EV,cAAc,CAACQ,kCAAkC,CAACE,mBAAmB,CAACe,IAAI,CAACE,iBAAiB,CAAC;UAC/F,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAIrB,sBAAsB,CAACe,mBAAmB,EAAE;QAC9CxC,iCAAiC,CAAC2C,WAAW,CAAC,qBAAqB,EAAGC,IAAI,IAAK;UAC7E,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEa,mBAAmB,EAAE;YAC3ErB,cAAc,CAACQ,kCAAkC,CAACa,mBAAmB,CAACI,IAAI,CAACE,iBAAiB,CAAC;UAC/F,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAIrB,sBAAsB,CAACK,qBAAqB,EAAE;QAChD9B,iCAAiC,CAAC2C,WAAW,CAAC,uBAAuB,EAAGC,IAAI,IAAK;UAC/E,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEG,qBAAqB,EAAE;YAC7E,MAAMmB,sBAAoD,GAAGL,IAAI,CAACK,sBAAsB;YACxF9B,cAAc,CAACQ,kCAAkC,CAACG,qBAAqB,CACrEmB,sBAAsB,EACtB/C,mBACF,CAAC;UACH,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAIuB,sBAAsB,CAACM,gBAAgB,EAAE;QAC3C/B,iCAAiC,CAAC2C,WAAW,CAAC,kBAAkB,EAAGC,IAAI,IAAK;UAC1E,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEI,gBAAgB,EAAE;YACxEZ,cAAc,CAACQ,kCAAkC,CAACI,gBAAgB,CAACa,IAAI,CAACM,WAAW,EAAEvC,aAAa,CAAC;UACrG,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAIc,sBAAsB,CAACO,iBAAiB,EAAE;QAC5ChC,iCAAiC,CAAC2C,WAAW,CAAC,mBAAmB,EAAGC,IAAI,IAAK;UAC3E,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEK,iBAAiB,EAAE;YACzE,MAAMmB,sBAAoD,GAAGP,IAAI;YACjEzB,cAAc,CAACQ,kCAAkC,CAACK,iBAAiB,CAACmB,sBAAsB,CAAC;UAC7F,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAI1B,sBAAsB,CAACQ,wBAAwB,EAAE;QACnDjC,iCAAiC,CAAC2C,WAAW,CAAC,0BAA0B,EAAGC,IAAI,IAAK;UAClF,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEM,wBAAwB,EAAE;YAChF,MAAMkB,sBAAoD,GAAGP,IAAI;YACjEzB,cAAc,CAACQ,kCAAkC,CAACM,wBAAwB,CAACkB,sBAAsB,CAAC;UACpG,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAI1B,sBAAsB,CAACU,kBAAkB,EAAE;QAC7CnC,iCAAiC,CAAC2C,WAAW,CAAC,oBAAoB,EAAGC,IAAI,IAAK;UAC5E,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEQ,kBAAkB,EAAE;YAC1E,MAAMiB,YAAgC,GAAGR,IAAI;YAC7CzB,cAAc,CAACQ,kCAAkC,CAACQ,kBAAkB,CAACiB,YAAY,CAAC;UACpF,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA,IAAI3B,sBAAsB,CAACS,OAAO,EAAE;QAClClC,iCAAiC,CAAC2C,WAAW,CAAC,SAAS,EAAGC,IAAI,IAAK;UACjE,IAAIzB,cAAc,EAAEQ,kCAAkC,EAAEO,OAAO,EAAE;YAC/D,IAAIU,IAAI,IAAIA,IAAI,CAACpC,KAAK,IAAIoC,IAAI,CAACpC,KAAK,CAAC6C,OAAO,IAAIlC,cAAc,EAAE;cAC9D,MAAMkC,OAAe,GAAGT,IAAI,CAACpC,KAAK,CAAC6C,OAAO;cAC1C,MAAMC,SAA6B,GAAGV,IAAI,CAACpC,KAAK,CAAC8C,SAAS;cAC1D,MAAMC,WAA+B,GAAGX,IAAI,CAACpC,KAAK,CAAC+C,WAAW;cAC9D,MAAMC,kBAAsC,GAAGZ,IAAI,CAACpC,KAAK,CAACgD,kBAAkB;cAC5E,MAAMC,aAAiC,GAAGb,IAAI,CAACpC,KAAK,CAACiD,aAAa;cAClE,MAAMC,WAAW,GAAG,IAAIzD,WAAW,CACjCoD,OAAO,EACPC,SAAS,EACTC,WAAW,IAAI,eAAe,EAC9BC,kBAAkB,EAClBC,aACF,CAAC;cAED,MAAML,YAAgC,GAAGR,IAAI,CAACQ,YAAY;cAC1DjC,cAAc,CAACQ,kCAAkC,CAACO,OAAO,CAACwB,WAAW,EAAEN,YAAY,CAAC;YACtF;UACF,CAAC,MAAM;YACL;UAAA;QAEJ,CAAC,CAAC;MACJ;MAEA9B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,OAAOhB,GAAG,EAAE;MACZiB,MAAM,CAACjB,GAAG,CAAC;IACb;EACF,CAAC,CAAC;AACJ;AAEA,MAAMqD,oCAAoC,CAAC;EACzC;EACA;EACA;EACAC,WAAWA,CAAA,EAAG,CAAC;;EAEf;EACA;EACA;EACAC,oBAAoBA,CAClBC,WAAmB,EACnBC,QAAwB,EACkC;IAC1D5C,cAAc,GAAG4C,QAAQ;IAEzB,OAAO,IAAI1C,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC5C,IAAI;QACF;QACA;QACA;QACA;QACAxB,QAAQ,CAACyB,kBAAkB,CAAC,CAAC;QAC7B,MAAMJ,kBAAkB,CAAC,CAAC;QAC1B,MAAM4C,GAAG,GAAG,MAAMhE,iCAAiC,CAAC6D,oBAAoB,CAACC,WAAW,EAAEC,QAAQ,CAAC;QAE/F,IAAIC,GAAG,CAACnB,uBAAuB,EAAE;UAC/B,MAAMA,uBAAwE,GAAGmB,GAAG,CAACnB,uBAAuB;UAC5GvB,OAAO,CAACuB,uBAAuB,CAAC;QAClC,CAAC,MAAM;UACL,MAAMvC,GAAG,GAAG,IAAIL,WAAW,CACzB,eAAe,EACf2B,SAAS,EACT,wCAAwC,EACxC,+BAA+B,EAC/BA,SACF,CAAC;UACDL,MAAM,CAACjB,GAAG,CAAC;QACb;MACF,CAAC,CAAC,OAAOA,GAAG,EAAE;QACZiB,MAAM,CAACjB,GAAG,CAAC;MACb;IACF,CAAC,CAAC;EACJ;EAEA2D,OAAOA,CAAA,EAAkB;IACvBjE,iCAAiC,CAACwB,kBAAkB,CAAC,CAAC;IACtDL,cAAc,GAAGS,SAAS;IAC1B,OAAO5B,iCAAiC,CAACiE,OAAO,CAAC,CAAC;EACpD;AACF;AAEA,OAAO,MAAMC,+BAA+B,GAAG,IAAIP,oCAAoC,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/Primer.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import RNPrimer from "./RNPrimer.js";
|
|
4
|
+
import RNPrimerHeadlessUniversalCheckout from "./HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js";
|
|
4
5
|
import { PrimerError } from "./models/PrimerError.js";
|
|
5
6
|
///////////////////////////////////////////
|
|
6
7
|
// DECISION HANDLERS
|
|
@@ -92,6 +93,11 @@ let primerSettings;
|
|
|
92
93
|
async function configureListeners() {
|
|
93
94
|
return new Promise(async (resolve, reject) => {
|
|
94
95
|
try {
|
|
96
|
+
// Enforce "one mode active at a time": tear down any headless JS subscriptions
|
|
97
|
+
// left over from a previous HeadlessUniversalCheckout session. On Android, both
|
|
98
|
+
// modules share RCTDeviceEventEmitter — stale headless listeners would fire
|
|
99
|
+
// duplicate consumer callbacks when drop-in events are emitted.
|
|
100
|
+
RNPrimerHeadlessUniversalCheckout.removeAllListeners();
|
|
95
101
|
RNPrimer.removeAllListeners();
|
|
96
102
|
let implementedRNCallbacks = {
|
|
97
103
|
onAvailablePaymentMethodsLoad: false,
|
|
@@ -252,11 +258,15 @@ export const Primer = {
|
|
|
252
258
|
});
|
|
253
259
|
},
|
|
254
260
|
cleanUp() {
|
|
261
|
+
RNPrimerHeadlessUniversalCheckout.removeAllListeners();
|
|
255
262
|
RNPrimer.removeAllListeners();
|
|
263
|
+
primerSettings = undefined;
|
|
256
264
|
RNPrimer.dismiss();
|
|
257
265
|
},
|
|
258
266
|
dismiss() {
|
|
267
|
+
RNPrimerHeadlessUniversalCheckout.removeAllListeners();
|
|
259
268
|
RNPrimer.removeAllListeners();
|
|
269
|
+
primerSettings = undefined;
|
|
260
270
|
RNPrimer.dismiss();
|
|
261
271
|
}
|
|
262
272
|
};
|
package/lib/module/Primer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RNPrimer","PrimerError","tokenizationHandler","handleFailure","errorMessage","handleTokenizationFailure","err","console","error","handleSuccess","handleTokenizationSuccess","continueWithNewClientToken","newClientToken","handleTokenizationNewClientToken","resumeHandler","handleResumeFailure","handleResumeSuccess","handleResumeWithNewClientToken","paymentCreationHandler","abortPaymentCreation","handlePaymentCreationAbort","continuePaymentCreation","handlePaymentCreationContinue","errorHandler","showErrorMessage","primerSettings","configureListeners","Promise","resolve","reject","removeAllListeners","implementedRNCallbacks","onAvailablePaymentMethodsLoad","onTokenizationStart","onTokenizationSuccess","onTokenizeSuccess","undefined","onCheckoutResume","onResumeSuccess","onCheckoutPending","onResumePending","onCheckoutAdditionalInfo","onCheckoutReceivedAdditionalInfo","onError","onCheckoutComplete","onBeforeClientSessionUpdate","onClientSessionUpdate","onBeforePaymentCreate","onPreparationStart","onPaymentMethodShow","onDismiss","setImplementedRNCallbacks","addListener","data","checkoutData","checkoutPaymentMethodData","_","clientSession","paymentMethodTokenData","resumeToken","additionalInfo","checkoutAdditionalInfo","errorId","errorCode","description","recoverySuggestion","diagnosticsId","primerError","Primer","configure","settings","showUniversalCheckout","clientToken","showVaultManager","showPaymentMethod","paymentMethod","intent","cleanUp","dismiss"],"sourceRoot":"../../src","sources":["Primer.ts"],"mappings":";;AAEA,OAAOA,QAAQ,MAAM,eAAY;
|
|
1
|
+
{"version":3,"names":["RNPrimer","RNPrimerHeadlessUniversalCheckout","PrimerError","tokenizationHandler","handleFailure","errorMessage","handleTokenizationFailure","err","console","error","handleSuccess","handleTokenizationSuccess","continueWithNewClientToken","newClientToken","handleTokenizationNewClientToken","resumeHandler","handleResumeFailure","handleResumeSuccess","handleResumeWithNewClientToken","paymentCreationHandler","abortPaymentCreation","handlePaymentCreationAbort","continuePaymentCreation","handlePaymentCreationContinue","errorHandler","showErrorMessage","primerSettings","configureListeners","Promise","resolve","reject","removeAllListeners","implementedRNCallbacks","onAvailablePaymentMethodsLoad","onTokenizationStart","onTokenizationSuccess","onTokenizeSuccess","undefined","onCheckoutResume","onResumeSuccess","onCheckoutPending","onResumePending","onCheckoutAdditionalInfo","onCheckoutReceivedAdditionalInfo","onError","onCheckoutComplete","onBeforeClientSessionUpdate","onClientSessionUpdate","onBeforePaymentCreate","onPreparationStart","onPaymentMethodShow","onDismiss","setImplementedRNCallbacks","addListener","data","checkoutData","checkoutPaymentMethodData","_","clientSession","paymentMethodTokenData","resumeToken","additionalInfo","checkoutAdditionalInfo","errorId","errorCode","description","recoverySuggestion","diagnosticsId","primerError","Primer","configure","settings","showUniversalCheckout","clientToken","showVaultManager","showPaymentMethod","paymentMethod","intent","cleanUp","dismiss"],"sourceRoot":"../../src","sources":["Primer.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Primer","PrimerInputElementType","InputElementType","PrimerSessionIntent","SessionIntent","PrimerHeadlessUniversalCheckout","HeadlessUniversalCheckout","default","AssetsManager","NativeUIManager","RawDataManager","VaultManager","PrimerHeadlessUniversalCheckoutKlarnaManager","KlarnaManager","PrimerKlarnaPaymentView","NativeResourceView","PrimerGooglePayButtonConstants","PrimerGooglePayButton","PrimerHeadlessUniversalCheckoutAchManager","PrimerHeadlessUniversalCheckoutAchMandateManager","AchMandateManager","AchManager","PrimerHeadlessUniversalCheckoutComponentWithRedirectManager","ComponentWithRedirectManager","nativeModule","require"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,aAAU;AAEjC,SAASC,sBAAsB,IAAIC,gBAAgB,QAAQ,oCAAiC;AAC5F,SAASC,mBAAmB,IAAIC,aAAa,QAAQ,iCAA8B;AAwCnF,SAASC,+BAA+B,IAAIC,yBAAyB,QAAQ,gEAA6D;AAE1I,SAASC,OAAO,IAAIC,aAAa,QAAQ,uDAAoD;AAC7F,SAASD,OAAO,IAAIE,eAAe,QAAQ,+EAA4E;AACvH,SAASF,OAAO,IAAIG,cAAc,QAAQ,8EAA2E;
|
|
1
|
+
{"version":3,"names":["Primer","PrimerInputElementType","InputElementType","PrimerSessionIntent","SessionIntent","PrimerHeadlessUniversalCheckout","HeadlessUniversalCheckout","default","AssetsManager","NativeUIManager","RawDataManager","VaultManager","PrimerHeadlessUniversalCheckoutKlarnaManager","KlarnaManager","PrimerKlarnaPaymentView","NativeResourceView","PrimerGooglePayButtonConstants","PrimerGooglePayButton","PrimerHeadlessUniversalCheckoutAchManager","PrimerHeadlessUniversalCheckoutAchMandateManager","AchMandateManager","AchManager","PrimerHeadlessUniversalCheckoutComponentWithRedirectManager","ComponentWithRedirectManager","nativeModule","require"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,aAAU;AAEjC,SAASC,sBAAsB,IAAIC,gBAAgB,QAAQ,oCAAiC;AAC5F,SAASC,mBAAmB,IAAIC,aAAa,QAAQ,iCAA8B;AAwCnF,SAASC,+BAA+B,IAAIC,yBAAyB,QAAQ,gEAA6D;AAE1I,SAASC,OAAO,IAAIC,aAAa,QAAQ,uDAAoD;AAC7F,SAASD,OAAO,IAAIE,eAAe,QAAQ,+EAA4E;AACvH,SAASF,OAAO,IAAIG,cAAc,QAAQ,8EAA2E;AAarH,SAASH,OAAO,IAAII,YAAY,QAAQ,sDAAmD;AAC3F,SAASC,4CAA4C,IAAIC,aAAa,QAAQ,6EAA0E;AAgCxJ,SAASC,uBAAuB,QAAQ,mEAAgE;AACxG,SAASA,uBAAuB;AAChC,SAASC,kBAAkB,QAAQ,8DAA2D;AAC9F,SAASA,kBAAkB;AAC3B,SAASC,8BAA8B,QAAQ,8DAA2D;AAC1G,SAASA,8BAA8B;AACvC,SAASC,qBAAqB,QAAQ,iEAA8D;AACpG,SAASA,qBAAqB;AAK9B,SAASC,yCAAyC,QAAQ,0EAAuE;AAMjI,SAASC,gDAAgD,QAAQ,iFAA8E;AAC/I,SAASA,gDAAgD,IAAIC,iBAAiB;AAC9E,SAASF,yCAAyC,IAAIG,UAAU;AAGhE,SAASC,2DAA2D,QAAQ,4FAAyF;AAKrK,SAASA,2DAA2D,IAAIC,4BAA4B;AAWpG;AACA,MAAMC,YAAY,GAAGC,OAAO,CAAC,sBAAsB,CAAC,CAAClB,OAAO;AAC5D,eAAeiB,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["models/PrimerBinData.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -50,8 +50,16 @@ export interface KlarnaComponent {
|
|
|
50
50
|
* {@link handlePaymentOptionsChange}.
|
|
51
51
|
*/
|
|
52
52
|
submit(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Tears down the underlying Klarna component and releases the JS event
|
|
55
|
+
* subscriptions registered by {@link KlarnaManager.provide}. Call this after
|
|
56
|
+
* a payment completes (or before initiating another) to allow consecutive
|
|
57
|
+
* Klarna payments within the same app session.
|
|
58
|
+
*/
|
|
59
|
+
cleanUp(): Promise<void>;
|
|
53
60
|
}
|
|
54
61
|
export declare class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
62
|
+
private subscriptions;
|
|
55
63
|
constructor();
|
|
56
64
|
provide(props: KlarnaManagerProps): Promise<KlarnaComponent>;
|
|
57
65
|
private configureListeners;
|
|
@@ -59,5 +67,6 @@ export declare class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
59
67
|
removeListener(subscription: EmitterSubscription): void;
|
|
60
68
|
removeAllListenersForEvent(eventType: EventType): void;
|
|
61
69
|
removeAllListeners(): void;
|
|
70
|
+
private drainSubscriptions;
|
|
62
71
|
}
|
|
63
72
|
//# sourceMappingURL=KlarnaManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KlarnaManager.d.ts","sourceRoot":"","sources":["../../../../../../src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EACV,kCAAkC,EAClC,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"KlarnaManager.d.ts","sourceRoot":"","sources":["../../../../../../src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EACV,kCAAkC,EAClC,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK1E,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,CAAC,4BAA4B,CAAC,KAAK,IAAI,CAAC;IACrF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC,4BAA4B,CAAC,KAAK,IAAI,CAAC;IACjF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,6BAA6B,CAAC,4BAA4B,CAAC,KAAK,IAAI,CAAC;IAC3F,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,kCAAkC,CAAC,4BAA4B,CAAC,KAAK,IAAI,CAAC;CACtG;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;;;OAMG;IACH,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,0BAA0B,CAAC,cAAc,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF;;;OAGG;IACH,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;;;OAKG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,qBAAa,4CAA4C;IACvD,OAAO,CAAC,aAAa,CAA6B;;IAW5C,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;YAkCpD,kBAAkB;IAgD1B,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIxG,cAAc,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;IAKvD,0BAA0B,CAAC,SAAS,EAAE,SAAS;IAQ/C,kBAAkB;IAIlB,OAAO,CAAC,kBAAkB;CAI3B"}
|
|
@@ -3,11 +3,13 @@ import type { EmitterSubscription, EventSubscription } from 'react-native';
|
|
|
3
3
|
import type { PrimerInitializationData } from '../../../models/PrimerInitializationData';
|
|
4
4
|
import { PrimerError } from '../../../models/PrimerError';
|
|
5
5
|
import type { PrimerInputElementType } from '../../../models/PrimerInputElementType';
|
|
6
|
-
type
|
|
6
|
+
import type { PrimerBinData } from '../../../models/PrimerBinData';
|
|
7
|
+
type EventType = 'onMetadataChange' | 'onValidation' | 'onBinDataChange';
|
|
7
8
|
export interface RawDataManagerProps {
|
|
8
9
|
paymentMethodType: string;
|
|
9
10
|
onMetadataChange?: (metadata: any) => void;
|
|
10
11
|
onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;
|
|
12
|
+
onBinDataChange?: (binData: PrimerBinData) => void;
|
|
11
13
|
}
|
|
12
14
|
declare class PrimerHeadlessUniversalCheckoutRawDataManager {
|
|
13
15
|
options?: RawDataManagerProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RawDataManager.d.ts","sourceRoot":"","sources":["../../../../../../src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,IAAI,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"RawDataManager.d.ts","sourceRoot":"","sources":["../../../../../../src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,IAAI,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE,KAAK,SAAS,GAAG,kBAAkB,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAIzE,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAC7E,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CACpD;AAED,cAAM,6CAA6C;IACjD,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B,aAAa,EAAE,iBAAiB,EAAE,CAAM;;IAWlC,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,kBAAkB,EAAE,wBAAwB,CAAA;KAAE,GAAG,IAAI,CAAC;IAiBzG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BnC,4BAA4B,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAuBvE,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BlB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIxG,cAAc,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;IAIvD,0BAA0B,CAAC,SAAS,EAAE,SAAS;IAI/C,kBAAkB;CAGnB;AAED,eAAe,6CAA6C,CAAC"}
|
package/lib/typescript/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimerHeadlessUniversalCheckout.d.ts","sourceRoot":"","sources":["../../../../src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrimerHeadlessUniversalCheckout.d.ts","sourceRoot":"","sources":["../../../../src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,OAAO,KAAK,EAAE,6CAA6C,EAAE,MAAM,wDAAwD,CAAC;AA8D5H,eAAO,IAAI,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;AA+MtD,cAAM,oCAAoC;;IASxC,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,6CAA6C,EAAE,CAAC;IAgC3D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKzB;AAED,eAAO,MAAM,+BAA+B,sCAA6C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Primer.d.ts","sourceRoot":"","sources":["../../../src/Primer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Primer.d.ts","sourceRoot":"","sources":["../../../src/Primer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AA+OzD,eAAO,MAAM,MAAM,EAAE,OAkEpB,CAAC"}
|
|
@@ -18,6 +18,8 @@ export type { IPrimerHeadlessUniversalCheckoutPaymentMethod as PaymentMethod } f
|
|
|
18
18
|
export { default as AssetsManager } from './HeadlessUniversalCheckout/Managers/AssetsManager';
|
|
19
19
|
export { default as NativeUIManager } from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager';
|
|
20
20
|
export { default as RawDataManager } from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager';
|
|
21
|
+
export type { RawDataManagerProps } from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager';
|
|
22
|
+
export type { PrimerBinData as BinData, PrimerCardNetwork as CardNetwork, PrimerBinDataStatus as BinDataStatus, } from './models/PrimerBinData';
|
|
21
23
|
export type { IPrimerVaultedPaymentMethod as VaultedPaymentMethod } from './models/PrimerVaultedPaymentMethod';
|
|
22
24
|
export type { IPrimerVaultedPaymentMethodAdditonalData as VaultedPaymentMethodAdditionalData } from './models/PrimerVaultedPaymentMethodAdditionalData';
|
|
23
25
|
export type { IPrimerValidationError as ValidationError } from './models/PrimerValidationError';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type PrimerBinDataStatus = 'PARTIAL' | 'COMPLETE';
|
|
2
|
+
export interface PrimerCardNetwork {
|
|
3
|
+
displayName: string;
|
|
4
|
+
network: string;
|
|
5
|
+
allowed?: boolean;
|
|
6
|
+
issuerCountryCode?: string | null;
|
|
7
|
+
issuerName?: string | null;
|
|
8
|
+
accountFundingType?: string | null;
|
|
9
|
+
prepaidReloadableIndicator?: string | null;
|
|
10
|
+
productUsageType?: string | null;
|
|
11
|
+
productCode?: string | null;
|
|
12
|
+
productName?: string | null;
|
|
13
|
+
issuerCurrencyCode?: string | null;
|
|
14
|
+
regionalRestriction?: string | null;
|
|
15
|
+
accountNumberType?: string | null;
|
|
16
|
+
}
|
|
17
|
+
export interface PrimerBinData {
|
|
18
|
+
preferred: PrimerCardNetwork | null;
|
|
19
|
+
alternatives: PrimerCardNetwork[];
|
|
20
|
+
status: PrimerBinDataStatus;
|
|
21
|
+
firstDigits: string | null;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=PrimerBinData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrimerBinData.d.ts","sourceRoot":"","sources":["../../../../src/models/PrimerBinData.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAE5B,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEpC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B"}
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.private_header_files = ['ios/PrimerSwiftInterop.h' ]
|
|
18
18
|
|
|
19
19
|
s.dependency "React-Core"
|
|
20
|
-
s.dependency "PrimerSDK", "2.
|
|
20
|
+
s.dependency "PrimerSDK", "2.47.0"
|
|
21
21
|
|
|
22
22
|
s.pod_target_xcconfig = {
|
|
23
23
|
"SWIFT_ENABLE_EXPLICIT_MODULES" => "NO"
|
|
@@ -12,7 +12,6 @@ import type {
|
|
|
12
12
|
KlarnaPaymentValidatableData,
|
|
13
13
|
} from '../../../models/klarna/KlarnaPaymentCollectableData';
|
|
14
14
|
import type { KlarnaPaymentStep } from '../../../models/klarna/KlarnaPaymentSteps';
|
|
15
|
-
import { eventTypes } from './Utils/EventType';
|
|
16
15
|
import type { EventType } from './Utils/EventType';
|
|
17
16
|
import { PrimerSessionIntent } from '../../../models/PrimerSessionIntent';
|
|
18
17
|
|
|
@@ -70,9 +69,19 @@ export interface KlarnaComponent {
|
|
|
70
69
|
* {@link handlePaymentOptionsChange}.
|
|
71
70
|
*/
|
|
72
71
|
submit(): Promise<void>;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Tears down the underlying Klarna component and releases the JS event
|
|
75
|
+
* subscriptions registered by {@link KlarnaManager.provide}. Call this after
|
|
76
|
+
* a payment completes (or before initiating another) to allow consecutive
|
|
77
|
+
* Klarna payments within the same app session.
|
|
78
|
+
*/
|
|
79
|
+
cleanUp(): Promise<void>;
|
|
73
80
|
}
|
|
74
81
|
|
|
75
82
|
export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
83
|
+
private subscriptions: EmitterSubscription[] = [];
|
|
84
|
+
|
|
76
85
|
///////////////////////////////////////////
|
|
77
86
|
// Init
|
|
78
87
|
///////////////////////////////////////////
|
|
@@ -83,6 +92,9 @@ export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
83
92
|
///////////////////////////////////////////
|
|
84
93
|
|
|
85
94
|
async provide(props: KlarnaManagerProps): Promise<KlarnaComponent> {
|
|
95
|
+
// Drain any subscriptions left over from a previous provide() on this instance,
|
|
96
|
+
// so consumers who skip explicit cleanUp don't accumulate duplicate listeners.
|
|
97
|
+
this.drainSubscriptions();
|
|
86
98
|
await this.configureListeners(props);
|
|
87
99
|
|
|
88
100
|
const klarnaComponent: KlarnaComponent = {
|
|
@@ -104,6 +116,10 @@ export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
104
116
|
finalizePayment: async () => {
|
|
105
117
|
RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.onFinalizePayment();
|
|
106
118
|
},
|
|
119
|
+
cleanUp: async () => {
|
|
120
|
+
await RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.cleanUp();
|
|
121
|
+
this.drainSubscriptions();
|
|
122
|
+
},
|
|
107
123
|
};
|
|
108
124
|
await RNTPrimerHeadlessUniversalCheckoutKlarnaComponent.configure(props.primerSessionIntent);
|
|
109
125
|
return klarnaComponent;
|
|
@@ -111,39 +127,45 @@ export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
111
127
|
|
|
112
128
|
private async configureListeners(props: KlarnaManagerProps): Promise<void> {
|
|
113
129
|
if (props?.onStep) {
|
|
114
|
-
this.addListener('onStep', (data) => {
|
|
130
|
+
const sub = await this.addListener('onStep', (data) => {
|
|
115
131
|
props.onStep?.(data);
|
|
116
132
|
});
|
|
133
|
+
this.subscriptions.push(sub);
|
|
117
134
|
}
|
|
118
135
|
|
|
119
136
|
if (props?.onInvalid) {
|
|
120
|
-
this.addListener('onInvalid', (data) => {
|
|
137
|
+
const sub = await this.addListener('onInvalid', (data) => {
|
|
121
138
|
props.onInvalid?.(data);
|
|
122
139
|
});
|
|
140
|
+
this.subscriptions.push(sub);
|
|
123
141
|
}
|
|
124
142
|
|
|
125
143
|
if (props?.onError) {
|
|
126
|
-
this.addListener('onError', (data) => {
|
|
144
|
+
const sub = await this.addListener('onError', (data) => {
|
|
127
145
|
props.onError?.(data);
|
|
128
146
|
});
|
|
147
|
+
this.subscriptions.push(sub);
|
|
129
148
|
}
|
|
130
149
|
|
|
131
150
|
if (props?.onValid) {
|
|
132
|
-
this.addListener('onValid', (data) => {
|
|
151
|
+
const sub = await this.addListener('onValid', (data) => {
|
|
133
152
|
props.onValid?.(data);
|
|
134
153
|
});
|
|
154
|
+
this.subscriptions.push(sub);
|
|
135
155
|
}
|
|
136
156
|
|
|
137
157
|
if (props?.onValidating) {
|
|
138
|
-
this.addListener('onValidating', (data) => {
|
|
158
|
+
const sub = await this.addListener('onValidating', (data) => {
|
|
139
159
|
props.onValidating?.(data);
|
|
140
160
|
});
|
|
161
|
+
this.subscriptions.push(sub);
|
|
141
162
|
}
|
|
142
163
|
|
|
143
164
|
if (props?.onValidationError) {
|
|
144
|
-
this.addListener('onValidationError', (data) => {
|
|
165
|
+
const sub = await this.addListener('onValidationError', (data) => {
|
|
145
166
|
props.onValidationError?.(data);
|
|
146
167
|
});
|
|
168
|
+
this.subscriptions.push(sub);
|
|
147
169
|
}
|
|
148
170
|
}
|
|
149
171
|
|
|
@@ -156,14 +178,24 @@ export class PrimerHeadlessUniversalCheckoutKlarnaManager {
|
|
|
156
178
|
}
|
|
157
179
|
|
|
158
180
|
removeListener(subscription: EmitterSubscription): void {
|
|
159
|
-
|
|
181
|
+
subscription.remove();
|
|
182
|
+
this.subscriptions = this.subscriptions.filter((sub) => sub !== subscription);
|
|
160
183
|
}
|
|
161
184
|
|
|
162
185
|
removeAllListenersForEvent(eventType: EventType) {
|
|
163
186
|
eventEmitter.removeAllListeners(eventType);
|
|
164
187
|
}
|
|
165
188
|
|
|
189
|
+
// Routes through per-instance bookkeeping. Avoids the global-nuke approach
|
|
190
|
+
// (eventEmitter.removeAllListeners(eventName)) which on Android would also
|
|
191
|
+
// wipe other modules' listeners for overlapping event names like onError —
|
|
192
|
+
// those modules share the global RCTDeviceEventEmitter.
|
|
166
193
|
removeAllListeners() {
|
|
167
|
-
|
|
194
|
+
this.drainSubscriptions();
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
private drainSubscriptions(): void {
|
|
198
|
+
this.subscriptions.forEach((subscription) => subscription.remove());
|
|
199
|
+
this.subscriptions = [];
|
|
168
200
|
}
|
|
169
201
|
}
|
|
@@ -4,18 +4,20 @@ import type { EmitterSubscription, EventSubscription } from 'react-native';
|
|
|
4
4
|
import type { PrimerInitializationData } from '../../../models/PrimerInitializationData';
|
|
5
5
|
import { PrimerError } from '../../../models/PrimerError';
|
|
6
6
|
import type { PrimerInputElementType } from '../../../models/PrimerInputElementType';
|
|
7
|
+
import type { PrimerBinData } from '../../../models/PrimerBinData';
|
|
7
8
|
|
|
8
9
|
const { RNTPrimerHeadlessUniversalCheckoutRawDataManager } = NativeModules;
|
|
9
10
|
const eventEmitter = new NativeEventEmitter(RNTPrimerHeadlessUniversalCheckoutRawDataManager);
|
|
10
11
|
|
|
11
|
-
type EventType = 'onMetadataChange' | 'onValidation';
|
|
12
|
+
type EventType = 'onMetadataChange' | 'onValidation' | 'onBinDataChange';
|
|
12
13
|
|
|
13
|
-
const eventTypes: EventType[] = ['onMetadataChange', 'onValidation'];
|
|
14
|
+
const eventTypes: EventType[] = ['onMetadataChange', 'onValidation', 'onBinDataChange'];
|
|
14
15
|
|
|
15
16
|
export interface RawDataManagerProps {
|
|
16
17
|
paymentMethodType: string;
|
|
17
18
|
onMetadataChange?: (metadata: any) => void;
|
|
18
19
|
onValidation?: (isValid: boolean, errors: PrimerError[] | undefined) => void;
|
|
20
|
+
onBinDataChange?: (binData: PrimerBinData) => void;
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
class PrimerHeadlessUniversalCheckoutRawDataManager {
|
|
@@ -68,6 +70,15 @@ class PrimerHeadlessUniversalCheckoutRawDataManager {
|
|
|
68
70
|
});
|
|
69
71
|
this.subscriptions.push(sub);
|
|
70
72
|
}
|
|
73
|
+
|
|
74
|
+
if (this.options?.onBinDataChange) {
|
|
75
|
+
const sub = await this.addListener('onBinDataChange', (data) => {
|
|
76
|
+
if (this.options?.onBinDataChange) {
|
|
77
|
+
this.options.onBinDataChange(data);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
this.subscriptions.push(sub);
|
|
81
|
+
}
|
|
71
82
|
}
|
|
72
83
|
|
|
73
84
|
async getRequiredInputElementTypes(): Promise<PrimerInputElementType[]> {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import RNPrimer from '../RNPrimer';
|
|
1
2
|
import RNPrimerHeadlessUniversalCheckout from './RNPrimerHeadlessUniversalCheckout';
|
|
2
3
|
import type { PrimerCheckoutData } from '../models/PrimerCheckoutData';
|
|
3
4
|
import type { PrimerCheckoutAdditionalInfo } from '../models/PrimerCheckoutAdditionalInfo';
|
|
@@ -293,6 +294,11 @@ class PrimerHeadlessUniversalCheckoutClass {
|
|
|
293
294
|
|
|
294
295
|
return new Promise(async (resolve, reject) => {
|
|
295
296
|
try {
|
|
297
|
+
// Enforce "one mode active at a time": tear down any drop-in JS subscriptions
|
|
298
|
+
// left over from a previous Primer.showUniversalCheckout session. On Android,
|
|
299
|
+
// both modules share RCTDeviceEventEmitter — stale drop-in listeners would
|
|
300
|
+
// fire duplicate consumer callbacks when headless events are emitted.
|
|
301
|
+
RNPrimer.removeAllListeners();
|
|
296
302
|
await configureListeners();
|
|
297
303
|
const res = await RNPrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, settings);
|
|
298
304
|
|
|
@@ -316,6 +322,8 @@ class PrimerHeadlessUniversalCheckoutClass {
|
|
|
316
322
|
}
|
|
317
323
|
|
|
318
324
|
cleanUp(): Promise<void> {
|
|
325
|
+
RNPrimerHeadlessUniversalCheckout.removeAllListeners();
|
|
326
|
+
primerSettings = undefined;
|
|
319
327
|
return RNPrimerHeadlessUniversalCheckout.cleanUp();
|
|
320
328
|
}
|
|
321
329
|
}
|
package/src/Primer.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PrimerCheckoutData } from './models/PrimerCheckoutData';
|
|
2
2
|
import type { PrimerSettings } from './models/PrimerSettings';
|
|
3
3
|
import RNPrimer from './RNPrimer';
|
|
4
|
+
import RNPrimerHeadlessUniversalCheckout from './HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout';
|
|
4
5
|
import type { PrimerCheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';
|
|
5
6
|
import type { PrimerClientSession } from './models/PrimerClientSession';
|
|
6
7
|
import type { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';
|
|
@@ -112,6 +113,11 @@ let primerSettings: PrimerSettings | undefined;
|
|
|
112
113
|
async function configureListeners(): Promise<void> {
|
|
113
114
|
return new Promise(async (resolve, reject) => {
|
|
114
115
|
try {
|
|
116
|
+
// Enforce "one mode active at a time": tear down any headless JS subscriptions
|
|
117
|
+
// left over from a previous HeadlessUniversalCheckout session. On Android, both
|
|
118
|
+
// modules share RCTDeviceEventEmitter — stale headless listeners would fire
|
|
119
|
+
// duplicate consumer callbacks when drop-in events are emitted.
|
|
120
|
+
RNPrimerHeadlessUniversalCheckout.removeAllListeners();
|
|
115
121
|
RNPrimer.removeAllListeners();
|
|
116
122
|
|
|
117
123
|
let implementedRNCallbacks: PrimerImplementedRNCallbacks = {
|
|
@@ -300,12 +306,16 @@ export const Primer: IPrimer = {
|
|
|
300
306
|
},
|
|
301
307
|
|
|
302
308
|
cleanUp(): void {
|
|
309
|
+
RNPrimerHeadlessUniversalCheckout.removeAllListeners();
|
|
303
310
|
RNPrimer.removeAllListeners();
|
|
311
|
+
primerSettings = undefined;
|
|
304
312
|
RNPrimer.dismiss();
|
|
305
313
|
},
|
|
306
314
|
|
|
307
315
|
dismiss(): void {
|
|
316
|
+
RNPrimerHeadlessUniversalCheckout.removeAllListeners();
|
|
308
317
|
RNPrimer.removeAllListeners();
|
|
318
|
+
primerSettings = undefined;
|
|
309
319
|
RNPrimer.dismiss();
|
|
310
320
|
},
|
|
311
321
|
};
|
package/src/index.tsx
CHANGED
|
@@ -46,6 +46,12 @@ export type { IPrimerHeadlessUniversalCheckoutPaymentMethod as PaymentMethod } f
|
|
|
46
46
|
export { default as AssetsManager } from './HeadlessUniversalCheckout/Managers/AssetsManager';
|
|
47
47
|
export { default as NativeUIManager } from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager';
|
|
48
48
|
export { default as RawDataManager } from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager';
|
|
49
|
+
export type { RawDataManagerProps } from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager';
|
|
50
|
+
export type {
|
|
51
|
+
PrimerBinData as BinData,
|
|
52
|
+
PrimerCardNetwork as CardNetwork,
|
|
53
|
+
PrimerBinDataStatus as BinDataStatus,
|
|
54
|
+
} from './models/PrimerBinData';
|
|
49
55
|
export type { IPrimerVaultedPaymentMethod as VaultedPaymentMethod } from './models/PrimerVaultedPaymentMethod';
|
|
50
56
|
|
|
51
57
|
export type { IPrimerVaultedPaymentMethodAdditonalData as VaultedPaymentMethodAdditionalData } from './models/PrimerVaultedPaymentMethodAdditionalData';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type PrimerBinDataStatus = 'PARTIAL' | 'COMPLETE';
|
|
2
|
+
|
|
3
|
+
export interface PrimerCardNetwork {
|
|
4
|
+
displayName: string;
|
|
5
|
+
network: string;
|
|
6
|
+
// Only provided by iOS — computed from merchant-allowed networks configuration
|
|
7
|
+
allowed?: boolean;
|
|
8
|
+
// Enriched fields — populated only when status is 'COMPLETE' (8+ digits, successful API response)
|
|
9
|
+
issuerCountryCode?: string | null;
|
|
10
|
+
issuerName?: string | null;
|
|
11
|
+
accountFundingType?: string | null;
|
|
12
|
+
prepaidReloadableIndicator?: string | null;
|
|
13
|
+
productUsageType?: string | null;
|
|
14
|
+
productCode?: string | null;
|
|
15
|
+
productName?: string | null;
|
|
16
|
+
issuerCurrencyCode?: string | null;
|
|
17
|
+
regionalRestriction?: string | null;
|
|
18
|
+
accountNumberType?: string | null;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface PrimerBinData {
|
|
22
|
+
// First network allowed by merchant config; null when status is PARTIAL
|
|
23
|
+
preferred: PrimerCardNetwork | null;
|
|
24
|
+
// Other detected networks (e.g. co-badged cards like Visa + Cartes Bancaires)
|
|
25
|
+
alternatives: PrimerCardNetwork[];
|
|
26
|
+
status: PrimerBinDataStatus;
|
|
27
|
+
firstDigits: string | null;
|
|
28
|
+
}
|