Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Stripe purchase flow for internal users in non-App Store target #2228

Merged
merged 36 commits into from
Feb 27, 2024

Conversation

miasma13
Copy link
Contributor

@miasma13 miasma13 commented Feb 20, 2024

Task/Issue URL: https://app.asana.com/0/1199230911884351/1206534283150250/f
CC: @samsymons @Bunn

Description:
Enable Stripe purchase flow for internal users in non-App Store target. Following the requirements listed in the linked task we do want to enable the Subscription flow for users that are authenticated as internal users and have not started waitlist interaction with VPN or DBP.

Steps to test this PR:
Please test on "DuckDuckGo Privacy Browser" target/scheme.

  1. Make sure that "Privacy Pro" is not present in more options menu and in Settings when:
  • internal user state is not enabled
  • internal user state is enabled but the "Internal testing" in Subscription debug menu is disabled
  • internal user state is on or off but user has started interactions with DBP or VPN

--

  1. Enable internal user state
  2. Enable subscription internal testing viaDebug menu Subscription -> Internal testing
  3. Reset VPN state via Debug menu: Network Protection -> Reset -> Reset All State
  4. Reset DBP state via Debug menu: Personal Information Removal -> Reset All State and Delete All Data
  • Ensure that "Privacy Pro" purchase entry point item is in the more options menu and none of the 3 paid feature are present there
  • Ensure that "Privacy Pro" settings pane is present in the settings.
  • Ensure that both from more options menu and settings user can buy subscription via Stripe.
  • Ensure that after successful purchase the 3 paid features are accessible via dedicated buttons from:
    • purchase onboarding page
    • from settings

--

_Check if Subscription environment toggle (for FE and BE) accessible via Debug menu: Subscription -> Environment works.


Internal references:

Pull Request Review Checklist
Software Engineering Expectations
Technical Design Template
Pull Request Documentation

@miasma13 miasma13 changed the title [WIP] Subscription available for internal users on Sparkle target [WIP] Enable Stripe purchase flow for internal users in non-App Store target Feb 20, 2024
@miasma13 miasma13 requested review from Bunn and samsymons February 20, 2024 21:14
@miasma13 miasma13 changed the title [WIP] Enable Stripe purchase flow for internal users in non-App Store target Enable Stripe purchase flow for internal users in non-App Store target Feb 20, 2024
Copy link
Collaborator

@Bunn Bunn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Ensure that "Privacy Pro" purchase entry point item is in the more options menu and none of the 3 paid feature are present there
image
  • Ensure that "Privacy Pro" settings pane is present in the settings.
image
  • Ensure that both from more options menu and settings user can buy subscription via Stripe.
  • Ensure that after successful purchase the 3 paid features are accessible via dedicated buttons from:
    • purchase onboarding page
    • from settings
image image

#endif
}

private var isDBPActivated: Bool {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add a comment here stating that we are using the database state to determine if we have current users using DBP, as we are only concerned with users who have enabled DBP and created a profile in it and not people who redeemed but didn't do anything with it.

@miasma13 miasma13 force-pushed the michal/subscription-on-sparkle branch from a231491 to 0ef4820 Compare February 27, 2024 13:06
@miasma13 miasma13 changed the base branch from main to release/1.77.0 February 27, 2024 13:06
@miasma13 miasma13 requested a review from afterxleep February 27, 2024 13:07
@miasma13 miasma13 merged commit fa0211c into release/1.77.0 Feb 27, 2024
17 checks passed
@miasma13 miasma13 deleted the michal/subscription-on-sparkle branch February 27, 2024 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants