[PR #6668] [PM-33508] feat: Add AuthenticatedBillingApi and BillingService network layer #12911

Closed
opened 2026-04-11 03:53:22 -05:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/bitwarden/android/pull/6668

State: closed
Merged: Yes


🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-33508

📔 Objective

Add the billing network layer for premium upgrade and subscription management flows.

New files:

  • AuthenticatedBillingApi — Retrofit interface with two endpoints:
    • POST /account/billing/vnext/premium/checkout (checkout session for free users upgrading)
    • POST /account/billing/vnext/portal-session (portal session for premium users managing subscription)
  • CheckoutSessionRequestJson / CheckoutSessionResponseJson — request/response models for checkout
  • PortalUrlResponseJson — response model for portal session
  • BillingService / BillingServiceImpl — service interface and implementation wrapping the API; platform is hardcoded to "android" in the service layer

Modified files:

  • BitwardenServiceClient / BitwardenServiceClientImpl — wire BillingService into the service client

Tests:

  • BillingServiceTest — success and failure paths for both endpoints
**Original Pull Request:** https://github.com/bitwarden/android/pull/6668 **State:** closed **Merged:** Yes --- ## 🎟️ Tracking https://bitwarden.atlassian.net/browse/PM-33508 ## 📔 Objective Add the billing network layer for premium upgrade and subscription management flows. **New files:** - `AuthenticatedBillingApi` — Retrofit interface with two endpoints: - `POST /account/billing/vnext/premium/checkout` (checkout session for free users upgrading) - `POST /account/billing/vnext/portal-session` (portal session for premium users managing subscription) - `CheckoutSessionRequestJson` / `CheckoutSessionResponseJson` — request/response models for checkout - `PortalUrlResponseJson` — response model for portal session - `BillingService` / `BillingServiceImpl` — service interface and implementation wrapping the API; platform is hardcoded to `"android"` in the service layer **Modified files:** - `BitwardenServiceClient` / `BitwardenServiceClientImpl` — wire `BillingService` into the service client **Tests:** - `BillingServiceTest` — success and failure paths for both endpoints
GiteaMirror added the pull-request label 2026-04-11 03:53:22 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#12911