diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/card/payment/DefaultCardTokenizationDelegate.kt b/example/src/main/kotlin/com/processout/example/ui/screen/card/payment/DefaultCardTokenizationDelegate.kt index fccca818f..479eb2755 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/card/payment/DefaultCardTokenizationDelegate.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/card/payment/DefaultCardTokenizationDelegate.kt @@ -8,7 +8,7 @@ import com.processout.sdk.api.service.PO3DSService import com.processout.sdk.api.service.POInvoicesService import com.processout.sdk.core.POFailure.Code.Generic import com.processout.sdk.core.ProcessOutResult -import com.processout.sdk.ui.card.tokenization.POCardTokenizationDelegate +import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationDelegate class DefaultCardTokenizationDelegate( private val viewModel: CardPaymentViewModel, diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt b/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt index 7caac8de4..155ceee42 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/checkout/DefaultDynamicCheckoutDelegate.kt @@ -2,12 +2,12 @@ package com.processout.example.ui.screen.checkout import com.processout.example.shared.Constants import com.processout.sdk.api.model.request.POCreateInvoiceRequest -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceInvalidationReason import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POInvoice import com.processout.sdk.api.service.POInvoicesService import com.processout.sdk.core.fold -import com.processout.sdk.ui.checkout.PODynamicCheckoutDelegate +import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutDelegate +import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutInvoiceInvalidationReason import java.util.UUID class DefaultDynamicCheckoutDelegate( diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/features/FeaturesFragment.kt b/example/src/main/kotlin/com/processout/example/ui/screen/features/FeaturesFragment.kt index 16c51b366..fecbd5097 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/features/FeaturesFragment.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/features/FeaturesFragment.kt @@ -24,8 +24,8 @@ import com.processout.sdk.ui.card.scanner.POCardScannerLauncher import com.processout.sdk.ui.card.scanner.recognition.POScannedCard import com.processout.sdk.ui.card.update.POCardUpdateConfiguration import com.processout.sdk.ui.card.update.POCardUpdateConfiguration.CardInformation -import com.processout.sdk.ui.card.update.POCardUpdateDelegate import com.processout.sdk.ui.card.update.POCardUpdateLauncher +import com.processout.sdk.ui.card.update.delegate.POCardUpdateDelegate import com.processout.sdk.ui.googlepay.POGooglePayCardTokenizationLauncher import com.processout.sdk.ui.shared.configuration.POBottomSheetConfiguration import com.processout.sdk.ui.shared.configuration.POBottomSheetConfiguration.Height.WrapContent diff --git a/example/src/main/kotlin/com/processout/example/ui/screen/nativeapm/NativeApmFragment.kt b/example/src/main/kotlin/com/processout/example/ui/screen/nativeapm/NativeApmFragment.kt index 2f9105990..3f13a63e0 100644 --- a/example/src/main/kotlin/com/processout/example/ui/screen/nativeapm/NativeApmFragment.kt +++ b/example/src/main/kotlin/com/processout/example/ui/screen/nativeapm/NativeApmFragment.kt @@ -17,8 +17,8 @@ import com.processout.sdk.core.onFailure import com.processout.sdk.core.onSuccess import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.Button -import com.processout.sdk.ui.napm.PONativeAlternativePaymentDelegate import com.processout.sdk.ui.napm.PONativeAlternativePaymentLauncher +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentDelegate import com.processout.sdk.ui.nativeapm.PONativeAlternativePaymentMethodConfiguration import com.processout.sdk.ui.nativeapm.PONativeAlternativePaymentMethodLauncher import com.processout.sdk.ui.nativeapm.PONativeAlternativePaymentMethodResult diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/dispatcher/PONativeAlternativePaymentMethodEventDispatcher.kt b/sdk/src/main/kotlin/com/processout/sdk/api/dispatcher/PONativeAlternativePaymentMethodEventDispatcher.kt index fd0b41c3a..7383ebbac 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/dispatcher/PONativeAlternativePaymentMethodEventDispatcher.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/api/dispatcher/PONativeAlternativePaymentMethodEventDispatcher.kt @@ -5,8 +5,6 @@ import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodDefa import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodDefaultValuesResponse import kotlinx.coroutines.flow.SharedFlow -// TODO: Move it to '.dispatcher.napm' package before next major release. - /** * Dispatcher that allows to handle events during native alternative payments. */ diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceAuthorizationRequest.kt b/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceAuthorizationRequest.kt deleted file mode 100644 index 959c66809..000000000 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceAuthorizationRequest.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.processout.sdk.api.model.request - -import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod -import com.processout.sdk.core.annotation.ProcessOutInternalApi -import java.util.UUID - -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutInvoiceAuthorizationRequest( - override val uuid: UUID = UUID.randomUUID(), - val request: POInvoiceAuthorizationRequest, - val paymentMethod: PODynamicCheckoutPaymentMethod -) : POEventDispatcher.Request diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceRequest.kt b/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceRequest.kt deleted file mode 100644 index 57638c1cf..000000000 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceRequest.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.processout.sdk.api.model.request - -import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.response.POInvoice -import com.processout.sdk.core.annotation.ProcessOutInternalApi -import java.util.UUID - -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutInvoiceRequest( - override val uuid: UUID = UUID.randomUUID(), - val currentInvoice: POInvoice, - val invalidationReason: PODynamicCheckoutInvoiceInvalidationReason -) : POEventDispatcher.Request diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceAuthorizationResponse.kt b/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceAuthorizationResponse.kt deleted file mode 100644 index dc4659697..000000000 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceAuthorizationResponse.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.processout.sdk.api.model.response - -import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceAuthorizationRequest -import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest -import com.processout.sdk.core.annotation.ProcessOutInternalApi -import java.util.UUID - -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutInvoiceAuthorizationResponse internal constructor( - override val uuid: UUID, - val request: POInvoiceAuthorizationRequest -) : POEventDispatcher.Response - -/** @suppress */ -@ProcessOutInternalApi -fun PODynamicCheckoutInvoiceAuthorizationRequest.toResponse( - request: POInvoiceAuthorizationRequest -) = PODynamicCheckoutInvoiceAuthorizationResponse(uuid, request) diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceResponse.kt b/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceResponse.kt deleted file mode 100644 index 87f248f55..000000000 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PODynamicCheckoutInvoiceResponse.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.processout.sdk.api.model.response - -import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceInvalidationReason -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceRequest -import com.processout.sdk.api.model.request.POInvoiceRequest -import com.processout.sdk.core.annotation.ProcessOutInternalApi -import java.util.UUID - -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutInvoiceResponse internal constructor( - override val uuid: UUID, - val invoiceRequest: POInvoiceRequest?, - val invalidationReason: PODynamicCheckoutInvoiceInvalidationReason -) : POEventDispatcher.Response - -/** @suppress */ -@ProcessOutInternalApi -fun PODynamicCheckoutInvoiceRequest.toResponse( - invoiceRequest: POInvoiceRequest? -) = PODynamicCheckoutInvoiceResponse(uuid, invoiceRequest, invalidationReason) diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PONativeAlternativePaymentMethodDefaultValuesResponse.kt b/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PONativeAlternativePaymentMethodDefaultValuesResponse.kt index bfa67e51c..8bd6244fa 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PONativeAlternativePaymentMethodDefaultValuesResponse.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/api/model/response/PONativeAlternativePaymentMethodDefaultValuesResponse.kt @@ -1,7 +1,6 @@ package com.processout.sdk.api.model.response import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.request.PODynamicCheckoutAlternativePaymentDefaultValuesRequest import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodDefaultValuesRequest import com.processout.sdk.core.annotation.ProcessOutInternalApi import java.util.UUID @@ -13,7 +12,7 @@ import java.util.UUID * @param[uuid] Unique identifier of response that must be equal to UUID of request. * @param[defaultValues] Map where key is [PONativeAlternativePaymentMethodParameter.key] and value is a default value for this parameter. */ -data class PONativeAlternativePaymentMethodDefaultValuesResponse internal constructor( +data class PONativeAlternativePaymentMethodDefaultValuesResponse @ProcessOutInternalApi constructor( override val uuid: UUID, val defaultValues: Map ) : POEventDispatcher.Response @@ -26,9 +25,3 @@ data class PONativeAlternativePaymentMethodDefaultValuesResponse internal constr fun PONativeAlternativePaymentMethodDefaultValuesRequest.toResponse( defaultValues: Map ) = PONativeAlternativePaymentMethodDefaultValuesResponse(uuid, defaultValues) - -/** @suppress */ -@ProcessOutInternalApi -fun PODynamicCheckoutAlternativePaymentDefaultValuesRequest.toResponse( - defaultValues: Map -) = PONativeAlternativePaymentMethodDefaultValuesResponse(uuid, defaultValues) diff --git a/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodCustomTabLauncher.kt b/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodCustomTabLauncher.kt index 89232faa3..736b5a357 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodCustomTabLauncher.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodCustomTabLauncher.kt @@ -17,8 +17,8 @@ import com.processout.sdk.ui.web.WebAuthorizationDelegate import com.processout.sdk.ui.web.WebAuthorizationDelegateCache import com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivityContract import com.processout.sdk.ui.web.customtab.POCustomTabConfiguration -import com.processout.sdk.ui.web.webview.WebViewAuthorizationActivityLauncher import com.processout.sdk.ui.web.webview.POWebViewConfiguration +import com.processout.sdk.ui.web.webview.WebViewAuthorizationActivityLauncher /** * Launcher that starts [POCustomTabAuthorizationActivity][com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivity] diff --git a/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodWebViewBuilder.kt b/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodWebViewBuilder.kt index 220fec7fd..22d581ea7 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodWebViewBuilder.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/ui/apm/POAlternativePaymentMethodWebViewBuilder.kt @@ -9,8 +9,8 @@ import com.processout.sdk.api.model.response.POAlternativePaymentMethodResponse import com.processout.sdk.api.network.ApiConstants import com.processout.sdk.core.ProcessOutResult import com.processout.sdk.ui.web.WebAuthorizationDelegate -import com.processout.sdk.ui.web.webview.ProcessOutWebView import com.processout.sdk.ui.web.webview.POWebViewConfiguration +import com.processout.sdk.ui.web.webview.ProcessOutWebView @Deprecated("Use POAlternativePaymentMethodCustomTabLauncher.") class POAlternativePaymentMethodWebViewBuilder( diff --git a/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectCustomTabLauncher.kt b/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectCustomTabLauncher.kt index 445ac3f6e..388ab2f10 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectCustomTabLauncher.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectCustomTabLauncher.kt @@ -15,8 +15,8 @@ import com.processout.sdk.ui.web.WebAuthorizationDelegate import com.processout.sdk.ui.web.WebAuthorizationDelegateCache import com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivityContract import com.processout.sdk.ui.web.customtab.POCustomTabConfiguration -import com.processout.sdk.ui.web.webview.WebViewAuthorizationActivityLauncher import com.processout.sdk.ui.web.webview.POWebViewConfiguration +import com.processout.sdk.ui.web.webview.WebViewAuthorizationActivityLauncher /** * Launcher that starts [POCustomTabAuthorizationActivity][com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivity] diff --git a/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectWebViewBuilder.kt b/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectWebViewBuilder.kt index 92a9617c7..73fb179a3 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectWebViewBuilder.kt +++ b/sdk/src/main/kotlin/com/processout/sdk/ui/threeds/PO3DSRedirectWebViewBuilder.kt @@ -8,8 +8,8 @@ import com.processout.sdk.api.model.threeds.PO3DSRedirect import com.processout.sdk.api.network.ApiConstants import com.processout.sdk.core.ProcessOutResult import com.processout.sdk.ui.web.WebAuthorizationDelegate -import com.processout.sdk.ui.web.webview.ProcessOutWebView import com.processout.sdk.ui.web.webview.POWebViewConfiguration +import com.processout.sdk.ui.web.webview.ProcessOutWebView @Deprecated("Use PO3DSRedirectCustomTabLauncher.") class PO3DSRedirectWebViewBuilder( diff --git a/sdk/src/main/res/values-ar/strings.xml b/sdk/src/main/res/values-ar/strings.xml index e75130d11..29a2da0ae 100644 --- a/sdk/src/main/res/values-ar/strings.xml +++ b/sdk/src/main/res/values-ar/strings.xml @@ -72,12 +72,13 @@ سطر العنوان %d احفظ تفاصيل هذه البطاقة لاستخدامها في المستقبل إنَّ معلومات البطاقة غير صالحة - إنّ تاريخ صلاحية البطاقة غير صالح إنّ رقم البطاقة غير صالح - اسم حامل البطاقة غير صالح + إنّ تاريخ صلاحية البطاقة غير صالح رقم كود التحقق CVV غير صالح - حدث خطأ ما، يرجى المحاولة مرة أخرى تاريخ انتهاء صلاحية البطاقة و/أو كود التحقق CVV غير صالح + اسم حامل البطاقة غير صالح + لا يمكننا قبول هذه البطاقة. يرجى المحاولة باستخدام بطاقة أخرى. + حدث خطأ ما، يرجى المحاولة مرة أخرى المنطقة diff --git a/sdk/src/main/res/values-fr/strings.xml b/sdk/src/main/res/values-fr/strings.xml index 31d5bb9c1..96d1c7e37 100644 --- a/sdk/src/main/res/values-fr/strings.xml +++ b/sdk/src/main/res/values-fr/strings.xml @@ -70,12 +70,13 @@ Ligne d\'adresse %d Enregistrer cette carte pour les paiements futurs Les informations de votre carte sont incorrectes. - La date d\'expiration de votre carte est incorrecte. Votre numéro de carte est incorrect. - Le nom du porteur de carte est incorrect. + La date d\'expiration de votre carte est incorrecte. Le code CVV de votre carte est incorrect. - Une erreur s\'est produite, veuillez réessayer. La date d\'expiration de votre carte ou son code CVV sont incorrects. + Le nom du porteur de carte est incorrect. + Nous ne pouvons pas accepter cette carte. Veuillez en essayer une autre. + Une erreur s\'est produite, veuillez réessayer. Zone diff --git a/sdk/src/main/res/values-pl/strings.xml b/sdk/src/main/res/values-pl/strings.xml index 5134c292e..7283de0af 100644 --- a/sdk/src/main/res/values-pl/strings.xml +++ b/sdk/src/main/res/values-pl/strings.xml @@ -71,12 +71,13 @@ Linia adresu %d Zapisz tę kartę na przyszłe płatności Niepoprawne dane karty. - Data ważności karty jest nieprawidłowa. Nieprawidłowy numer karty. - Nieprawidłowe imię i nazwisko na karcie. + Data ważności karty jest nieprawidłowa. Nieprawidłowy numer CVC. - Coś poszło nie tak, spróbuj ponownie. Data ważności karty oraz/lub kod CVC są nieprawidłowe. + Nieprawidłowe imię i nazwisko na karcie. + Nie możemy zaakceptować tej karty. Spróbuj użyć innej. + Coś poszło nie tak, spróbuj ponownie. Obszar diff --git a/sdk/src/main/res/values-pt/strings.xml b/sdk/src/main/res/values-pt/strings.xml index 1acf9e383..3c4eae99f 100644 --- a/sdk/src/main/res/values-pt/strings.xml +++ b/sdk/src/main/res/values-pt/strings.xml @@ -70,12 +70,13 @@ Endereço %d Guardar este cartão para futuros pagamentos Os dados do seu cartão são inválidos. - A data de validade do seu cartão é inválida. O número do seu cartão é inválido. - O nome no cartão é inválido. + A data de validade do seu cartão é inválida. O código de segurança do seu cartão é inválido. - Ocorreu um erro ao processar o seu cartão, por favor tente novamente. A data de validade e/ou o código de segurança do seu cartão são inválidos. + O nome no cartão é inválido. + Não podemos aceitar este cartão. Por favor, tente com outro. + Ocorreu um erro ao processar o seu cartão, por favor tente novamente. Região diff --git a/sdk/src/main/res/values/strings.xml b/sdk/src/main/res/values/strings.xml index e75db6707..749b59b2a 100644 --- a/sdk/src/main/res/values/strings.xml +++ b/sdk/src/main/res/values/strings.xml @@ -69,12 +69,13 @@ Address line %d Save this card for future payments Your card information is invalid. - Your card expiration date is invalid. Your card number is invalid. - The cardholder name is invalid. + Your card expiration date is invalid. Your card CVC is invalid. - Something went wrong, please try again. Your card expiration date and/or CVC is invalid. + The cardholder name is invalid. + We can’t accept this card. Please try a different one. + Something went wrong, please try again. Area diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationLauncher.kt index cce16fcba..66dbd355f 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationLauncher.kt @@ -15,6 +15,7 @@ import com.processout.sdk.api.model.request.POCardTokenizationShouldContinueRequ import com.processout.sdk.api.model.response.POCard import com.processout.sdk.api.model.response.toResponse import com.processout.sdk.core.ProcessOutActivityResult +import com.processout.sdk.ui.card.tokenization.delegate.POCardTokenizationDelegate import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/delegate/POCardTokenizationDelegate.kt similarity index 96% rename from ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/delegate/POCardTokenizationDelegate.kt index fe3bbf554..e82df41db 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/POCardTokenizationDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/card/tokenization/delegate/POCardTokenizationDelegate.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.ui.card.tokenization +package com.processout.sdk.ui.card.tokenization.delegate import com.processout.sdk.api.model.event.POCardTokenizationEvent import com.processout.sdk.api.model.response.POCard diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateLauncher.kt index eb2860501..95a9449d0 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateLauncher.kt @@ -13,6 +13,7 @@ import com.processout.sdk.api.model.request.POCardUpdateShouldContinueRequest import com.processout.sdk.api.model.response.POCard import com.processout.sdk.api.model.response.toResponse import com.processout.sdk.core.ProcessOutActivityResult +import com.processout.sdk.ui.card.update.delegate.POCardUpdateDelegate import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/card/update/delegate/POCardUpdateDelegate.kt similarity index 91% rename from ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/card/update/delegate/POCardUpdateDelegate.kt index 17f69fc70..fdfcd2927 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/card/update/POCardUpdateDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/card/update/delegate/POCardUpdateDelegate.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.ui.card.update +package com.processout.sdk.ui.card.update.delegate import com.processout.sdk.api.model.event.POCardUpdateEvent import com.processout.sdk.core.ProcessOutResult diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutActivity.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutActivity.kt index ede5b87cc..fbb2eff83 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutActivity.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutActivity.kt @@ -23,8 +23,6 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.google.android.gms.wallet.Wallet.WalletOptions import com.processout.sdk.R import com.processout.sdk.api.ProcessOut -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent.DidDeleteCustomerToken import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POAlternativePaymentMethodResponse import com.processout.sdk.api.model.response.POGooglePayCardTokenizationData @@ -52,8 +50,10 @@ import com.processout.sdk.ui.googlepay.POGooglePayCardTokenizationLauncher import com.processout.sdk.ui.napm.NativeAlternativePaymentViewModel import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.PaymentConfirmationConfiguration -import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsDelegate import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsLauncher +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsDelegate +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent.DidDeleteCustomerToken import com.processout.sdk.ui.shared.extension.collectImmediately import com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivity import com.processout.sdk.ui.web.customtab.POCustomTabAuthorizationActivityContract diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt index e0edb8d8b..195465e84 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/DynamicCheckoutInteractor.kt @@ -11,9 +11,6 @@ import coil.request.ImageRequest import coil.request.ImageResult import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.event.PODynamicCheckoutEvent -import com.processout.sdk.api.model.event.PODynamicCheckoutEvent.* -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent.WillSubmitParameters import com.processout.sdk.api.model.request.* import com.processout.sdk.api.model.response.* @@ -55,12 +52,11 @@ import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayCo import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.CheckoutOption.DEFAULT import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.TotalPriceStatus.ESTIMATED import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration.GooglePayConfiguration.TotalPriceStatus.FINAL -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutAlternativePaymentConfigurationRequest -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutAlternativePaymentConfigurationResponse -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsRequest -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsResponse +import com.processout.sdk.ui.checkout.delegate.* +import com.processout.sdk.ui.checkout.delegate.PODynamicCheckoutEvent.* import com.processout.sdk.ui.napm.* import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.* +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration import com.processout.sdk.ui.shared.extension.orElse import kotlinx.coroutines.* @@ -104,7 +100,7 @@ internal class DynamicCheckoutInteractor( private val handler = Handler(Looper.getMainLooper()) private var authorizeInvoiceJob: AuthorizeInvoiceJob? = null - private var latestInvoiceRequest: PODynamicCheckoutInvoiceRequest? = null + private var latestInvoiceRequest: DynamicCheckoutInvoiceRequest? = null private var latestCardProcessingRequest: POCardTokenizationProcessingRequest? = null init { @@ -658,7 +654,7 @@ internal class DynamicCheckoutInteractor( POLogger.debug("Invoked saved payment methods.") interactorScope.launch { eventDispatcher.send( - DynamicCheckoutSavedPaymentMethodsRequest( + DynamicCheckoutSavedPaymentMethodsConfigurationRequest( configuration = POSavedPaymentMethodsConfiguration( invoiceRequest = configuration.invoiceRequest ) @@ -668,7 +664,7 @@ internal class DynamicCheckoutInteractor( } private fun collectSavedPaymentMethodsConfiguration() { - eventDispatcher.subscribeForResponse( + eventDispatcher.subscribeForResponse( coroutineScope = interactorScope ) { response -> interactorScope.launch { @@ -883,7 +879,7 @@ internal class DynamicCheckoutInteractor( ) } if (latestInvoiceRequest == null) { - val request = PODynamicCheckoutInvoiceRequest( + val request = DynamicCheckoutInvoiceRequest( currentInvoice = currentInvoice, invalidationReason = reason ) @@ -896,7 +892,7 @@ internal class DynamicCheckoutInteractor( } private fun collectInvoice() { - eventDispatcher.subscribeForResponse( + eventDispatcher.subscribeForResponse( coroutineScope = interactorScope ) { response -> if (response.uuid == latestInvoiceRequest?.uuid) { @@ -948,22 +944,22 @@ internal class DynamicCheckoutInteractor( clientSecret: String? = null ) { interactorScope.launch { - val request = PODynamicCheckoutInvoiceAuthorizationRequest( + val request = DynamicCheckoutInvoiceAuthorizationRequest( + paymentMethod = paymentMethod.original, request = POInvoiceAuthorizationRequest( invoiceId = configuration.invoiceRequest.invoiceId, source = source, saveSource = saveSource, allowFallbackToSale = allowFallbackToSale, clientSecret = clientSecret - ), - paymentMethod = paymentMethod.original + ) ) eventDispatcher.send(request) } } private fun collectInvoiceAuthorizationRequest() { - eventDispatcher.subscribeForResponse( + eventDispatcher.subscribeForResponse( coroutineScope = interactorScope ) { response -> POLogger.info("Authorizing the invoice.", attributes = logAttributes) @@ -1082,7 +1078,7 @@ internal class DynamicCheckoutInteractor( activePaymentMethod()?.let { paymentMethod -> if (paymentMethod is NativeAlternativePayment) { interactorScope.launch { - val defaultValuesRequest = PODynamicCheckoutAlternativePaymentDefaultValuesRequest( + val defaultValuesRequest = DynamicCheckoutAlternativePaymentDefaultValuesRequest( uuid = request.uuid, paymentMethod = paymentMethod.original, parameters = request.parameters @@ -1092,7 +1088,7 @@ internal class DynamicCheckoutInteractor( } } } - eventDispatcher.subscribe( + eventDispatcher.subscribe( coroutineScope = interactorScope ) { event -> if (event is WillSubmitParameters) { diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt index ceb26f304..c9a1d4296 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutLauncher.kt @@ -9,9 +9,6 @@ import androidx.lifecycle.lifecycleScope import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.event.POCardTokenizationEvent -import com.processout.sdk.api.model.event.PODynamicCheckoutEvent -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent import com.processout.sdk.api.model.request.* import com.processout.sdk.api.model.response.toResponse import com.processout.sdk.api.service.PO3DSService @@ -20,10 +17,10 @@ import com.processout.sdk.api.service.proxy3ds.POProxy3DSServiceRequest.* import com.processout.sdk.api.service.proxy3ds.POProxy3DSServiceResponse import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutAlternativePaymentConfigurationRequest -import com.processout.sdk.ui.checkout.dispatcher.DynamicCheckoutSavedPaymentMethodsRequest -import com.processout.sdk.ui.checkout.dispatcher.toResponse +import com.processout.sdk.ui.checkout.delegate.* import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent import kotlinx.coroutines.* /** @@ -106,7 +103,7 @@ class PODynamicCheckoutLauncher private constructor( eventDispatcher.subscribe( coroutineScope = scope ) { delegate.onEvent(it) } - eventDispatcher.subscribe( + eventDispatcher.subscribe( coroutineScope = scope ) { delegate.onEvent(it) } eventDispatcher.subscribe( @@ -115,7 +112,7 @@ class PODynamicCheckoutLauncher private constructor( } private fun dispatchInvoice() { - eventDispatcher.subscribeForRequest( + eventDispatcher.subscribeForRequest( coroutineScope = scope ) { request -> scope.launch { @@ -129,13 +126,13 @@ class PODynamicCheckoutLauncher private constructor( } private fun dispatchInvoiceAuthorizationRequest() { - eventDispatcher.subscribeForRequest( + eventDispatcher.subscribeForRequest( coroutineScope = scope ) { request -> scope.launch { val invoiceAuthorizationRequest = delegate.invoiceAuthorizationRequest( - request = request.request, - paymentMethod = request.paymentMethod + paymentMethod = request.paymentMethod, + request = request.request ) eventDispatcher.send(request.toResponse(invoiceAuthorizationRequest)) } @@ -154,7 +151,7 @@ class PODynamicCheckoutLauncher private constructor( } private fun dispatchDefaultValues() { - eventDispatcher.subscribeForRequest( + eventDispatcher.subscribeForRequest( coroutineScope = scope ) { request -> scope.launch { @@ -182,7 +179,7 @@ class PODynamicCheckoutLauncher private constructor( } private fun dispatchSavedPaymentMethodsConfiguration() { - eventDispatcher.subscribeForRequest( + eventDispatcher.subscribeForRequest( coroutineScope = scope ) { request -> scope.launch { diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutAlternativePaymentConfiguration.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentConfiguration.kt similarity index 95% rename from ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutAlternativePaymentConfiguration.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentConfiguration.kt index c743c7dde..e137db3f4 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutAlternativePaymentConfiguration.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentConfiguration.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.ui.checkout.dispatcher +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentDefaultValues.kt similarity index 51% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentDefaultValues.kt index 5792d4600..efb0eafde 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutAlternativePaymentDefaultValuesRequest.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutAlternativePaymentDefaultValues.kt @@ -1,15 +1,17 @@ -package com.processout.sdk.api.model.request +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod +import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodDefaultValuesResponse import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodParameter -import com.processout.sdk.core.annotation.ProcessOutInternalApi import java.util.UUID -/** @suppress */ -@ProcessOutInternalApi -data class PODynamicCheckoutAlternativePaymentDefaultValuesRequest( +internal data class DynamicCheckoutAlternativePaymentDefaultValuesRequest( override val uuid: UUID, val paymentMethod: PODynamicCheckoutPaymentMethod.AlternativePayment, val parameters: List ) : POEventDispatcher.Request + +internal fun DynamicCheckoutAlternativePaymentDefaultValuesRequest.toResponse( + defaultValues: Map +) = PONativeAlternativePaymentMethodDefaultValuesResponse(uuid, defaultValues) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoice.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoice.kt new file mode 100644 index 000000000..665f80065 --- /dev/null +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoice.kt @@ -0,0 +1,22 @@ +package com.processout.sdk.ui.checkout.delegate + +import com.processout.sdk.api.dispatcher.POEventDispatcher +import com.processout.sdk.api.model.request.POInvoiceRequest +import com.processout.sdk.api.model.response.POInvoice +import java.util.UUID + +internal data class DynamicCheckoutInvoiceRequest( + override val uuid: UUID = UUID.randomUUID(), + val currentInvoice: POInvoice, + val invalidationReason: PODynamicCheckoutInvoiceInvalidationReason +) : POEventDispatcher.Request + +internal data class DynamicCheckoutInvoiceResponse( + override val uuid: UUID, + val invoiceRequest: POInvoiceRequest?, + val invalidationReason: PODynamicCheckoutInvoiceInvalidationReason +) : POEventDispatcher.Response + +internal fun DynamicCheckoutInvoiceRequest.toResponse( + invoiceRequest: POInvoiceRequest? +) = DynamicCheckoutInvoiceResponse(uuid, invoiceRequest, invalidationReason) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt new file mode 100644 index 000000000..1331b4910 --- /dev/null +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutInvoiceAuthorization.kt @@ -0,0 +1,21 @@ +package com.processout.sdk.ui.checkout.delegate + +import com.processout.sdk.api.dispatcher.POEventDispatcher +import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest +import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod +import java.util.UUID + +internal data class DynamicCheckoutInvoiceAuthorizationRequest( + override val uuid: UUID = UUID.randomUUID(), + val paymentMethod: PODynamicCheckoutPaymentMethod, + val request: POInvoiceAuthorizationRequest +) : POEventDispatcher.Request + +internal data class DynamicCheckoutInvoiceAuthorizationResponse( + override val uuid: UUID, + val request: POInvoiceAuthorizationRequest +) : POEventDispatcher.Response + +internal fun DynamicCheckoutInvoiceAuthorizationRequest.toResponse( + request: POInvoiceAuthorizationRequest +) = DynamicCheckoutInvoiceAuthorizationResponse(uuid, request) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethods.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutSavedPaymentMethodsConfiguration.kt similarity index 56% rename from ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethods.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutSavedPaymentMethodsConfiguration.kt index e58096d9f..dde113b14 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/dispatcher/DynamicCheckoutSavedPaymentMethods.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/DynamicCheckoutSavedPaymentMethodsConfiguration.kt @@ -1,19 +1,19 @@ -package com.processout.sdk.ui.checkout.dispatcher +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration import java.util.UUID -internal data class DynamicCheckoutSavedPaymentMethodsRequest( +internal data class DynamicCheckoutSavedPaymentMethodsConfigurationRequest( override val uuid: UUID = UUID.randomUUID(), val configuration: POSavedPaymentMethodsConfiguration ) : POEventDispatcher.Request -internal data class DynamicCheckoutSavedPaymentMethodsResponse( +internal data class DynamicCheckoutSavedPaymentMethodsConfigurationResponse( override val uuid: UUID, val configuration: POSavedPaymentMethodsConfiguration ) : POEventDispatcher.Response -internal fun DynamicCheckoutSavedPaymentMethodsRequest.toResponse( +internal fun DynamicCheckoutSavedPaymentMethodsConfigurationRequest.toResponse( configuration: POSavedPaymentMethodsConfiguration -) = DynamicCheckoutSavedPaymentMethodsResponse(uuid, configuration) +) = DynamicCheckoutSavedPaymentMethodsConfigurationResponse(uuid, configuration) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt similarity index 87% rename from ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt index a15c0a0e0..339cf3d55 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/checkout/PODynamicCheckoutDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutDelegate.kt @@ -1,18 +1,17 @@ -package com.processout.sdk.ui.checkout +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.model.event.POCardTokenizationEvent -import com.processout.sdk.api.model.event.PODynamicCheckoutEvent -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent -import com.processout.sdk.api.model.request.PODynamicCheckoutInvoiceInvalidationReason import com.processout.sdk.api.model.request.POInvoiceAuthorizationRequest import com.processout.sdk.api.model.request.POInvoiceRequest import com.processout.sdk.api.model.response.POCardIssuerInformation import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod import com.processout.sdk.api.model.response.POInvoice import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodParameter +import com.processout.sdk.ui.checkout.PODynamicCheckoutConfiguration import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent import com.processout.sdk.ui.savedpaymentmethods.POSavedPaymentMethodsConfiguration +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent /** * Delegate that allows to handle events during dynamic checkout flow. @@ -34,7 +33,7 @@ interface PODynamicCheckoutDelegate { /** * Invoked on native alternative payment lifecycle events. */ - fun onEvent(event: PONativeAlternativePaymentMethodEvent) {} + fun onEvent(event: PONativeAlternativePaymentEvent) {} /** * Invoked on saved payment methods lifecycle events. @@ -57,8 +56,8 @@ interface PODynamicCheckoutDelegate { * Allows to alter request parameters but please make sure that _invoiceId_ and _source_ are unmodified. */ suspend fun invoiceAuthorizationRequest( - request: POInvoiceAuthorizationRequest, - paymentMethod: PODynamicCheckoutPaymentMethod + paymentMethod: PODynamicCheckoutPaymentMethod, + request: POInvoiceAuthorizationRequest ): POInvoiceAuthorizationRequest = request /** diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/event/PODynamicCheckoutEvent.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutEvent.kt similarity index 91% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/event/PODynamicCheckoutEvent.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutEvent.kt index f8e7c9af5..1dcfdf9ae 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/event/PODynamicCheckoutEvent.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutEvent.kt @@ -1,11 +1,14 @@ -package com.processout.sdk.api.model.event +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod import com.processout.sdk.core.ProcessOutResult +import com.processout.sdk.ui.core.annotation.ProcessOutInternalApi /** * Defines dynamic checkout lifecycle events. */ +/** @suppress */ +@ProcessOutInternalApi sealed class PODynamicCheckoutEvent { /** diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceInvalidationReason.kt b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceInvalidationReason.kt similarity index 93% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceInvalidationReason.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceInvalidationReason.kt index 8491e44c9..9709d7b37 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/request/PODynamicCheckoutInvoiceInvalidationReason.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/checkout/delegate/PODynamicCheckoutInvoiceInvalidationReason.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.api.model.request +package com.processout.sdk.ui.checkout.delegate import com.processout.sdk.core.ProcessOutResult import com.processout.sdk.core.annotation.ProcessOutInternalApi diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/napm/NativeAlternativePaymentInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/napm/NativeAlternativePaymentInteractor.kt index a9e228157..db5666eb6 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/napm/NativeAlternativePaymentInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/napm/NativeAlternativePaymentInteractor.kt @@ -18,7 +18,6 @@ import coil.request.ImageResult import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher import com.processout.sdk.api.dispatcher.napm.PODefaultNativeAlternativePaymentMethodEventDispatcher -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent.* import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodDefaultValuesRequest import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodRequest @@ -47,6 +46,7 @@ import com.processout.sdk.ui.napm.NativeAlternativePaymentEvent.Action import com.processout.sdk.ui.napm.NativeAlternativePaymentInteractorState.* import com.processout.sdk.ui.napm.NativeAlternativePaymentSideEffect.PermissionRequest import com.processout.sdk.ui.napm.PONativeAlternativePaymentConfiguration.CancelButton +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent import com.processout.sdk.ui.shared.extension.dpToPx import com.processout.sdk.ui.shared.provider.BarcodeBitmapProvider import com.processout.sdk.ui.shared.provider.MediaStorageProvider @@ -930,7 +930,7 @@ internal class NativeAlternativePaymentInteractor( //region Dispatch Events - private fun dispatch(event: PONativeAlternativePaymentMethodEvent) { + private fun dispatch(event: PONativeAlternativePaymentEvent) { interactorScope.launch { legacyEventDispatcher?.send(event) eventDispatcher.send(event) diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentLauncher.kt index 1d8004a2c..9170fe452 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentLauncher.kt @@ -8,11 +8,12 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.request.PONativeAlternativePaymentMethodDefaultValuesRequest import com.processout.sdk.api.model.response.toResponse import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentDelegate +import com.processout.sdk.ui.napm.delegate.PONativeAlternativePaymentEvent import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch @@ -114,7 +115,7 @@ class PONativeAlternativePaymentLauncher private constructor( } private fun dispatchEvents() { - eventDispatcher.subscribe( + eventDispatcher.subscribe( coroutineScope = scope ) { delegate.onEvent(it) } } diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentDelegate.kt similarity index 81% rename from ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentDelegate.kt index aa60e4ba0..0e012b8b0 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/napm/PONativeAlternativePaymentDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentDelegate.kt @@ -1,6 +1,5 @@ -package com.processout.sdk.ui.napm +package com.processout.sdk.ui.napm.delegate -import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent import com.processout.sdk.api.model.response.PONativeAlternativePaymentMethodParameter /** @@ -11,7 +10,7 @@ interface PONativeAlternativePaymentDelegate { /** * Invoked on native alternative payment lifecycle events. */ - fun onEvent(event: PONativeAlternativePaymentMethodEvent) {} + fun onEvent(event: PONativeAlternativePaymentEvent) {} /** * Allows to prefill default values for the given parameters during native alternative payment. diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentEvent.kt b/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentEvent.kt new file mode 100644 index 000000000..eb8de989f --- /dev/null +++ b/ui/src/main/kotlin/com/processout/sdk/ui/napm/delegate/PONativeAlternativePaymentEvent.kt @@ -0,0 +1,9 @@ +package com.processout.sdk.ui.napm.delegate + +import com.processout.sdk.api.model.event.PONativeAlternativePaymentMethodEvent + +/** + * Defines native alternative payment lifecycle events. + * This is a type alias for [PONativeAlternativePaymentMethodEvent]. + */ +typealias PONativeAlternativePaymentEvent = PONativeAlternativePaymentMethodEvent diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsLauncher.kt b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsLauncher.kt index 49a2b3ecd..a84bb675c 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsLauncher.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsLauncher.kt @@ -9,10 +9,11 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent import com.processout.sdk.core.POUnit import com.processout.sdk.core.ProcessOutActivityResult import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsActivityContract.Companion.EXTRA_FORCE_FINISH +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsDelegate +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent import kotlinx.coroutines.CoroutineScope /** diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/SavedPaymentMethodsInteractor.kt b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/SavedPaymentMethodsInteractor.kt index c99f99ff6..b91de8a36 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/SavedPaymentMethodsInteractor.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/SavedPaymentMethodsInteractor.kt @@ -7,8 +7,6 @@ import coil.request.ImageRequest import coil.request.ImageResult import com.processout.sdk.R import com.processout.sdk.api.dispatcher.POEventDispatcher -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent.* import com.processout.sdk.api.model.request.PODeleteCustomerTokenRequest import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod import com.processout.sdk.api.model.response.PODynamicCheckoutPaymentMethod.* @@ -28,6 +26,8 @@ import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsEvent.Action import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsEvent.Dismiss import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsInteractorState.ActionId import com.processout.sdk.ui.savedpaymentmethods.SavedPaymentMethodsInteractorState.PaymentMethod +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent +import com.processout.sdk.ui.savedpaymentmethods.delegate.POSavedPaymentMethodsEvent.* import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.coroutineScope diff --git a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsDelegate.kt b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsDelegate.kt similarity index 68% rename from ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsDelegate.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsDelegate.kt index 6652e542a..51b978ef8 100644 --- a/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/POSavedPaymentMethodsDelegate.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsDelegate.kt @@ -1,6 +1,4 @@ -package com.processout.sdk.ui.savedpaymentmethods - -import com.processout.sdk.api.model.event.POSavedPaymentMethodsEvent +package com.processout.sdk.ui.savedpaymentmethods.delegate /** * Delegates events during management of saved payment methods. diff --git a/sdk/src/main/kotlin/com/processout/sdk/api/model/event/POSavedPaymentMethodsEvent.kt b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsEvent.kt similarity index 93% rename from sdk/src/main/kotlin/com/processout/sdk/api/model/event/POSavedPaymentMethodsEvent.kt rename to ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsEvent.kt index 96fdfd193..97ba099f6 100644 --- a/sdk/src/main/kotlin/com/processout/sdk/api/model/event/POSavedPaymentMethodsEvent.kt +++ b/ui/src/main/kotlin/com/processout/sdk/ui/savedpaymentmethods/delegate/POSavedPaymentMethodsEvent.kt @@ -1,4 +1,4 @@ -package com.processout.sdk.api.model.event +package com.processout.sdk.ui.savedpaymentmethods.delegate import com.processout.sdk.core.ProcessOutResult