[PM-32216] Create Stripe Checkout Session Endpoint#7246
[PM-32216] Create Stripe Checkout Session Endpoint#7246sbrown-livefront wants to merge 8 commits intomainfrom
Conversation
|
Claude finished @sbrown-livefront's task in 1m 57s —— View job Code Review: PM-32216 Create Stripe Checkout Session Endpoint
Review SummaryNo issues found — this PR is clean and well-implemented. The implementation adds a Stripe Checkout Session endpoint for mobile premium purchases with solid patterns throughout:
No security, correctness, performance, or breaking change concerns were identified. The Checkmarx CSRF finding is a false positive — the endpoint is protected by bearer token authentication ( |
|
New Issues (1)Checkmarx found the following issues in this Pull Request
|
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7246 +/- ##
==========================================
+ Coverage 57.68% 57.71% +0.03%
==========================================
Files 2035 2038 +3
Lines 89645 89743 +98
Branches 7993 7995 +2
==========================================
+ Hits 51709 51797 +88
- Misses 36072 36082 +10
Partials 1864 1864 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|





🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-32216
📔 Objective
This pull request introduces a new API endpoint to enable users to initiate a Stripe Checkout Session for purchasing a premium subscription via mobile platforms (iOS/Android). It adds the necessary request/response models, command, and service integration with Stripe, along with platform and app version tracking for analytics.
New Premium Checkout Session Flow:
/premium/checkoutinAccountBillingVNextControllerfor creating a Stripe Checkout Session, requiring theBitwarden-Client-Versionheader and a platform (iOS/Android).CreatePremiumCheckoutSessionRequestmodel with validation to ensure only supported platforms are accepted.ICreatePremiumCheckoutSessionCommandand its handler to orchestrate the creation of a Stripe Checkout Session, including customer creation if needed, and returning the session URL.PremiumCheckoutSessionResponseModelto encapsulate the session URL response.📸 Screenshots
CheckoutSession-Recording.mp4