[PM-37804] feat: Confirm before leaving the app to Stripe checkout#6958
Conversation
The Upgrade now CTA on the Free Premium plan view launched the Stripe checkout
URL with no acknowledgement that the user was about to leave the app. Mirror
the Manage Plan confirmation pattern: the button now opens a two-button dialog
("Continue to Stripe?" / "You'll go to Stripe's secure checkout to complete
your purchase.") and only fetches the checkout URL when the user confirms,
giving them a chance to back out without an unnecessary network call.
Also renames the existing stripe_checkout_footer string resource to mirror its
value, matching the project convention for naming resources from their text.
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE This PR adds a confirmation dialog before launching the Stripe checkout from the Free Premium plan view, mirroring the existing Manage Plan confirmation pattern in the same screen. The implementation reuses Code Review DetailsNo findings. The dialog implementation is a direct mirror of the existing |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6958 +/- ##
==========================================
+ Coverage 85.49% 86.46% +0.96%
==========================================
Files 1023 870 -153
Lines 66231 63464 -2767
Branches 9308 9207 -101
==========================================
- Hits 56623 54872 -1751
+ Misses 6422 5432 -990
+ Partials 3186 3160 -26
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-37804
📔 Objective
The Upgrade now CTA on the Free Premium plan view launched the Stripe checkout URL with no acknowledgement that the user was about to leave the app. Mirror the Manage Plan confirmation pattern: the button now opens a two-button dialog ("Continue to Stripe?" / "You'll go to Stripe's secure checkout to complete your purchase.") and only fetches the checkout URL when the user confirms, giving them a chance to back out without an unnecessary network call.
Also renames the existing
stripe_checkout_footerstring resource to mirror its value, matching the project convention for naming resources from their text.📸 Screenshots