diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt
index ac0951c180..20946f07d6 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt
@@ -211,13 +211,14 @@ private fun PlanDialogs(
is PlanState.DialogState.CancelConfirmation -> {
BitwardenTwoButtonDialog(
- title = stringResource(id = BitwardenString.cancel_premium),
+ title = stringResource(id = BitwardenString.continue_to_stripe),
message = stringResource(
- id = BitwardenString.cancel_premium_confirmation,
+ id = BitwardenString
+ .youll_be_taken_to_stripe_to_manage_your_subscription_cancellation,
dialogState.nextRenewalDate,
),
- confirmButtonText = stringResource(id = BitwardenString.cancel_now),
- dismissButtonText = stringResource(id = BitwardenString.close),
+ confirmButtonText = stringResource(id = BitwardenString.continue_text),
+ dismissButtonText = stringResource(id = BitwardenString.cancel),
onConfirmClick = handlers.onConfirmCancelClick,
onDismissClick = handlers.onDismissCancelConfirmation,
onDismissRequest = handlers.onDismissCancelConfirmation,
diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt
index 5ea6e6e569..7bf9127644 100644
--- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt
+++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt
@@ -1043,12 +1043,12 @@ class PlanScreenTest : BitwardenComposeTest() {
}
composeTestRule
- .onAllNodesWithText("Cancel Premium")
+ .onAllNodesWithText("Continue to Stripe?")
.filterToOne(hasAnyAncestor(isDialog()))
.assertExists()
composeTestRule
.onAllNodesWithText(
- "You’ll continue to have Premium access until April 2, 2026.",
+ "You’ll be taken to Stripe to manage your subscription cancellation.",
)
.filterToOne(hasAnyAncestor(isDialog()))
.assertExists()
@@ -1065,7 +1065,7 @@ class PlanScreenTest : BitwardenComposeTest() {
)
}
composeTestRule
- .onAllNodesWithText("Cancel now")
+ .onAllNodesWithText("Continue")
.filterToOne(hasAnyAncestor(isDialog()))
.performClick()
verify { viewModel.trySendAction(PlanAction.ConfirmCancelClick) }
@@ -1082,7 +1082,7 @@ class PlanScreenTest : BitwardenComposeTest() {
)
}
composeTestRule
- .onAllNodesWithText("Close")
+ .onAllNodesWithText("Cancel")
.filterToOne(hasAnyAncestor(isDialog()))
.performClick()
verify { viewModel.trySendAction(PlanAction.DismissCancelConfirmation) }
diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml
index 21df3e1544..3baca079ce 100644
--- a/ui/src/main/res/values/strings.xml
+++ b/ui/src/main/res/values/strings.xml
@@ -1304,8 +1304,6 @@ Do you want to switch to this account?
Manage plan
Manage your subscription plan in the Bitwarden web app.
Cancel Premium
- Cancel now
- You’ll continue to have Premium access until %1$s.
Active
Canceled
Past due
@@ -1393,4 +1391,6 @@ Do you want to switch to this account?
Bitwarden needs local network access to sync with your server. Without this permission, the app won’t be able to connect.
Without this permission, Bitwarden won’t be able to connect and sync with your server. You can enable this in your device settings.
Your request was interrupted because the app needs local network access. You can enable this in your device settings.
+ Continue to Stripe?
+ You’ll be taken to Stripe to manage your subscription cancellation.