diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cfb4ad933b..b13606584b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -118,6 +118,17 @@
android:scheme="tangem" />
+
+
+
+
+
+
+
+
+
diff --git a/core/deep-links/global/src/main/kotlin/com/tangem/core/deeplink/global/BuyCurrencyDeepLink.kt b/core/deep-links/global/src/main/kotlin/com/tangem/core/deeplink/global/BuyCurrencyDeepLink.kt
index 9282116415..77192eb776 100644
--- a/core/deep-links/global/src/main/kotlin/com/tangem/core/deeplink/global/BuyCurrencyDeepLink.kt
+++ b/core/deep-links/global/src/main/kotlin/com/tangem/core/deeplink/global/BuyCurrencyDeepLink.kt
@@ -2,13 +2,25 @@ package com.tangem.core.deeplink.global
import com.tangem.core.deeplink.DeepLink
-class BuyCurrencyDeepLink(val onReceive: (txId: String) -> Unit) : DeepLink {
+class BuyCurrencyDeepLink(
+ isOnrampFeatureEnabled: Boolean,
+ val onReceive: (txId: String) -> Unit,
+) : DeepLink {
- override val uri: String = "tangem://redirect?action=dismissBrowser"
+ override val uri: String = if (isOnrampFeatureEnabled) {
+ ONRAMP_REDIRECT_DEEPLINK
+ } else {
+ BUY_REDIRECT_DEEPLINK
+ }
override fun onReceive(params: Map) {
onReceive(
- params["txId"] ?: return,
+ params["merchant_transaction_id"] ?: return,
)
}
+
+ companion object {
+ const val ONRAMP_REDIRECT_DEEPLINK = "tangem://onramp-success?"
+ private const val BUY_REDIRECT_DEEPLINK = "tangem://redirect?action=dismissBrowser"
+ }
}
\ No newline at end of file
diff --git a/data/onramp/build.gradle.kts b/data/onramp/build.gradle.kts
index 15eeae4113..3510507736 100644
--- a/data/onramp/build.gradle.kts
+++ b/data/onramp/build.gradle.kts
@@ -14,6 +14,7 @@ dependencies {
/** Core modules */
implementation(projects.core.datasource)
implementation(projects.core.utils)
+ implementation(projects.core.deepLinks.global)
/** Common modules */
implementation(projects.data.common)
diff --git a/data/onramp/src/main/java/com/tangem/data/onramp/DefaultOnrampRepository.kt b/data/onramp/src/main/java/com/tangem/data/onramp/DefaultOnrampRepository.kt
index 77c83a2937..672b0f07ac 100644
--- a/data/onramp/src/main/java/com/tangem/data/onramp/DefaultOnrampRepository.kt
+++ b/data/onramp/src/main/java/com/tangem/data/onramp/DefaultOnrampRepository.kt
@@ -2,6 +2,7 @@ package com.tangem.data.onramp
import com.squareup.moshi.Moshi
import com.tangem.blockchain.extensions.toBigDecimalOrDefault
+import com.tangem.core.deeplink.global.BuyCurrencyDeepLink
import com.tangem.data.common.api.safeApiCall
import com.tangem.data.onramp.converters.CountryConverter
import com.tangem.data.onramp.converters.CurrencyConverter
@@ -283,7 +284,7 @@ internal class DefaultOnrampRepository(
toDecimals = cryptoCurrency.decimals,
providerId = quote.provider.id,
toAddress = address,
- redirectUrl = "tangem://redirect?action=dismissBrowser",
+ redirectUrl = BuyCurrencyDeepLink.ONRAMP_REDIRECT_DEEPLINK,
language = null,
theme = getTheme(),
requestId = requestId,
diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt
index 9d0c29445d..0e4398aed6 100644
--- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt
+++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt
@@ -189,7 +189,10 @@ internal class TokenDetailsViewModel @Inject constructor(
deepLinksRegistry.registerWithViewModel(
viewModel = this,
deepLinks = listOf(
- BuyCurrencyDeepLink(::onBuyCurrencyDeepLink),
+ BuyCurrencyDeepLink(
+ isOnrampFeatureEnabled = onrampFeatureToggles.isFeatureEnabled,
+ onReceive = ::onBuyCurrencyDeepLink,
+ ),
),
)
userWallet = getUserWalletUseCase(userWalletId).getOrNull() ?: error("UserWallet not found")
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/deeplink/WalletDeepLinksHandler.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/deeplink/WalletDeepLinksHandler.kt
index 8a8186fde0..bfd6aafd1c 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/deeplink/WalletDeepLinksHandler.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/deeplink/WalletDeepLinksHandler.kt
@@ -65,6 +65,7 @@ internal class WalletDeepLinksHandler @Inject constructor(
if (onrampFeatureToggles.isFeatureEnabled || !userWallet.isMultiCurrency) {
add(
BuyCurrencyDeepLink(
+ isOnrampFeatureEnabled = onrampFeatureToggles.isFeatureEnabled,
onReceive = { txId ->
scope.launch { onBuyCurrencyDeepLink(txId, userWallet) }
},