- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.3k
 
Implement Stripe portal to allow usage-based customers to manage their billing details #10555
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
Conversation
eed6950    to
    6d11d50      
    Compare
  
    | 
           started the job as gitpod-build-jx-stripe-portal.2 because the annotations in the pull request description changed  | 
    
561b66a    to
    e247d6e      
    Compare
  
    6d11d50    to
    aba63f1      
    Compare
  
    aba63f1    to
    aa09a05      
    Compare
  
    aa09a05    to
    4dbeccf      
    Compare
  
    …omers to manage their subscription
4dbeccf    to
    2075955      
    Compare
  
    | 
           @jankeromnes Thanks for the PR. I haven't had a chance to dig into the details of Stripe API yet but to give you a faster review, how does the authentication and authorization against Stripe work from our link? Specifically: 
  | 
    
| 
           Thanks @easyCZ! Good questions. The answers are in the code, but to give you fast answers: 
 Yes, you need both a Gitpod account and a Stripe customer account before you can see the Stripe Portal button, let alone open it. 
 We are indeed generating a one-time sign-in link server-side to allow specifically one customer to open their own Stripe Portal. 
 We do not give a one-time sign-in link to users who are not an Owner of the Team that is the Stripe Customer (standard team-ownership access control check before generating the one-time sign-in link). Also, FYI from the portal, you can only see a semi-censored version of your own customer details, and update them to new values.  | 
    
| 
           Thanks. And last one: 
 From the code, I understand we generate the portal link based on the user. Is this correct? Should it instead be the team? I'm asking because it's unclear if you're in multiple teams, which link to the portal you should receive.  | 
    
          
 No, we actually generate the portal link based on the Stripe Customer, which currently can only be a Team. Note: The   | 
    
| 
           Thanks for the info @jankeromnes. LGTM  | 
    
Description
Related Issue(s)
Fixes #10327
How to test
Manage Billingshould open the Stripe PortalRelease Notes
Documentation