@primer-io/react-native 2.21.0 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +4 -4
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -2
- package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +10 -8
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +36 -13
- package/android/src/main/java/com/primerioreactnative/PrimerRNViewModelStoreOwner.kt +9 -0
- package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +9 -1
- package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutComponentEvent.kt +10 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +8 -13
- package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +284 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerKlarnaPaymentViewManager.kt +103 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +334 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +10 -8
- package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/components/manager/vault/PrimerRNHeadlessUniversalCheckoutVaultManager.kt +5 -9
- package/android/src/main/java/com/primerioreactnative/datamodels/NamedComponentStepRN.kt +7 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/NamedComponentValidatableDataRN.kt +7 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +8 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerIssuingBankRN.kt +11 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentMethodDataRN.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/banks/BanksCollectableDataRN.kt +17 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/banks/BanksStepRN.kt +20 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksCollectableData.kt +8 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksStep.kt +11 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCategoryRN.kt +11 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCollectableDataRN.kt +21 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentStepRN.kt +31 -0
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerError.kt +13 -0
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerIssuingBank.kt +7 -0
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodData.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategory.kt +12 -0
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategoryRN.kt +12 -0
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCollectableData.kt +14 -0
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentStep.kt +21 -0
- package/android/src/main/java/com/primerioreactnative/utils/ErrorHelper.kt +3 -2
- package/android/src/main/java/com/primerioreactnative/utils/JsonConverter.kt +8 -1
- package/ios/ReactNative-Bridging-Header.h +1 -0
- package/ios/Sources/DataModels/Banks Component/RNTBanksCollectableData.swift +42 -0
- package/ios/Sources/DataModels/Banks Component/RNTBanksStep.swift +36 -0
- package/ios/Sources/DataModels/Klarna Component/PrimerHeadlessUniversalCheckoutComponentEvent.swift +36 -0
- package/ios/Sources/DataModels/Klarna Component/RNTKlarnaCollectableData.swift +36 -0
- package/ios/Sources/DataModels/Klarna Component/RNTKlarnaPaymentCategory.swift +33 -0
- package/ios/Sources/DataModels/Klarna Component/RNTKlarnaStep.swift +61 -0
- package/ios/Sources/DataModels/Klarna Component/RNTPrimerError.swift +67 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Klarna/KlarnaPaymentView Manager/RNTPrimerKlarnaPaymentViewManager.h +14 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Klarna/KlarnaPaymentView Manager/RNTPrimerKlarnaPaymentViewManager.m +25 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.m +27 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.swift +272 -0
- package/ios/Sources/Headless Universal Checkout/Managers/RNTRedirectManager.m +25 -0
- package/ios/Sources/Headless Universal Checkout/Managers/RNTRedirectManager.swift +183 -0
- package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +3 -1
- package/ios/Sources/Helpers/PrimerCheckoutPaymentMethodData+RN.swift +21 -0
- package/ios/Sources/RNTPrimer.swift +4 -2
- package/ios/Sources/version.swift +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js +9 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +103 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js +99 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +4 -4
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js +8 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +3 -2
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/commonjs/Primer.js +2 -1
- package/lib/commonjs/Primer.js.map +1 -1
- package/lib/commonjs/index.js +186 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/IssuingBank.js +2 -0
- package/lib/commonjs/models/IssuingBank.js.map +1 -0
- package/lib/commonjs/models/NamedComponentStep.js +2 -0
- package/lib/commonjs/models/NamedComponentStep.js.map +1 -0
- package/lib/commonjs/models/NamedComponentValidatableData.js +2 -0
- package/lib/commonjs/models/NamedComponentValidatableData.js.map +1 -0
- package/lib/commonjs/models/PrimerComponentDataValidation.js +6 -0
- package/lib/commonjs/models/PrimerComponentDataValidation.js.map +1 -0
- package/lib/commonjs/models/PrimerError.js +2 -1
- package/lib/commonjs/models/PrimerError.js.map +1 -1
- package/lib/commonjs/models/banks/BanksCollectableData.js +6 -0
- package/lib/commonjs/models/banks/BanksCollectableData.js.map +1 -0
- package/lib/commonjs/models/banks/BanksSteps.js +6 -0
- package/lib/commonjs/models/banks/BanksSteps.js.map +1 -0
- package/lib/commonjs/models/klarna/KlarnaPaymentCategory.js +2 -0
- package/lib/commonjs/models/klarna/KlarnaPaymentCategory.js.map +1 -0
- package/lib/commonjs/models/klarna/KlarnaPaymentCollectableData.js +6 -0
- package/lib/commonjs/models/klarna/KlarnaPaymentCollectableData.js.map +1 -0
- package/lib/commonjs/models/klarna/KlarnaPaymentSteps.js +6 -0
- package/lib/commonjs/models/klarna/KlarnaPaymentSteps.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js +3 -0
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +96 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js +92 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +4 -4
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js +2 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +3 -2
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/module/Primer.js +2 -1
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/index.js +24 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/IssuingBank.js +2 -0
- package/lib/module/models/IssuingBank.js.map +1 -0
- package/lib/module/models/NamedComponentStep.js +2 -0
- package/lib/module/models/NamedComponentStep.js.map +1 -0
- package/lib/module/models/NamedComponentValidatableData.js +2 -0
- package/lib/module/models/NamedComponentValidatableData.js.map +1 -0
- package/lib/module/models/PrimerComponentDataValidation.js +2 -0
- package/lib/module/models/PrimerComponentDataValidation.js.map +1 -0
- package/lib/module/models/PrimerError.js +2 -1
- package/lib/module/models/PrimerError.js.map +1 -1
- package/lib/module/models/banks/BanksCollectableData.js +2 -0
- package/lib/module/models/banks/BanksCollectableData.js.map +1 -0
- package/lib/module/models/banks/BanksSteps.js +2 -0
- package/lib/module/models/banks/BanksSteps.js.map +1 -0
- package/lib/module/models/klarna/KlarnaPaymentCategory.js +2 -0
- package/lib/module/models/klarna/KlarnaPaymentCategory.js.map +1 -0
- package/lib/module/models/klarna/KlarnaPaymentCollectableData.js +2 -0
- package/lib/module/models/klarna/KlarnaPaymentCollectableData.js.map +1 -0
- package/lib/module/models/klarna/KlarnaPaymentSteps.js +2 -0
- package/lib/module/models/klarna/KlarnaPaymentSteps.js.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.d.ts +2 -0
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts +54 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts +50 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.d.ts +3 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -1
- package/lib/typescript/Primer.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +26 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/IssuingBank.d.ts +9 -0
- package/lib/typescript/models/IssuingBank.d.ts.map +1 -0
- package/lib/typescript/models/NamedComponentStep.d.ts +12 -0
- package/lib/typescript/models/NamedComponentStep.d.ts.map +1 -0
- package/lib/typescript/models/NamedComponentValidatableData.d.ts +12 -0
- package/lib/typescript/models/NamedComponentValidatableData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts +1 -0
- package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerComponentDataValidation.d.ts +54 -0
- package/lib/typescript/models/PrimerComponentDataValidation.d.ts.map +1 -0
- package/lib/typescript/models/PrimerError.d.ts +2 -6
- package/lib/typescript/models/PrimerError.d.ts.map +1 -1
- package/lib/typescript/models/PrimerValidationError.d.ts +3 -3
- package/lib/typescript/models/PrimerValidationError.d.ts.map +1 -1
- package/lib/typescript/models/banks/BanksCollectableData.d.ts +23 -0
- package/lib/typescript/models/banks/BanksCollectableData.d.ts.map +1 -0
- package/lib/typescript/models/banks/BanksSteps.d.ts +20 -0
- package/lib/typescript/models/banks/BanksSteps.d.ts.map +1 -0
- package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts +24 -0
- package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts.map +1 -0
- package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts +24 -0
- package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts.map +1 -0
- package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts +36 -0
- package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.tsx +5 -0
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts +161 -0
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts +147 -0
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +4 -4
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.ts +10 -0
- package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +3 -2
- package/src/Primer.ts +2 -1
- package/src/index.tsx +62 -62
- package/src/models/IssuingBank.ts +8 -0
- package/src/models/NamedComponentStep.ts +11 -0
- package/src/models/NamedComponentValidatableData.ts +11 -0
- package/src/models/PrimerCheckoutPaymentMethodData.ts +6 -1
- package/src/models/PrimerComponentDataValidation.ts +60 -0
- package/src/models/PrimerError.ts +8 -14
- package/src/models/PrimerValidationError.ts +3 -3
- package/src/models/banks/BanksCollectableData.ts +25 -0
- package/src/models/banks/BanksSteps.ts +22 -0
- package/src/models/klarna/KlarnaPaymentCategory.ts +23 -0
- package/src/models/klarna/KlarnaPaymentCollectableData.ts +26 -0
- package/src/models/klarna/KlarnaPaymentSteps.ts +36 -0
- /package/ios/Sources/Headless Universal Checkout/Managers/{RNTAssetsManager.m → Assets Manager/RNTAssetsManager.m} +0 -0
- /package/ios/Sources/Headless Universal Checkout/Managers/{RNTAssetsManager.swift → Assets Manager/RNTAssetsManager.swift} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
package com.primerioreactnative.datamodels.klarna
|
|
2
|
+
|
|
3
|
+
import com.primerioreactnative.datamodels.klarna.KlarnaPaymentCategoryRN
|
|
4
|
+
import com.primerioreactnative.datamodels.NamedComponentValidatableData
|
|
5
|
+
import kotlinx.serialization.Serializable
|
|
6
|
+
|
|
7
|
+
@Serializable
|
|
8
|
+
internal sealed interface KlarnaPaymentCollectableDataRN : NamedComponentValidatableData {
|
|
9
|
+
@Serializable
|
|
10
|
+
data class PaymentOptionsRN(
|
|
11
|
+
val returnIntentUrl: String,
|
|
12
|
+
val paymentCategory: KlarnaPaymentCategoryRN
|
|
13
|
+
) : KlarnaPaymentCollectableDataRN {
|
|
14
|
+
override val validatableDataName: String = "klarnaPaymentOptions"
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@Serializable
|
|
18
|
+
class FinalizePaymentRN : KlarnaPaymentCollectableDataRN {
|
|
19
|
+
override val validatableDataName = "klarnaPaymentFinalization"
|
|
20
|
+
}
|
|
21
|
+
}
|
package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentStepRN.kt
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
package com.primerioreactnative.datamodels.klarna
|
|
2
|
+
|
|
3
|
+
import kotlinx.serialization.Serializable
|
|
4
|
+
import com.primerioreactnative.datamodels.NamedComponentStep
|
|
5
|
+
|
|
6
|
+
@Serializable
|
|
7
|
+
internal sealed interface KlarnaPaymentStepRN : NamedComponentStep {
|
|
8
|
+
@Serializable
|
|
9
|
+
data class PaymentSessionCreatedRN(
|
|
10
|
+
val paymentCategories: List<KlarnaPaymentCategoryRN>
|
|
11
|
+
) : KlarnaPaymentStepRN {
|
|
12
|
+
override val stepName: String = "paymentSessionCreated"
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@Serializable
|
|
16
|
+
class PaymentViewLoadedRN : KlarnaPaymentStepRN {
|
|
17
|
+
override val stepName: String = "paymentViewLoaded"
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@Serializable
|
|
21
|
+
data class PaymentSessionAuthorizedRN(
|
|
22
|
+
val isFinalized: Boolean
|
|
23
|
+
) : KlarnaPaymentStepRN {
|
|
24
|
+
override val stepName: String = "paymentSessionAuthorized"
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@Serializable
|
|
28
|
+
class PaymentSessionFinalizedRN : KlarnaPaymentStepRN {
|
|
29
|
+
override val stepName: String = "paymentSessionFinalized"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
package com.primerioreactnative.extensions
|
|
2
|
+
|
|
3
|
+
import io.primer.android.domain.error.models.PrimerError
|
|
4
|
+
import com.primerioreactnative.datamodels.PrimerErrorRN
|
|
5
|
+
|
|
6
|
+
fun PrimerError.toPrimerErrorRN(): PrimerErrorRN =
|
|
7
|
+
PrimerErrorRN(
|
|
8
|
+
errorId = errorId,
|
|
9
|
+
errorCode = errorCode,
|
|
10
|
+
description = description,
|
|
11
|
+
diagnosticsId = diagnosticsId,
|
|
12
|
+
recoverySuggestion = recoverySuggestion
|
|
13
|
+
)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
package com.primerioreactnative.extensions
|
|
2
|
+
|
|
3
|
+
import com.primerioreactnative.datamodels.PrimerIssuingBankRN
|
|
4
|
+
import io.primer.android.domain.rpc.banks.models.IssuingBank
|
|
5
|
+
|
|
6
|
+
internal fun IssuingBank.toPrimerIssuingBankRN() =
|
|
7
|
+
PrimerIssuingBankRN(id, name, disabled, iconUrl)
|
|
@@ -4,4 +4,4 @@ import com.primerioreactnative.datamodels.PrimerPaymentMethodDataRN
|
|
|
4
4
|
import io.primer.android.domain.tokenization.models.PrimerPaymentMethodData
|
|
5
5
|
|
|
6
6
|
internal fun PrimerPaymentMethodData.toPrimerPaymentMethodDataRN() =
|
|
7
|
-
PrimerPaymentMethodDataRN(paymentMethodType)
|
|
7
|
+
PrimerPaymentMethodDataRN(paymentMethodType, paymentMethodType)
|
package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategory.kt
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
package com.primerioreactnative.extensions.klarna
|
|
2
|
+
|
|
3
|
+
import com.primerioreactnative.datamodels.klarna.KlarnaPaymentCategoryRN
|
|
4
|
+
import io.primer.android.components.domain.payments.paymentMethods.nativeUi.klarna.models.KlarnaPaymentCategory
|
|
5
|
+
|
|
6
|
+
internal fun KlarnaPaymentCategory.toKlarnaPaymentCategoryRN() =
|
|
7
|
+
KlarnaPaymentCategoryRN(
|
|
8
|
+
identifier = identifier,
|
|
9
|
+
name = name,
|
|
10
|
+
descriptiveAssetUrl = descriptiveAssetUrl,
|
|
11
|
+
standardAssetUrl = standardAssetUrl
|
|
12
|
+
)
|
package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategoryRN.kt
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
package com.primerioreactnative.extensions.klarna
|
|
2
|
+
|
|
3
|
+
import com.primerioreactnative.datamodels.klarna.KlarnaPaymentCategoryRN
|
|
4
|
+
import io.primer.android.components.domain.payments.paymentMethods.nativeUi.klarna.models.KlarnaPaymentCategory
|
|
5
|
+
|
|
6
|
+
internal fun KlarnaPaymentCategoryRN.toKlarnaPaymentCategory() =
|
|
7
|
+
KlarnaPaymentCategory(
|
|
8
|
+
identifier = identifier,
|
|
9
|
+
name = name,
|
|
10
|
+
descriptiveAssetUrl = descriptiveAssetUrl,
|
|
11
|
+
standardAssetUrl = standardAssetUrl
|
|
12
|
+
)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
package com.primerioreactnative.extensions.klarna
|
|
2
|
+
|
|
3
|
+
import com.primerioreactnative.datamodels.klarna.KlarnaPaymentCollectableDataRN.PaymentOptionsRN
|
|
4
|
+
import com.primerioreactnative.datamodels.klarna.KlarnaPaymentCollectableDataRN.FinalizePaymentRN
|
|
5
|
+
import io.primer.android.components.presentation.paymentMethods.nativeUi.klarna.models.KlarnaPaymentCollectableData.PaymentOptions
|
|
6
|
+
import io.primer.android.components.presentation.paymentMethods.nativeUi.klarna.models.KlarnaPaymentCollectableData.FinalizePayment
|
|
7
|
+
|
|
8
|
+
internal fun PaymentOptions.toPaymentOptionsRN() =
|
|
9
|
+
PaymentOptionsRN(
|
|
10
|
+
returnIntentUrl = returnIntentUrl,
|
|
11
|
+
paymentCategory = paymentCategory.toKlarnaPaymentCategoryRN()
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
internal fun FinalizePayment.toFinalizePaymentRN() = FinalizePaymentRN()
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
package com.primerioreactnative.extensions.klarna
|
|
2
|
+
|
|
3
|
+
import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentSessionCreatedRN
|
|
4
|
+
import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentViewLoadedRN
|
|
5
|
+
import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentSessionAuthorizedRN
|
|
6
|
+
import com.primerioreactnative.datamodels.klarna.KlarnaPaymentStepRN.PaymentSessionFinalizedRN
|
|
7
|
+
import com.primerioreactnative.extensions.klarna.toKlarnaPaymentCategoryRN
|
|
8
|
+
import io.primer.android.components.presentation.paymentMethods.nativeUi.klarna.models.KlarnaPaymentStep.PaymentSessionCreated
|
|
9
|
+
import io.primer.android.components.presentation.paymentMethods.nativeUi.klarna.models.KlarnaPaymentStep.PaymentViewLoaded
|
|
10
|
+
import io.primer.android.components.presentation.paymentMethods.nativeUi.klarna.models.KlarnaPaymentStep.PaymentSessionAuthorized
|
|
11
|
+
import io.primer.android.components.presentation.paymentMethods.nativeUi.klarna.models.KlarnaPaymentStep.PaymentSessionFinalized
|
|
12
|
+
|
|
13
|
+
internal fun PaymentSessionCreated.toPaymentSessionCreatedRN() =
|
|
14
|
+
PaymentSessionCreatedRN(paymentCategories = paymentCategories.map { it.toKlarnaPaymentCategoryRN() })
|
|
15
|
+
|
|
16
|
+
internal fun PaymentViewLoaded.toPaymentViewLoadedRN() = PaymentViewLoadedRN()
|
|
17
|
+
|
|
18
|
+
internal fun PaymentSessionAuthorized.toPaymentSessionAuthorizedRN() =
|
|
19
|
+
PaymentSessionAuthorizedRN(isFinalized = isFinalized)
|
|
20
|
+
|
|
21
|
+
internal fun PaymentSessionFinalized.toPaymentSessionFinalizedRN() = PaymentSessionFinalizedRN()
|
|
@@ -4,6 +4,7 @@ import com.primerioreactnative.datamodels.ErrorTypeRN
|
|
|
4
4
|
import com.primerioreactnative.datamodels.PrimerErrorRN
|
|
5
5
|
|
|
6
6
|
infix fun ErrorTypeRN.errorTo(message: String) = PrimerErrorRN(
|
|
7
|
-
errorId,
|
|
8
|
-
|
|
7
|
+
errorId = errorId,
|
|
8
|
+
errorCode = null,
|
|
9
|
+
description = message
|
|
9
10
|
)
|
|
@@ -7,6 +7,13 @@ import org.json.JSONException
|
|
|
7
7
|
|
|
8
8
|
import org.json.JSONObject
|
|
9
9
|
|
|
10
|
+
|
|
11
|
+
internal fun JSONObject?.toWritableMap(): WritableMap =
|
|
12
|
+
this?.let { convertJsonToMap(this) } ?: Arguments.createMap()
|
|
13
|
+
|
|
14
|
+
internal fun JSONArray?.toWritableArray(): WritableArray =
|
|
15
|
+
this?.let { convertJsonToArray(this) } ?: Arguments.createArray()
|
|
16
|
+
|
|
10
17
|
@Throws(JSONException::class)
|
|
11
18
|
internal fun convertJsonToMap(jsonObject: JSONObject): WritableMap {
|
|
12
19
|
val map = Arguments.createMap()
|
|
@@ -27,7 +34,7 @@ internal fun convertJsonToMap(jsonObject: JSONObject): WritableMap {
|
|
|
27
34
|
}
|
|
28
35
|
|
|
29
36
|
@Throws(JSONException::class)
|
|
30
|
-
|
|
37
|
+
internal fun convertJsonToArray(jsonArray: JSONArray): WritableArray {
|
|
31
38
|
val array: WritableArray = Arguments.createArray()
|
|
32
39
|
for (i in 0 until jsonArray.length()) {
|
|
33
40
|
when (val value = jsonArray[i]) {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
#import <React/RCTViewManager.h>
|
|
4
4
|
#import <React/RCTUIManager.h>
|
|
5
5
|
#import <React/RCTView.h>
|
|
6
|
+
#import "RNTPrimerKlarnaPaymentViewManager.h"
|
|
6
7
|
|
|
7
8
|
// for view controller implementation https://stackoverflow.com/questions/45741903/react-native-ios-how-can-i-navigate-to-a-non-react-native-view-native-ios-vie/46007680#46007680
|
|
8
9
|
//#import "React/RCTBridge.h"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNTBanksCollectableData.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 27.03.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import PrimerSDK
|
|
10
|
+
|
|
11
|
+
protocol BanksCollectableDataRN {
|
|
12
|
+
var validatableDataName: String { get }
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
class FilterRN: BanksCollectableDataRN, Encodable {
|
|
16
|
+
var validatableDataName: String = "bankListFilter"
|
|
17
|
+
var text: String
|
|
18
|
+
|
|
19
|
+
init(text: String) {
|
|
20
|
+
self.text = text
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
class BankIdRN: BanksCollectableDataRN, Encodable {
|
|
25
|
+
var validatableDataName: String = "bankId"
|
|
26
|
+
var id: String
|
|
27
|
+
|
|
28
|
+
init(id: String) {
|
|
29
|
+
self.id = id
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
extension BanksCollectableData {
|
|
34
|
+
func toBankIdRN(bankId: String) -> BankIdRN {
|
|
35
|
+
return BankIdRN(id: bankId)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
func toFilterRN(text: String) -> FilterRN {
|
|
39
|
+
return FilterRN(text: text)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNTBanksStep.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 27.03.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import PrimerSDK
|
|
10
|
+
|
|
11
|
+
protocol BanksStepRN {
|
|
12
|
+
var stepName: String { get }
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
class LoadingRN: BanksStepRN, Encodable {
|
|
16
|
+
var stepName: String = "banksLoading"
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class BanksRetrievedRN: BanksStepRN, Encodable {
|
|
20
|
+
var stepName: String = "banksRetrieved"
|
|
21
|
+
var banks: [IssuingBank]
|
|
22
|
+
|
|
23
|
+
init(banks: [IssuingBank]) {
|
|
24
|
+
self.banks = banks
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
extension BanksStep {
|
|
29
|
+
func toLoadingRN() -> LoadingRN {
|
|
30
|
+
return LoadingRN()
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
func toBanksRetrievedRN(banks: [IssuingBank]) -> BanksRetrievedRN {
|
|
34
|
+
return BanksRetrievedRN(banks: banks)
|
|
35
|
+
}
|
|
36
|
+
}
|
package/ios/Sources/DataModels/Klarna Component/PrimerHeadlessUniversalCheckoutComponentEvent.swift
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//
|
|
2
|
+
// PrimerHeadlessUniversalCheckoutComponentEvent.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 01.04.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
|
|
10
|
+
@objc
|
|
11
|
+
enum PrimerHeadlessUniversalCheckoutComponentEvent: Int, CaseIterable {
|
|
12
|
+
|
|
13
|
+
case onStep
|
|
14
|
+
case onError
|
|
15
|
+
case onValid
|
|
16
|
+
case onInvalid
|
|
17
|
+
case onValidating
|
|
18
|
+
case onValidationError
|
|
19
|
+
|
|
20
|
+
var stringValue: String {
|
|
21
|
+
switch self {
|
|
22
|
+
case .onStep:
|
|
23
|
+
return "onStep"
|
|
24
|
+
case .onError:
|
|
25
|
+
return "onError"
|
|
26
|
+
case .onValid:
|
|
27
|
+
return "onValid"
|
|
28
|
+
case .onInvalid:
|
|
29
|
+
return "onInvalid"
|
|
30
|
+
case .onValidating:
|
|
31
|
+
return "onValidating"
|
|
32
|
+
case .onValidationError:
|
|
33
|
+
return "onValidationError"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNTKlarnaCollectableData.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 03.04.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import PrimerSDK
|
|
10
|
+
|
|
11
|
+
protocol KlarnaCollectableDataRN {
|
|
12
|
+
var validatableDataName: String { get }
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
class KlarnaPaymentOptionsRN: KlarnaCollectableDataRN, Encodable {
|
|
16
|
+
var validatableDataName: String = "klarnaPaymentOptions"
|
|
17
|
+
var paymentCategory: KlarnaPaymentCategoryRN
|
|
18
|
+
|
|
19
|
+
init(paymentCategory: KlarnaPaymentCategory) {
|
|
20
|
+
self.paymentCategory = paymentCategory.toKlarnaPaymentCategoryRN()
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
class FinalizePaymentRN: KlarnaCollectableDataRN, Encodable {
|
|
25
|
+
var validatableDataName: String = "klarnaPaymentFinalization"
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
extension KlarnaCollectableData {
|
|
29
|
+
func toKlarnaPaymentOptionsRN(category: KlarnaPaymentCategory) -> KlarnaPaymentOptionsRN {
|
|
30
|
+
return KlarnaPaymentOptionsRN(paymentCategory: category)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
func toFinalizePaymentRN() -> FinalizePaymentRN {
|
|
34
|
+
return FinalizePaymentRN()
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNTKlarnaPaymentCategory.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 03.04.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import PrimerSDK
|
|
10
|
+
|
|
11
|
+
@objc
|
|
12
|
+
class KlarnaPaymentCategoryRN: NSObject, Codable {
|
|
13
|
+
var identifier: String
|
|
14
|
+
var name: String
|
|
15
|
+
var descriptiveAssetUrl: String
|
|
16
|
+
var standardAssetUrl: String
|
|
17
|
+
|
|
18
|
+
init(identifier: String, name: String, descriptiveAssetUrl: String, standardAssetUrl: String) {
|
|
19
|
+
self.identifier = identifier
|
|
20
|
+
self.name = name
|
|
21
|
+
self.descriptiveAssetUrl = descriptiveAssetUrl
|
|
22
|
+
self.standardAssetUrl = standardAssetUrl
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
extension KlarnaPaymentCategory {
|
|
27
|
+
func toKlarnaPaymentCategoryRN() -> KlarnaPaymentCategoryRN {
|
|
28
|
+
return KlarnaPaymentCategoryRN(identifier: self.id,
|
|
29
|
+
name: self.name,
|
|
30
|
+
descriptiveAssetUrl: self.descriptiveAssetUrl,
|
|
31
|
+
standardAssetUrl: self.descriptiveAssetUrl)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNTKlarnaStep.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 03.04.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import PrimerSDK
|
|
10
|
+
|
|
11
|
+
protocol KlarnaStepRN {
|
|
12
|
+
var stepName: String { get }
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/// Session creation
|
|
16
|
+
class PaymentSessionCreatedRN: KlarnaStepRN, Encodable {
|
|
17
|
+
var stepName: String = "paymentSessionCreated"
|
|
18
|
+
var paymentCategories: [KlarnaPaymentCategoryRN]
|
|
19
|
+
|
|
20
|
+
init(paymentCategories: [KlarnaPaymentCategory]) {
|
|
21
|
+
self.paymentCategories = paymentCategories.map { $0.toKlarnaPaymentCategoryRN() }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/// Session authorization
|
|
26
|
+
class PaymentSessionAuthorizedRN: KlarnaStepRN, Encodable {
|
|
27
|
+
var stepName: String = "paymentSessionAuthorized"
|
|
28
|
+
var isFinalized: Bool
|
|
29
|
+
|
|
30
|
+
init(isFinalized: Bool) {
|
|
31
|
+
self.isFinalized = isFinalized
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/// Session finalization
|
|
36
|
+
class PaymentSessionFinalizedRN: KlarnaStepRN, Encodable {
|
|
37
|
+
var stepName: String = "paymentSessionFinalized"
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/// Payment view loaded
|
|
41
|
+
class PaymentViewLoadedRN: KlarnaStepRN, Encodable {
|
|
42
|
+
var stepName: String = "paymentViewLoaded"
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
extension KlarnaStep {
|
|
46
|
+
func toPaymentSessionCreatedRN(categories: [KlarnaPaymentCategory]) -> PaymentSessionCreatedRN {
|
|
47
|
+
return PaymentSessionCreatedRN(paymentCategories: categories)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
func toPaymentSessionAuthorizedRN(isFinalized: Bool) -> PaymentSessionAuthorizedRN {
|
|
51
|
+
return PaymentSessionAuthorizedRN(isFinalized: isFinalized)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
func toPaymentSessionFinalizedRN() -> PaymentSessionFinalizedRN {
|
|
55
|
+
return PaymentSessionFinalizedRN()
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
func toPaymentViewLoadedRN() -> PaymentViewLoadedRN {
|
|
59
|
+
return PaymentViewLoadedRN()
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNTPrimerError.swift
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 03.04.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import PrimerSDK
|
|
10
|
+
|
|
11
|
+
struct PrimerErrorRN: Encodable {
|
|
12
|
+
var errorId: String?
|
|
13
|
+
var errorCode: Int?
|
|
14
|
+
var description: String?
|
|
15
|
+
var diagnosticsId: String?
|
|
16
|
+
var recoverySuggestion: String?
|
|
17
|
+
|
|
18
|
+
init(
|
|
19
|
+
errorId: String? = nil,
|
|
20
|
+
errorCode: Int? = nil,
|
|
21
|
+
description: String? = nil,
|
|
22
|
+
diagnosticsId: String? = nil,
|
|
23
|
+
recoverySuggestion: String? = nil
|
|
24
|
+
) {
|
|
25
|
+
self.errorId = errorId
|
|
26
|
+
self.errorCode = errorCode
|
|
27
|
+
self.description = description
|
|
28
|
+
self.diagnosticsId = diagnosticsId
|
|
29
|
+
self.recoverySuggestion = recoverySuggestion
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
struct PrimerValidationErrorRN: Encodable {
|
|
34
|
+
var errorId: String?
|
|
35
|
+
var description: String?
|
|
36
|
+
var diagnosticsId: String?
|
|
37
|
+
|
|
38
|
+
init(errorId: String? = nil,
|
|
39
|
+
description: String? = nil,
|
|
40
|
+
diagnosticsId: String? = nil
|
|
41
|
+
) {
|
|
42
|
+
self.errorId = errorId
|
|
43
|
+
self.description = description
|
|
44
|
+
self.diagnosticsId = diagnosticsId
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
extension PrimerError {
|
|
49
|
+
func toPrimerErrorRN() -> PrimerErrorRN {
|
|
50
|
+
return PrimerErrorRN(
|
|
51
|
+
errorId: self.errorId,
|
|
52
|
+
errorCode: self.errorCode,
|
|
53
|
+
description: self.errorDescription,
|
|
54
|
+
diagnosticsId: self.diagnosticsId,
|
|
55
|
+
recoverySuggestion: self.recoverySuggestion
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
extension PrimerValidationError {
|
|
61
|
+
func toPrimerValidationErrorRN() -> PrimerValidationErrorRN {
|
|
62
|
+
return PrimerValidationErrorRN(errorId: self.errorId,
|
|
63
|
+
description: self.errorDescription,
|
|
64
|
+
diagnosticsId: self.diagnosticsId
|
|
65
|
+
)
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNTPrimerKlarnaPaymentViewManager.h
|
|
3
|
+
// Pods
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 08.04.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <React/RCTViewManager.h>
|
|
9
|
+
|
|
10
|
+
@interface RNTPrimerKlarnaPaymentViewManager : RCTViewManager
|
|
11
|
+
|
|
12
|
+
+ (void)updatePrimerKlarnaPaymentView:(UIView *)view;
|
|
13
|
+
|
|
14
|
+
@end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNTPrimerKlarnaPaymentViewManager.m
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 08.04.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <React/RCTViewManager.h>
|
|
9
|
+
#import "RNTPrimerKlarnaPaymentViewManager.h"
|
|
10
|
+
|
|
11
|
+
@implementation RNTPrimerKlarnaPaymentViewManager
|
|
12
|
+
|
|
13
|
+
RCT_EXPORT_MODULE(PrimerKlarnaPaymentView)
|
|
14
|
+
|
|
15
|
+
static __weak UIView *primerKlarnaPaymentView = nil;
|
|
16
|
+
|
|
17
|
+
+ (void)updatePrimerKlarnaPaymentView:(UIView *)view {
|
|
18
|
+
primerKlarnaPaymentView = view;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
- (UIView *)view {
|
|
22
|
+
return primerKlarnaPaymentView;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//
|
|
2
|
+
// PrimerRNHeadlessUniversalCheckoutKlarnaComponent.m
|
|
3
|
+
// primer-io-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Stefan Vrancianu on 01.04.2024.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <Foundation/Foundation.h>
|
|
9
|
+
#import <React/RCTBridgeModule.h>
|
|
10
|
+
#import <React/RCTEventEmitter.h>
|
|
11
|
+
|
|
12
|
+
@interface RCT_EXTERN_MODULE(RNTPrimerHeadlessUniversalCheckoutKlarnaComponent, RCTEventEmitter)
|
|
13
|
+
|
|
14
|
+
RCT_EXTERN_METHOD(configure:(NSString *)primerSessionIntent resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
15
|
+
|
|
16
|
+
RCT_EXTERN_METHOD(onSetPaymentOptions:(NSDictionary *)paymentOptions resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
17
|
+
|
|
18
|
+
RCT_EXTERN_METHOD(start:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
19
|
+
|
|
20
|
+
RCT_EXTERN_METHOD(submit:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
21
|
+
|
|
22
|
+
RCT_EXTERN_METHOD(onFinalizePayment:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
23
|
+
|
|
24
|
+
RCT_EXTERN_METHOD(cleanUp:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
25
|
+
|
|
26
|
+
@end
|
|
27
|
+
|