@klarna/react-native-klarna-network-payment 0.0.1 → 2.8.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/README.md +143 -29
- package/android/build.gradle +95 -0
- package/android/src/main/AndroidManifest.xml +1 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaNetworkPaymentButtonViewSpec.kt +22 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaNetworkPaymentModule.kt +46 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaNetworkPaymentModuleImpl.kt +163 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaNetworkPaymentPackage.kt +30 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaPaymentButtonPressEvent.kt +19 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaPaymentButtonViewManager.kt +276 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaPaymentPresentationMapper.kt +132 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaPaymentRequestMapper.kt +328 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaPaymentResponseMapper.kt +145 -0
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaNetworkPaymentModuleImplTest.kt +361 -0
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaPaymentButtonViewManagerTest.kt +155 -0
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaPaymentPresentationMapperTest.kt +447 -0
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaPaymentRequestMapperTest.kt +489 -0
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/klarnanetwork/payment/KlarnaPaymentResponseMapperTest.kt +456 -0
- package/ios/Sources/KlarnaNetworkPayment.h +5 -0
- package/ios/Sources/KlarnaNetworkPayment.mm +110 -0
- package/ios/Sources/KlarnaNetworkPaymentModuleImpl.swift +196 -0
- package/ios/Sources/KlarnaPaymentButtonComponentView.mm +147 -0
- package/ios/Sources/KlarnaPaymentButtonViewImpl.swift +78 -0
- package/ios/Sources/KlarnaPaymentPresentationMapping.swift +102 -0
- package/ios/Sources/KlarnaPaymentRequestDataMapping.swift +232 -0
- package/ios/Sources/KlarnaPaymentRequestMapping.swift +103 -0
- package/ios/Tests/KlarnaNetworkPaymentModuleImplTests.swift +143 -0
- package/ios/Tests/KlarnaPaymentButtonViewImplTests.swift +122 -0
- package/ios/Tests/KlarnaPaymentPresentationMappingTests.swift +335 -0
- package/lib/commonjs/KlarnaNetworkPayment.js +6 -0
- package/lib/commonjs/KlarnaNetworkPayment.js.map +1 -0
- package/lib/commonjs/KlarnaNetworkPaymentImpl.js +44 -0
- package/lib/commonjs/KlarnaNetworkPaymentImpl.js.map +1 -0
- package/lib/commonjs/KlarnaNetworkPaymentMapper.js +164 -0
- package/lib/commonjs/KlarnaNetworkPaymentMapper.js.map +1 -0
- package/lib/commonjs/KlarnaPaymentButton.js +43 -0
- package/lib/commonjs/KlarnaPaymentButton.js.map +1 -0
- package/lib/commonjs/Specs/KlarnaPaymentButtonNativeComponent.js +10 -0
- package/lib/commonjs/Specs/KlarnaPaymentButtonNativeComponent.js.map +1 -0
- package/lib/commonjs/Specs/NativeKlarnaNetworkPayment.js +13 -0
- package/lib/commonjs/Specs/NativeKlarnaNetworkPayment.js.map +1 -0
- package/lib/commonjs/index.js +51 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/types/KlarnaPaymentRequest.js +6 -0
- package/lib/commonjs/types/KlarnaPaymentRequest.js.map +1 -0
- package/lib/commonjs/types/KlarnaPaymentRequestState.js +2 -0
- package/lib/commonjs/types/KlarnaPaymentRequestState.js.map +1 -0
- package/lib/commonjs/types/KlarnaPaymentRequestStateContext.js +6 -0
- package/lib/commonjs/types/KlarnaPaymentRequestStateContext.js.map +1 -0
- package/lib/commonjs/types/KlarnaPaymentRequestStateReason.js +2 -0
- package/lib/commonjs/types/KlarnaPaymentRequestStateReason.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaBillingPlan.js +6 -0
- package/lib/commonjs/types/models/KlarnaBillingPlan.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaCollectCustomerProfileType.js +2 -0
- package/lib/commonjs/types/models/KlarnaCollectCustomerProfileType.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaCustomer.js +6 -0
- package/lib/commonjs/types/models/KlarnaCustomer.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaFreeTrial.js +2 -0
- package/lib/commonjs/types/models/KlarnaFreeTrial.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaInterval.js +2 -0
- package/lib/commonjs/types/models/KlarnaInterval.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaLineItem.js +2 -0
- package/lib/commonjs/types/models/KlarnaLineItem.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaOndemandService.js +6 -0
- package/lib/commonjs/types/models/KlarnaOndemandService.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaPartnerCustomer.js +6 -0
- package/lib/commonjs/types/models/KlarnaPartnerCustomer.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaPaymentPresentation.js +6 -0
- package/lib/commonjs/types/models/KlarnaPaymentPresentation.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaPaymentRequestData.js +6 -0
- package/lib/commonjs/types/models/KlarnaPaymentRequestData.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaRequestCustomerToken.js +6 -0
- package/lib/commonjs/types/models/KlarnaRequestCustomerToken.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaRequestCustomerTokenScope.js +2 -0
- package/lib/commonjs/types/models/KlarnaRequestCustomerTokenScope.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaShipping.js +6 -0
- package/lib/commonjs/types/models/KlarnaShipping.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaShippingConfig.js +6 -0
- package/lib/commonjs/types/models/KlarnaShippingConfig.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaShippingConfigMode.js +2 -0
- package/lib/commonjs/types/models/KlarnaShippingConfigMode.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaShippingOption.js +6 -0
- package/lib/commonjs/types/models/KlarnaShippingOption.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaShippingRecipient.js +2 -0
- package/lib/commonjs/types/models/KlarnaShippingRecipient.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaShippingType.js +2 -0
- package/lib/commonjs/types/models/KlarnaShippingType.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaShippingTypeAttribute.js +2 -0
- package/lib/commonjs/types/models/KlarnaShippingTypeAttribute.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaSubscription.js +6 -0
- package/lib/commonjs/types/models/KlarnaSubscription.js.map +1 -0
- package/lib/commonjs/types/models/KlarnaSupplementaryPurchaseData.js +6 -0
- package/lib/commonjs/types/models/KlarnaSupplementaryPurchaseData.js.map +1 -0
- package/lib/commonjs/types/models/index.js +2 -0
- package/lib/commonjs/types/models/index.js.map +1 -0
- package/lib/module/KlarnaNetworkPayment.js +2 -0
- package/lib/module/KlarnaNetworkPayment.js.map +1 -0
- package/lib/module/KlarnaNetworkPaymentImpl.js +36 -0
- package/lib/module/KlarnaNetworkPaymentImpl.js.map +1 -0
- package/lib/module/KlarnaNetworkPaymentMapper.js +146 -0
- package/lib/module/KlarnaNetworkPaymentMapper.js.map +1 -0
- package/lib/module/KlarnaPaymentButton.js +37 -0
- package/lib/module/KlarnaPaymentButton.js.map +1 -0
- package/lib/module/Specs/KlarnaPaymentButtonNativeComponent.js +3 -0
- package/lib/module/Specs/KlarnaPaymentButtonNativeComponent.js.map +1 -0
- package/lib/module/Specs/NativeKlarnaNetworkPayment.js +9 -0
- package/lib/module/Specs/NativeKlarnaNetworkPayment.js.map +1 -0
- package/lib/module/index.js +40 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/types/KlarnaPaymentRequest.js +2 -0
- package/lib/module/types/KlarnaPaymentRequest.js.map +1 -0
- package/lib/module/types/KlarnaPaymentRequestState.js +2 -0
- package/lib/module/types/KlarnaPaymentRequestState.js.map +1 -0
- package/lib/module/types/KlarnaPaymentRequestStateContext.js +2 -0
- package/lib/module/types/KlarnaPaymentRequestStateContext.js.map +1 -0
- package/lib/module/types/KlarnaPaymentRequestStateReason.js +2 -0
- package/lib/module/types/KlarnaPaymentRequestStateReason.js.map +1 -0
- package/lib/module/types/models/KlarnaBillingPlan.js +2 -0
- package/lib/module/types/models/KlarnaBillingPlan.js.map +1 -0
- package/lib/module/types/models/KlarnaCollectCustomerProfileType.js +2 -0
- package/lib/module/types/models/KlarnaCollectCustomerProfileType.js.map +1 -0
- package/lib/module/types/models/KlarnaCustomer.js +2 -0
- package/lib/module/types/models/KlarnaCustomer.js.map +1 -0
- package/lib/module/types/models/KlarnaFreeTrial.js +2 -0
- package/lib/module/types/models/KlarnaFreeTrial.js.map +1 -0
- package/lib/module/types/models/KlarnaInterval.js +2 -0
- package/lib/module/types/models/KlarnaInterval.js.map +1 -0
- package/lib/module/types/models/KlarnaLineItem.js +2 -0
- package/lib/module/types/models/KlarnaLineItem.js.map +1 -0
- package/lib/module/types/models/KlarnaOndemandService.js +2 -0
- package/lib/module/types/models/KlarnaOndemandService.js.map +1 -0
- package/lib/module/types/models/KlarnaPartnerCustomer.js +2 -0
- package/lib/module/types/models/KlarnaPartnerCustomer.js.map +1 -0
- package/lib/module/types/models/KlarnaPaymentPresentation.js +2 -0
- package/lib/module/types/models/KlarnaPaymentPresentation.js.map +1 -0
- package/lib/module/types/models/KlarnaPaymentRequestData.js +2 -0
- package/lib/module/types/models/KlarnaPaymentRequestData.js.map +1 -0
- package/lib/module/types/models/KlarnaRequestCustomerToken.js +2 -0
- package/lib/module/types/models/KlarnaRequestCustomerToken.js.map +1 -0
- package/lib/module/types/models/KlarnaRequestCustomerTokenScope.js +2 -0
- package/lib/module/types/models/KlarnaRequestCustomerTokenScope.js.map +1 -0
- package/lib/module/types/models/KlarnaShipping.js +2 -0
- package/lib/module/types/models/KlarnaShipping.js.map +1 -0
- package/lib/module/types/models/KlarnaShippingConfig.js +2 -0
- package/lib/module/types/models/KlarnaShippingConfig.js.map +1 -0
- package/lib/module/types/models/KlarnaShippingConfigMode.js +2 -0
- package/lib/module/types/models/KlarnaShippingConfigMode.js.map +1 -0
- package/lib/module/types/models/KlarnaShippingOption.js +2 -0
- package/lib/module/types/models/KlarnaShippingOption.js.map +1 -0
- package/lib/module/types/models/KlarnaShippingRecipient.js +2 -0
- package/lib/module/types/models/KlarnaShippingRecipient.js.map +1 -0
- package/lib/module/types/models/KlarnaShippingType.js +2 -0
- package/lib/module/types/models/KlarnaShippingType.js.map +1 -0
- package/lib/module/types/models/KlarnaShippingTypeAttribute.js +2 -0
- package/lib/module/types/models/KlarnaShippingTypeAttribute.js.map +1 -0
- package/lib/module/types/models/KlarnaSubscription.js +2 -0
- package/lib/module/types/models/KlarnaSubscription.js.map +1 -0
- package/lib/module/types/models/KlarnaSupplementaryPurchaseData.js +2 -0
- package/lib/module/types/models/KlarnaSupplementaryPurchaseData.js.map +1 -0
- package/lib/module/types/models/index.js +2 -0
- package/lib/module/types/models/index.js.map +1 -0
- package/lib/typescript/KlarnaNetworkPayment.d.ts +22 -0
- package/lib/typescript/KlarnaNetworkPayment.d.ts.map +1 -0
- package/lib/typescript/KlarnaNetworkPaymentImpl.d.ts +12 -0
- package/lib/typescript/KlarnaNetworkPaymentImpl.d.ts.map +1 -0
- package/lib/typescript/KlarnaNetworkPaymentMapper.d.ts +273 -0
- package/lib/typescript/KlarnaNetworkPaymentMapper.d.ts.map +1 -0
- package/lib/typescript/KlarnaPaymentButton.d.ts +51 -0
- package/lib/typescript/KlarnaPaymentButton.d.ts.map +1 -0
- package/lib/typescript/Specs/KlarnaPaymentButtonNativeComponent.d.ts +16 -0
- package/lib/typescript/Specs/KlarnaPaymentButtonNativeComponent.d.ts.map +1 -0
- package/lib/typescript/Specs/NativeKlarnaNetworkPayment.d.ts +13 -0
- package/lib/typescript/Specs/NativeKlarnaNetworkPayment.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +14 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/types/KlarnaPaymentRequest.d.ts +19 -0
- package/lib/typescript/types/KlarnaPaymentRequest.d.ts.map +1 -0
- package/lib/typescript/types/KlarnaPaymentRequestState.d.ts +15 -0
- package/lib/typescript/types/KlarnaPaymentRequestState.d.ts.map +1 -0
- package/lib/typescript/types/KlarnaPaymentRequestStateContext.d.ts +12 -0
- package/lib/typescript/types/KlarnaPaymentRequestStateContext.d.ts.map +1 -0
- package/lib/typescript/types/KlarnaPaymentRequestStateReason.d.ts +13 -0
- package/lib/typescript/types/KlarnaPaymentRequestStateReason.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaBillingPlan.d.ts +17 -0
- package/lib/typescript/types/models/KlarnaBillingPlan.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaCollectCustomerProfileType.d.ts +19 -0
- package/lib/typescript/types/models/KlarnaCollectCustomerProfileType.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaCustomer.d.ts +11 -0
- package/lib/typescript/types/models/KlarnaCustomer.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaFreeTrial.d.ts +7 -0
- package/lib/typescript/types/models/KlarnaFreeTrial.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaInterval.d.ts +11 -0
- package/lib/typescript/types/models/KlarnaInterval.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaLineItem.d.ts +28 -0
- package/lib/typescript/types/models/KlarnaLineItem.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaOndemandService.d.ts +17 -0
- package/lib/typescript/types/models/KlarnaOndemandService.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaPartnerCustomer.d.ts +15 -0
- package/lib/typescript/types/models/KlarnaPartnerCustomer.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaPaymentPresentation.d.ts +119 -0
- package/lib/typescript/types/models/KlarnaPaymentPresentation.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaPaymentRequestData.d.ts +24 -0
- package/lib/typescript/types/models/KlarnaPaymentRequestData.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaRequestCustomerToken.d.ts +9 -0
- package/lib/typescript/types/models/KlarnaRequestCustomerToken.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaRequestCustomerTokenScope.d.ts +9 -0
- package/lib/typescript/types/models/KlarnaRequestCustomerTokenScope.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaShipping.d.ts +15 -0
- package/lib/typescript/types/models/KlarnaShipping.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaShippingConfig.d.ts +9 -0
- package/lib/typescript/types/models/KlarnaShippingConfig.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaShippingConfigMode.d.ts +5 -0
- package/lib/typescript/types/models/KlarnaShippingConfigMode.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaShippingOption.d.ts +12 -0
- package/lib/typescript/types/models/KlarnaShippingOption.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaShippingRecipient.d.ts +14 -0
- package/lib/typescript/types/models/KlarnaShippingRecipient.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaShippingType.d.ts +25 -0
- package/lib/typescript/types/models/KlarnaShippingType.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaShippingTypeAttribute.d.ts +21 -0
- package/lib/typescript/types/models/KlarnaShippingTypeAttribute.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaSubscription.d.ts +14 -0
- package/lib/typescript/types/models/KlarnaSubscription.d.ts.map +1 -0
- package/lib/typescript/types/models/KlarnaSupplementaryPurchaseData.d.ts +21 -0
- package/lib/typescript/types/models/KlarnaSupplementaryPurchaseData.d.ts.map +1 -0
- package/lib/typescript/types/models/index.d.ts +22 -0
- package/lib/typescript/types/models/index.d.ts.map +1 -0
- package/package.json +120 -6
- package/react-native-klarna-network-payment.podspec +29 -0
- package/src/KlarnaNetworkPayment.ts +30 -0
- package/src/KlarnaNetworkPaymentImpl.ts +79 -0
- package/src/KlarnaNetworkPaymentMapper.ts +204 -0
- package/src/KlarnaPaymentButton.tsx +80 -0
- package/src/Specs/KlarnaPaymentButtonNativeComponent.ts +22 -0
- package/src/Specs/NativeKlarnaNetworkPayment.ts +17 -0
- package/src/index.tsx +63 -0
- package/src/types/KlarnaPaymentRequest.ts +19 -0
- package/src/types/KlarnaPaymentRequestState.ts +14 -0
- package/src/types/KlarnaPaymentRequestStateContext.ts +12 -0
- package/src/types/KlarnaPaymentRequestStateReason.ts +12 -0
- package/src/types/models/KlarnaBillingPlan.ts +17 -0
- package/src/types/models/KlarnaCollectCustomerProfileType.ts +18 -0
- package/src/types/models/KlarnaCustomer.ts +11 -0
- package/src/types/models/KlarnaFreeTrial.ts +6 -0
- package/src/types/models/KlarnaInterval.ts +10 -0
- package/src/types/models/KlarnaLineItem.ts +27 -0
- package/src/types/models/KlarnaOndemandService.ts +17 -0
- package/src/types/models/KlarnaPartnerCustomer.ts +15 -0
- package/src/types/models/KlarnaPaymentPresentation.ts +135 -0
- package/src/types/models/KlarnaPaymentRequestData.ts +24 -0
- package/src/types/models/KlarnaRequestCustomerToken.ts +9 -0
- package/src/types/models/KlarnaRequestCustomerTokenScope.ts +8 -0
- package/src/types/models/KlarnaShipping.ts +15 -0
- package/src/types/models/KlarnaShippingConfig.ts +9 -0
- package/src/types/models/KlarnaShippingConfigMode.ts +4 -0
- package/src/types/models/KlarnaShippingOption.ts +12 -0
- package/src/types/models/KlarnaShippingRecipient.ts +13 -0
- package/src/types/models/KlarnaShippingType.ts +24 -0
- package/src/types/models/KlarnaShippingTypeAttribute.ts +20 -0
- package/src/types/models/KlarnaSubscription.ts +14 -0
- package/src/types/models/KlarnaSupplementaryPurchaseData.ts +21 -0
- package/src/types/models/index.ts +35 -0
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
package com.klarna.mobile.sdk.reactnative.klarnanetwork.payment
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.WritableArray
|
|
5
|
+
import com.facebook.react.bridge.WritableMap
|
|
6
|
+
import com.klarna.mobile.sdk.klarna.network.core.api.models.KlarnaAddress
|
|
7
|
+
import com.klarna.mobile.sdk.klarna.network.core.api.models.KlarnaCustomerProfile
|
|
8
|
+
import com.klarna.mobile.sdk.klarna.network.payment.api.KlarnaPaymentRequest
|
|
9
|
+
import com.klarna.mobile.sdk.klarna.network.payment.api.models.KlarnaCustomer
|
|
10
|
+
import com.klarna.mobile.sdk.klarna.network.payment.api.models.KlarnaPaymentRequestState
|
|
11
|
+
import com.klarna.mobile.sdk.klarna.network.payment.api.models.KlarnaPaymentRequestStateContext
|
|
12
|
+
import com.klarna.mobile.sdk.klarna.network.payment.api.models.KlarnaShipping
|
|
13
|
+
import com.klarna.mobile.sdk.klarna.network.payment.api.models.KlarnaShippingOption
|
|
14
|
+
import com.klarna.mobile.sdk.klarna.network.payment.api.models.KlarnaShippingRecipient
|
|
15
|
+
import com.klarna.mobile.sdk.klarna.network.payment.api.models.KlarnaShippingType
|
|
16
|
+
import com.klarna.mobile.sdk.klarna.network.payment.api.models.KlarnaShippingTypeAttribute
|
|
17
|
+
import io.mockk.every
|
|
18
|
+
import io.mockk.mockk
|
|
19
|
+
import io.mockk.mockkStatic
|
|
20
|
+
import io.mockk.unmockkAll
|
|
21
|
+
import io.mockk.verify
|
|
22
|
+
import org.junit.After
|
|
23
|
+
import org.junit.Before
|
|
24
|
+
import org.junit.Test
|
|
25
|
+
|
|
26
|
+
class KlarnaPaymentResponseMapperTest {
|
|
27
|
+
|
|
28
|
+
private lateinit var writableMap: WritableMap
|
|
29
|
+
private lateinit var writableArray: WritableArray
|
|
30
|
+
|
|
31
|
+
@Before
|
|
32
|
+
fun setUp() {
|
|
33
|
+
mockkStatic(Arguments::class)
|
|
34
|
+
writableMap = mockk(relaxed = true)
|
|
35
|
+
writableArray = mockk(relaxed = true)
|
|
36
|
+
every { Arguments.createMap() } returns writableMap
|
|
37
|
+
every { Arguments.createArray() } returns writableArray
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@After
|
|
41
|
+
fun tearDown() {
|
|
42
|
+
unmockkAll()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// region Helpers
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Stubs Arguments.createMap() to return [maps] in order: first call returns maps[0],
|
|
49
|
+
* second returns maps[1], etc. After all maps are consumed the last one is reused.
|
|
50
|
+
* Use this when the SUT calls createMap() multiple times in a single toWritableMap() call.
|
|
51
|
+
*/
|
|
52
|
+
private fun givenCreateMapReturnsInOrder(vararg maps: WritableMap) {
|
|
53
|
+
every { Arguments.createMap() } returnsMany maps.toList()
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// endregion
|
|
57
|
+
|
|
58
|
+
// region KlarnaPaymentRequest.toWritableMap tests
|
|
59
|
+
|
|
60
|
+
@Test
|
|
61
|
+
fun `KlarnaPaymentRequest toWritableMap - puts paymentRequestId and state`() {
|
|
62
|
+
// Given
|
|
63
|
+
val request = mockk<KlarnaPaymentRequest> {
|
|
64
|
+
every { paymentRequestId } returns "pr_abc"
|
|
65
|
+
every { state } returns KlarnaPaymentRequestState.SUBMITTED
|
|
66
|
+
every { previousState } returns null
|
|
67
|
+
every { stateReason } returns null
|
|
68
|
+
every { paymentRequestReference } returns "ref_123"
|
|
69
|
+
every { stateContext } returns null
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// When
|
|
73
|
+
request.toWritableMap()
|
|
74
|
+
|
|
75
|
+
// Then
|
|
76
|
+
verify(exactly = 1) { writableMap.putString("paymentRequestId", "pr_abc") }
|
|
77
|
+
verify(exactly = 1) { writableMap.putString("state", KlarnaPaymentRequestState.SUBMITTED.toString()) }
|
|
78
|
+
verify(exactly = 1) { writableMap.putString("paymentRequestReference", "ref_123") }
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@Test
|
|
82
|
+
fun `KlarnaPaymentRequest toWritableMap - puts null stateContext when absent`() {
|
|
83
|
+
// Given
|
|
84
|
+
val request = mockk<KlarnaPaymentRequest> {
|
|
85
|
+
every { paymentRequestId } returns "pr_abc"
|
|
86
|
+
every { state } returns KlarnaPaymentRequestState.SUBMITTED
|
|
87
|
+
every { previousState } returns null
|
|
88
|
+
every { stateReason } returns null
|
|
89
|
+
every { paymentRequestReference } returns null
|
|
90
|
+
every { stateContext } returns null
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// When
|
|
94
|
+
request.toWritableMap()
|
|
95
|
+
|
|
96
|
+
// Then
|
|
97
|
+
verify(exactly = 1) { writableMap.putNull("stateContext") }
|
|
98
|
+
verify(exactly = 0) { writableMap.putMap(eq("stateContext"), any()) }
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@Test
|
|
102
|
+
fun `KlarnaPaymentRequest toWritableMap - puts stateContext map when present`() {
|
|
103
|
+
// Given
|
|
104
|
+
val outerMap = mockk<WritableMap>(relaxed = true)
|
|
105
|
+
val contextMap = mockk<WritableMap>(relaxed = true)
|
|
106
|
+
givenCreateMapReturnsInOrder(outerMap, contextMap)
|
|
107
|
+
|
|
108
|
+
val mockStateContext = mockk<KlarnaPaymentRequestStateContext> {
|
|
109
|
+
every { klarnaNetworkSessionToken } returns "session_tok"
|
|
110
|
+
every { klarnaCustomer } returns null
|
|
111
|
+
every { shipping } returns null
|
|
112
|
+
}
|
|
113
|
+
val request = mockk<KlarnaPaymentRequest> {
|
|
114
|
+
every { paymentRequestId } returns "pr_abc"
|
|
115
|
+
every { state } returns KlarnaPaymentRequestState.IN_PROGRESS
|
|
116
|
+
every { previousState } returns null
|
|
117
|
+
every { stateReason } returns null
|
|
118
|
+
every { paymentRequestReference } returns null
|
|
119
|
+
every { stateContext } returns mockStateContext
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// When
|
|
123
|
+
request.toWritableMap()
|
|
124
|
+
|
|
125
|
+
// Then
|
|
126
|
+
verify(exactly = 1) { outerMap.putMap("stateContext", contextMap) }
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// endregion
|
|
130
|
+
|
|
131
|
+
// region KlarnaCustomerProfile.toWritableMap tests
|
|
132
|
+
|
|
133
|
+
@Test
|
|
134
|
+
fun `KlarnaCustomerProfile toWritableMap - puts emailVerified boolean when non-null`() {
|
|
135
|
+
// Given
|
|
136
|
+
val profile = mockk<KlarnaCustomerProfile> {
|
|
137
|
+
every { address } returns null
|
|
138
|
+
every { customerId } returns "cust_1"
|
|
139
|
+
every { country } returns "SE"
|
|
140
|
+
every { email } returns "user@example.com"
|
|
141
|
+
every { emailVerified } returns true
|
|
142
|
+
every { familyName } returns "Doe"
|
|
143
|
+
every { givenName } returns "Jane"
|
|
144
|
+
every { locale } returns "en-SE"
|
|
145
|
+
every { phone } returns null
|
|
146
|
+
every { phoneVerified } returns null
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// When
|
|
150
|
+
profile.toWritableMap()
|
|
151
|
+
|
|
152
|
+
// Then
|
|
153
|
+
verify(exactly = 1) { writableMap.putBoolean("emailVerified", true) }
|
|
154
|
+
verify(exactly = 0) { writableMap.putNull("emailVerified") }
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
@Test
|
|
158
|
+
fun `KlarnaCustomerProfile toWritableMap - puts null emailVerified when absent`() {
|
|
159
|
+
// Given
|
|
160
|
+
val profile = mockk<KlarnaCustomerProfile> {
|
|
161
|
+
every { address } returns null
|
|
162
|
+
every { customerId } returns null
|
|
163
|
+
every { country } returns null
|
|
164
|
+
every { email } returns null
|
|
165
|
+
every { emailVerified } returns null
|
|
166
|
+
every { familyName } returns null
|
|
167
|
+
every { givenName } returns null
|
|
168
|
+
every { locale } returns null
|
|
169
|
+
every { phone } returns null
|
|
170
|
+
every { phoneVerified } returns null
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// When
|
|
174
|
+
profile.toWritableMap()
|
|
175
|
+
|
|
176
|
+
// Then
|
|
177
|
+
verify(exactly = 1) { writableMap.putNull("emailVerified") }
|
|
178
|
+
verify(exactly = 0) { writableMap.putBoolean(eq("emailVerified"), any()) }
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
@Test
|
|
182
|
+
fun `KlarnaCustomerProfile toWritableMap - puts phoneVerified boolean when non-null`() {
|
|
183
|
+
// Given
|
|
184
|
+
val profile = mockk<KlarnaCustomerProfile> {
|
|
185
|
+
every { address } returns null
|
|
186
|
+
every { customerId } returns null
|
|
187
|
+
every { country } returns null
|
|
188
|
+
every { email } returns null
|
|
189
|
+
every { emailVerified } returns null
|
|
190
|
+
every { familyName } returns null
|
|
191
|
+
every { givenName } returns null
|
|
192
|
+
every { locale } returns null
|
|
193
|
+
every { phone } returns null
|
|
194
|
+
every { phoneVerified } returns false
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// When
|
|
198
|
+
profile.toWritableMap()
|
|
199
|
+
|
|
200
|
+
// Then
|
|
201
|
+
verify(exactly = 1) { writableMap.putBoolean("phoneVerified", false) }
|
|
202
|
+
verify(exactly = 0) { writableMap.putNull("phoneVerified") }
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@Test
|
|
206
|
+
fun `KlarnaCustomerProfile toWritableMap - puts address map when present`() {
|
|
207
|
+
// Given
|
|
208
|
+
val profileMap = mockk<WritableMap>(relaxed = true)
|
|
209
|
+
val addressMap = mockk<WritableMap>(relaxed = true)
|
|
210
|
+
givenCreateMapReturnsInOrder(profileMap, addressMap)
|
|
211
|
+
|
|
212
|
+
val address = mockk<KlarnaAddress> {
|
|
213
|
+
every { city } returns "Stockholm"
|
|
214
|
+
every { country } returns "SE"
|
|
215
|
+
every { postalCode } returns "11122"
|
|
216
|
+
every { region } returns null
|
|
217
|
+
every { streetAddress } returns "Sveavägen 1"
|
|
218
|
+
every { streetAddress2 } returns null
|
|
219
|
+
}
|
|
220
|
+
val profile = mockk<KlarnaCustomerProfile> {
|
|
221
|
+
every { this@mockk.address } returns address
|
|
222
|
+
every { customerId } returns null
|
|
223
|
+
every { country } returns null
|
|
224
|
+
every { email } returns null
|
|
225
|
+
every { emailVerified } returns null
|
|
226
|
+
every { familyName } returns null
|
|
227
|
+
every { givenName } returns null
|
|
228
|
+
every { locale } returns null
|
|
229
|
+
every { phone } returns null
|
|
230
|
+
every { phoneVerified } returns null
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// When
|
|
234
|
+
profile.toWritableMap()
|
|
235
|
+
|
|
236
|
+
// Then
|
|
237
|
+
verify(exactly = 1) { profileMap.putMap("address", addressMap) }
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// endregion
|
|
241
|
+
|
|
242
|
+
// region KlarnaShippingOption.toWritableMap tests
|
|
243
|
+
|
|
244
|
+
@Test
|
|
245
|
+
fun `KlarnaShippingOption toWritableMap - puts shippingTypeAttributes array when present`() {
|
|
246
|
+
// Given
|
|
247
|
+
val option = mockk<KlarnaShippingOption> {
|
|
248
|
+
every { shippingCarrier } returns "PostNord"
|
|
249
|
+
every { shippingType } returns KlarnaShippingType.TO_DOOR
|
|
250
|
+
every { shippingTypeAttributes } returns listOf(KlarnaShippingTypeAttribute.SIGNATURE_REQUIRED)
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// When
|
|
254
|
+
option.toWritableMap()
|
|
255
|
+
|
|
256
|
+
// Then
|
|
257
|
+
verify(exactly = 1) { writableArray.pushString(KlarnaShippingTypeAttribute.SIGNATURE_REQUIRED.toString()) }
|
|
258
|
+
verify(exactly = 1) { writableMap.putArray("shippingTypeAttributes", writableArray) }
|
|
259
|
+
verify(exactly = 0) { writableMap.putNull("shippingTypeAttributes") }
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
@Test
|
|
263
|
+
fun `KlarnaShippingOption toWritableMap - puts null shippingTypeAttributes when absent`() {
|
|
264
|
+
// Given
|
|
265
|
+
val option = mockk<KlarnaShippingOption> {
|
|
266
|
+
every { shippingCarrier } returns null
|
|
267
|
+
every { shippingType } returns KlarnaShippingType.TO_MAILBOX
|
|
268
|
+
every { shippingTypeAttributes } returns null
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// When
|
|
272
|
+
option.toWritableMap()
|
|
273
|
+
|
|
274
|
+
// Then
|
|
275
|
+
verify(exactly = 1) { writableMap.putNull("shippingTypeAttributes") }
|
|
276
|
+
verify(exactly = 0) { writableMap.putArray(eq("shippingTypeAttributes"), any()) }
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
@Test
|
|
280
|
+
fun `KlarnaShippingOption toWritableMap - puts shippingCarrier and shippingType`() {
|
|
281
|
+
// Given
|
|
282
|
+
val option = mockk<KlarnaShippingOption> {
|
|
283
|
+
every { shippingCarrier } returns "DHL"
|
|
284
|
+
every { shippingType } returns KlarnaShippingType.PICKUP_BOX
|
|
285
|
+
every { shippingTypeAttributes } returns null
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
// When
|
|
289
|
+
option.toWritableMap()
|
|
290
|
+
|
|
291
|
+
// Then
|
|
292
|
+
verify(exactly = 1) { writableMap.putString("shippingCarrier", "DHL") }
|
|
293
|
+
verify(exactly = 1) { writableMap.putString("shippingType", KlarnaShippingType.PICKUP_BOX.toString()) }
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
// endregion
|
|
297
|
+
|
|
298
|
+
// region KlarnaShipping.toWritableMap tests
|
|
299
|
+
|
|
300
|
+
@Test
|
|
301
|
+
fun `KlarnaShipping toWritableMap - puts address map when present`() {
|
|
302
|
+
// Given
|
|
303
|
+
val shippingMap = mockk<WritableMap>(relaxed = true)
|
|
304
|
+
val addressMap = mockk<WritableMap>(relaxed = true)
|
|
305
|
+
givenCreateMapReturnsInOrder(shippingMap, addressMap)
|
|
306
|
+
|
|
307
|
+
val address = mockk<KlarnaAddress> {
|
|
308
|
+
every { city } returns "Gothenburg"
|
|
309
|
+
every { country } returns "SE"
|
|
310
|
+
every { postalCode } returns "41101"
|
|
311
|
+
every { region } returns null
|
|
312
|
+
every { streetAddress } returns "Avenyn 1"
|
|
313
|
+
every { streetAddress2 } returns null
|
|
314
|
+
}
|
|
315
|
+
val shipping = mockk<KlarnaShipping> {
|
|
316
|
+
every { this@mockk.address } returns address
|
|
317
|
+
every { recipient } returns null
|
|
318
|
+
every { shippingOption } returns null
|
|
319
|
+
every { shippingReference } returns null
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// When
|
|
323
|
+
shipping.toWritableMap()
|
|
324
|
+
|
|
325
|
+
// Then
|
|
326
|
+
verify(exactly = 1) { shippingMap.putMap("address", addressMap) }
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
@Test
|
|
330
|
+
fun `KlarnaShipping toWritableMap - puts null address when absent`() {
|
|
331
|
+
// Given
|
|
332
|
+
val shipping = mockk<KlarnaShipping> {
|
|
333
|
+
every { address } returns null
|
|
334
|
+
every { recipient } returns null
|
|
335
|
+
every { shippingOption } returns null
|
|
336
|
+
every { shippingReference } returns "ref_ship_1"
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// When
|
|
340
|
+
shipping.toWritableMap()
|
|
341
|
+
|
|
342
|
+
// Then
|
|
343
|
+
verify(exactly = 1) { writableMap.putNull("address") }
|
|
344
|
+
verify(exactly = 1) { writableMap.putString("shippingReference", "ref_ship_1") }
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// endregion
|
|
348
|
+
|
|
349
|
+
// region KlarnaAddress.toWritableMap tests
|
|
350
|
+
|
|
351
|
+
@Test
|
|
352
|
+
fun `KlarnaAddress toWritableMap - puts all address fields`() {
|
|
353
|
+
// Given
|
|
354
|
+
val address = mockk<KlarnaAddress> {
|
|
355
|
+
every { city } returns "Malmö"
|
|
356
|
+
every { country } returns "SE"
|
|
357
|
+
every { postalCode } returns "21120"
|
|
358
|
+
every { region } returns "Skåne"
|
|
359
|
+
every { streetAddress } returns "Stortorget 1"
|
|
360
|
+
every { streetAddress2 } returns "Floor 2"
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
// When
|
|
364
|
+
address.toWritableMap()
|
|
365
|
+
|
|
366
|
+
// Then
|
|
367
|
+
verify(exactly = 1) { writableMap.putString("city", "Malmö") }
|
|
368
|
+
verify(exactly = 1) { writableMap.putString("country", "SE") }
|
|
369
|
+
verify(exactly = 1) { writableMap.putString("postalCode", "21120") }
|
|
370
|
+
verify(exactly = 1) { writableMap.putString("region", "Skåne") }
|
|
371
|
+
verify(exactly = 1) { writableMap.putString("streetAddress", "Stortorget 1") }
|
|
372
|
+
verify(exactly = 1) { writableMap.putString("streetAddress2", "Floor 2") }
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
// endregion
|
|
376
|
+
|
|
377
|
+
// region KlarnaShippingRecipient.toWritableMap tests
|
|
378
|
+
|
|
379
|
+
@Test
|
|
380
|
+
fun `KlarnaShippingRecipient toWritableMap - puts all recipient fields`() {
|
|
381
|
+
// Given
|
|
382
|
+
val recipient = mockk<KlarnaShippingRecipient> {
|
|
383
|
+
every { attention } returns "Attn: Reception"
|
|
384
|
+
every { email } returns "recipient@example.com"
|
|
385
|
+
every { familyName } returns "Smith"
|
|
386
|
+
every { givenName } returns "John"
|
|
387
|
+
every { phone } returns "+46700000000"
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// When
|
|
391
|
+
recipient.toWritableMap()
|
|
392
|
+
|
|
393
|
+
// Then
|
|
394
|
+
verify(exactly = 1) { writableMap.putString("attention", "Attn: Reception") }
|
|
395
|
+
verify(exactly = 1) { writableMap.putString("email", "recipient@example.com") }
|
|
396
|
+
verify(exactly = 1) { writableMap.putString("familyName", "Smith") }
|
|
397
|
+
verify(exactly = 1) { writableMap.putString("givenName", "John") }
|
|
398
|
+
verify(exactly = 1) { writableMap.putString("phone", "+46700000000") }
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
// endregion
|
|
402
|
+
|
|
403
|
+
// region KlarnaCustomer.toWritableMap tests
|
|
404
|
+
|
|
405
|
+
@Test
|
|
406
|
+
fun `KlarnaCustomer toWritableMap - puts customerToken and customerTokenReference`() {
|
|
407
|
+
// Given
|
|
408
|
+
val customer = mockk<KlarnaCustomer> {
|
|
409
|
+
every { customerToken } returns "tok_xyz"
|
|
410
|
+
every { customerTokenReference } returns "tok_ref_xyz"
|
|
411
|
+
every { customerProfile } returns null
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
// When
|
|
415
|
+
customer.toWritableMap()
|
|
416
|
+
|
|
417
|
+
// Then
|
|
418
|
+
verify(exactly = 1) { writableMap.putString("customerToken", "tok_xyz") }
|
|
419
|
+
verify(exactly = 1) { writableMap.putString("customerTokenReference", "tok_ref_xyz") }
|
|
420
|
+
verify(exactly = 1) { writableMap.putNull("customerProfile") }
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
@Test
|
|
424
|
+
fun `KlarnaCustomer toWritableMap - puts customerProfile map when present`() {
|
|
425
|
+
// Given
|
|
426
|
+
val customerMap = mockk<WritableMap>(relaxed = true)
|
|
427
|
+
val profileMap = mockk<WritableMap>(relaxed = true)
|
|
428
|
+
givenCreateMapReturnsInOrder(customerMap, profileMap)
|
|
429
|
+
|
|
430
|
+
val profile = mockk<KlarnaCustomerProfile> {
|
|
431
|
+
every { address } returns null
|
|
432
|
+
every { customerId } returns null
|
|
433
|
+
every { country } returns null
|
|
434
|
+
every { email } returns null
|
|
435
|
+
every { emailVerified } returns null
|
|
436
|
+
every { familyName } returns null
|
|
437
|
+
every { givenName } returns null
|
|
438
|
+
every { locale } returns null
|
|
439
|
+
every { phone } returns null
|
|
440
|
+
every { phoneVerified } returns null
|
|
441
|
+
}
|
|
442
|
+
val customer = mockk<KlarnaCustomer> {
|
|
443
|
+
every { customerToken } returns null
|
|
444
|
+
every { customerTokenReference } returns null
|
|
445
|
+
every { customerProfile } returns profile
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
// When
|
|
449
|
+
customer.toWritableMap()
|
|
450
|
+
|
|
451
|
+
// Then
|
|
452
|
+
verify(exactly = 1) { customerMap.putMap("customerProfile", profileMap) }
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
// endregion
|
|
456
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
#import "KlarnaNetworkPayment.h"
|
|
2
|
+
// Framework form resolves under use_frameworks!; quoted form is the headermap fallback for static builds.
|
|
3
|
+
#if __has_include(<react_native_klarna_network_payment/react_native_klarna_network_payment-Swift.h>)
|
|
4
|
+
#import <react_native_klarna_network_payment/react_native_klarna_network_payment-Swift.h>
|
|
5
|
+
#else
|
|
6
|
+
#import "react_native_klarna_network_payment-Swift.h"
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
@interface KlarnaNetworkPayment ()
|
|
10
|
+
|
|
11
|
+
@property (nonatomic, strong) KlarnaNetworkPaymentModuleImpl *impl;
|
|
12
|
+
|
|
13
|
+
@end
|
|
14
|
+
|
|
15
|
+
@implementation KlarnaNetworkPayment
|
|
16
|
+
|
|
17
|
+
- (KlarnaNetworkPaymentModuleImpl *)impl {
|
|
18
|
+
if (!_impl) {
|
|
19
|
+
_impl = [KlarnaNetworkPaymentModuleImpl new];
|
|
20
|
+
}
|
|
21
|
+
return _impl;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
25
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
26
|
+
{
|
|
27
|
+
return std::make_shared<facebook::react::NativeKlarnaNetworkPaymentSpecJSI>(params);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
+ (NSString *)moduleName
|
|
31
|
+
{
|
|
32
|
+
return @"KlarnaNetworkPayment";
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
# pragma mark - NativeKlarnaNetworkPaymentSpec
|
|
36
|
+
|
|
37
|
+
- (void)initiateWithId:(nonnull NSString *)instanceId
|
|
38
|
+
paymentRequestId:(nonnull NSString *)paymentRequestId
|
|
39
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
40
|
+
reject:(nonnull RCTPromiseRejectBlock)reject
|
|
41
|
+
{
|
|
42
|
+
[self.impl initiateWithIdWithInstanceId:instanceId
|
|
43
|
+
paymentRequestId:paymentRequestId
|
|
44
|
+
resolve:resolve
|
|
45
|
+
reject:reject];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
- (void)initiateWithData:(nonnull NSString *)instanceId
|
|
49
|
+
data:(NSDictionary *)data
|
|
50
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
51
|
+
reject:(nonnull RCTPromiseRejectBlock)reject
|
|
52
|
+
{
|
|
53
|
+
[self.impl initiateWithDataWithInstanceId:instanceId
|
|
54
|
+
data:data
|
|
55
|
+
resolve:resolve
|
|
56
|
+
reject:reject];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
- (void)fetch:(nonnull NSString *)instanceId
|
|
60
|
+
paymentRequestId:(nonnull NSString *)paymentRequestId
|
|
61
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
62
|
+
reject:(nonnull RCTPromiseRejectBlock)reject
|
|
63
|
+
{
|
|
64
|
+
[self.impl fetchWithInstanceId:instanceId
|
|
65
|
+
paymentRequestId:paymentRequestId
|
|
66
|
+
resolve:resolve
|
|
67
|
+
reject:reject];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
- (void)cancel:(nonnull NSString *)instanceId
|
|
71
|
+
paymentRequestId:(nonnull NSString *)paymentRequestId
|
|
72
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
73
|
+
reject:(nonnull RCTPromiseRejectBlock)reject
|
|
74
|
+
{
|
|
75
|
+
[self.impl cancelWithInstanceId:instanceId
|
|
76
|
+
paymentRequestId:paymentRequestId
|
|
77
|
+
resolve:resolve
|
|
78
|
+
reject:reject];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
- (void)presentationFetch:(nonnull NSString *)instanceId
|
|
82
|
+
data:(NSDictionary *)data
|
|
83
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
84
|
+
reject:(nonnull RCTPromiseRejectBlock)reject
|
|
85
|
+
{
|
|
86
|
+
[self.impl presentationFetchWithInstanceId:instanceId
|
|
87
|
+
data:data
|
|
88
|
+
resolve:resolve
|
|
89
|
+
reject:reject];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
- (void)presentationHandleLink:(nonnull NSString *)instanceId
|
|
93
|
+
url:(nonnull NSString *)url
|
|
94
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
95
|
+
reject:(nonnull RCTPromiseRejectBlock)reject
|
|
96
|
+
{
|
|
97
|
+
[self.impl presentationHandleLinkWithInstanceId:instanceId
|
|
98
|
+
url:url
|
|
99
|
+
resolve:resolve
|
|
100
|
+
reject:reject];
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
- (void)dispose:(nonnull NSString *)instanceId
|
|
104
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
105
|
+
reject:(nonnull RCTPromiseRejectBlock)reject
|
|
106
|
+
{
|
|
107
|
+
[self.impl disposeWithInstanceId:instanceId resolve:resolve reject:reject];
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@end
|