Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension

buildscript {
ext {
androidGradlePluginVersion = '9.1.0'
androidGradlePluginVersion = '9.1.1'
kotlinVersion = '2.1.20'
kspVersion = '2.1.20-1.0.32'
dokkaVersion = '1.9.20'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
package com.processout.sdk.api.model.request.napm.v2

import android.os.Parcelable
import com.processout.sdk.api.model.request.napm.v2.PONativeAlternativePaymentRequestConfiguration.ReturnRedirectType.AUTOMATIC
import com.squareup.moshi.JsonClass
import kotlinx.parcelize.Parcelize

/**
* Payment configuration.
*
* @param[returnRedirectType] Return redirect type. By default [AUTOMATIC].
*/
@Parcelize
data class PONativeAlternativePaymentRequestConfiguration(
val returnRedirectType: ReturnRedirectType = AUTOMATIC
) {
) : Parcelable {

/**
* Return redirect type.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import com.processout.sdk.R
import com.processout.sdk.api.dispatcher.POEventDispatcher
import com.processout.sdk.api.model.event.PODeepLinkReceivedEvent
import com.processout.sdk.api.model.request.napm.v2.*
import com.processout.sdk.api.model.request.napm.v2.PONativeAlternativePaymentRequestConfiguration.ReturnRedirectType
import com.processout.sdk.api.model.request.napm.v2.PONativeAlternativePaymentSubmitData.Parameter.Companion.phoneNumber
import com.processout.sdk.api.model.request.napm.v2.PONativeAlternativePaymentSubmitData.Parameter.Companion.string
import com.processout.sdk.api.model.response.POAlternativePaymentMethodResponse
Expand Down Expand Up @@ -150,9 +149,7 @@ internal class NativeAlternativePaymentInteractor(
val request = PONativeAlternativePaymentAuthorizationRequest(
invoiceId = flow.invoiceId,
gatewayConfigurationId = flow.gatewayConfigurationId,
configuration = PONativeAlternativePaymentRequestConfiguration(
returnRedirectType = ReturnRedirectType.MANUAL
),
configuration = flow.configuration,
source = flow.customerTokenId
)
invoicesService.authorize(request)
Expand All @@ -177,9 +174,7 @@ internal class NativeAlternativePaymentInteractor(
customerId = flow.customerId,
customerTokenId = flow.customerTokenId,
gatewayConfigurationId = flow.gatewayConfigurationId,
configuration = PONativeAlternativePaymentRequestConfiguration(
returnRedirectType = ReturnRedirectType.MANUAL
)
configuration = flow.configuration
)
customerTokensService.tokenize(request)
.onSuccess { response ->
Expand Down Expand Up @@ -589,6 +584,13 @@ internal class NativeAlternativePaymentInteractor(
redirect = response.redirect
)
}.onFailure { failure ->
val isInvalidRedirectResult = when (val code = failure.code) {
is Validation -> code.validationCode == ValidationCode.invalidRedirectResult
else -> false
}
if (isInvalidRedirectResult) {
return@onFailure
}
_completion.update { Failure(failure) }
}
}
Expand Down Expand Up @@ -909,9 +911,7 @@ internal class NativeAlternativePaymentInteractor(
val request = PONativeAlternativePaymentAuthorizationRequest(
invoiceId = flow.invoiceId,
gatewayConfigurationId = flow.gatewayConfigurationId,
configuration = PONativeAlternativePaymentRequestConfiguration(
returnRedirectType = ReturnRedirectType.MANUAL
),
configuration = flow.configuration,
submitData = stateValue.fields.toSubmitData(),
redirectConfirmation = redirectConfirmation
)
Expand Down Expand Up @@ -940,9 +940,7 @@ internal class NativeAlternativePaymentInteractor(
customerId = flow.customerId,
customerTokenId = flow.customerTokenId,
gatewayConfigurationId = flow.gatewayConfigurationId,
configuration = PONativeAlternativePaymentRequestConfiguration(
returnRedirectType = ReturnRedirectType.MANUAL
),
configuration = flow.configuration,
submitData = stateValue.fields.toSubmitData(),
redirectConfirmation = redirectConfirmation
)
Expand Down Expand Up @@ -1089,19 +1087,15 @@ internal class NativeAlternativePaymentInteractor(
request = PONativeAlternativePaymentAuthorizationRequest(
invoiceId = flow.invoiceId,
gatewayConfigurationId = flow.gatewayConfigurationId,
configuration = PONativeAlternativePaymentRequestConfiguration(
returnRedirectType = ReturnRedirectType.MANUAL
)
configuration = flow.configuration
)
).map()
is Tokenization -> customerTokensService.tokenize(
request = PONativeAlternativePaymentTokenizationRequest(
customerId = flow.customerId,
customerTokenId = flow.customerTokenId,
gatewayConfigurationId = flow.gatewayConfigurationId,
configuration = PONativeAlternativePaymentRequestConfiguration(
returnRedirectType = ReturnRedirectType.MANUAL
)
configuration = flow.configuration
)
).map()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import android.os.Parcelable
import androidx.annotation.ColorRes
import androidx.annotation.DrawableRes
import androidx.annotation.IntRange
import com.processout.sdk.api.model.request.napm.v2.PONativeAlternativePaymentRequestConfiguration
import com.processout.sdk.ui.core.shared.image.PODrawableImage
import com.processout.sdk.ui.core.style.*
import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.CancelButton
Expand Down Expand Up @@ -67,7 +68,8 @@ data class PONativeAlternativePaymentConfiguration(
data class Authorization(
val invoiceId: String,
val gatewayConfigurationId: String,
val customerTokenId: String? = null
val customerTokenId: String? = null,
val configuration: PONativeAlternativePaymentRequestConfiguration = PONativeAlternativePaymentRequestConfiguration()
) : Flow()

/**
Expand All @@ -81,7 +83,8 @@ data class PONativeAlternativePaymentConfiguration(
data class Tokenization(
val customerId: String,
val customerTokenId: String,
val gatewayConfigurationId: String
val gatewayConfigurationId: String,
val configuration: PONativeAlternativePaymentRequestConfiguration = PONativeAlternativePaymentRequestConfiguration()
) : Flow()
}

Expand Down
Loading