Add a new team member to your Stripe account by going to Settings → Team in the Dashboard. Click 'Invite member', enter their email address, select a role (Administrator, Developer, Analyst, or custom), and send the invitation. The new user receives an email with a link to accept and set up their access.
Adding Team Members to Your Stripe Account
Stripe lets you invite team members with different permission levels so your developers, finance team, and support staff can access the parts of the Dashboard they need. You can assign built-in roles like Administrator, Developer, or Analyst, or create custom roles with specific permissions. This guide covers the invitation process and role management.
Prerequisites
- Administrator access to the Stripe account
- The email address of the person you want to invite
Step-by-step guide
Navigate to Team settings
Navigate to Team settings
Log in to the Stripe Dashboard as an Administrator. Go to Settings → Team (in the left sidebar under Your team). You will see a list of current team members and their roles.
Expected result: The Team settings page shows all current team members and an option to invite new ones.
Click Invite member
Click Invite member
Click the '+ Invite member' button. Enter the email address of the person you want to invite. You can invite multiple people at once by adding multiple email addresses.
Expected result: An email field appears where you can enter the new team member's email address.
Select a role
Select a role
Choose a role for the new team member. The built-in roles are: Administrator (full access), Developer (API keys, webhooks, logs), Analyst (read-only financial data), and Support Specialist (view payments, issue refunds). Select the role that matches their responsibilities.
Expected result: A role is selected for the new team member.
Send the invitation
Send the invitation
Click 'Send invite'. The team member receives an email with a link to accept the invitation. They will need to create a Stripe account (or use an existing one) to access your Dashboard.
Expected result: An invitation email is sent. The new member appears in the Team list with a 'Pending' status.
Manage or revoke access
Manage or revoke access
To change a team member's role or remove them, go to Settings → Team, find the member, and click the three-dot menu next to their name. You can change their role or remove access entirely.
Expected result: The team member's role is updated or their access is revoked.
Complete working example
1// list-team-roles.js2// Note: Team member management is primarily done through the Dashboard.3// The API does not expose team member management directly.4// This script demonstrates checking API key permissions.56const Stripe = require('stripe');7const stripe = Stripe(process.env.STRIPE_SECRET_KEY);89async function checkApiAccess() {10 try {11 console.log('=== API Access Check ===');12 console.log('');1314 // Verify the current key works15 const account = await stripe.accounts.retrieve();16 console.log('Account:', account.id);17 console.log('Business:', account.business_profile?.name || 'Not set');18 console.log('');1920 // List API keys (restricted keys)21 // Note: Only the Dashboard shows all team members.22 // Via API, you can list restricted keys that correspond to roles.23 console.log('Restricted API keys:');24 const keys = await stripe.apiKeys?.list?.() || { data: [] };25 26 // Test basic permissions27 const tests = [28 { name: 'Read payments', fn: () => stripe.paymentIntents.list({ limit: 1 }) },29 { name: 'Read customers', fn: () => stripe.customers.list({ limit: 1 }) },30 { name: 'Read balance', fn: () => stripe.balance.retrieve() }31 ];3233 console.log('Permission checks:');34 for (const test of tests) {35 try {36 await test.fn();37 console.log(` ${test.name}: Allowed`);38 } catch (err) {39 console.log(` ${test.name}: Denied (${err.code})`);40 }41 }42 } catch (err) {43 console.error('Access check failed:', err.message);44 }45}4647checkApiAccess();Common mistakes when adding a new user to a Stripe account
Why it's a problem: Giving every team member Administrator access
How to avoid: Use the principle of least privilege. Developers need Developer access, finance needs Analyst access, and support needs Support Specialist access.
Why it's a problem: Not removing access when a team member leaves the organization
How to avoid: Immediately revoke access in Settings → Team when someone leaves. Also rotate any API keys they had access to.
Why it's a problem: Sharing your personal Stripe login instead of inviting team members
How to avoid: Each person should have their own account. Shared logins make it impossible to track who did what and create security risks.
Why it's a problem: Forgetting that invited users also get test mode access
How to avoid: Team roles apply to both test and live modes. Be aware that a Developer role in test mode can also access test API keys.
Best practices
- Use built-in roles when possible — they are maintained by Stripe with appropriate permission sets
- Regularly audit your team members list and remove anyone who no longer needs access
- Enable two-factor authentication (2FA) for all team members, especially Administrators
- Create restricted API keys for automated systems instead of sharing your full secret key
- Document which role each team member has and review quarterly
- For organizations with complex access requirements, create custom roles with only the specific permissions needed
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
How do I add a new user to my Stripe account? Explain the different roles (Administrator, Developer, Analyst, Support Specialist), how to send an invitation from the Dashboard, and how to manage or revoke access later.
Explain the Stripe team roles and their permissions. Show how to invite a member via the Dashboard and write a Node.js script that tests what API permissions the current key has access to.
Frequently asked questions
How many team members can I add to a Stripe account?
There is no hard limit on the number of team members. You can add as many users as needed.
What is the difference between Administrator and Developer roles?
Administrators have full access to everything including billing, team management, and account settings. Developers can access API keys, webhooks, and logs but cannot manage billing or team members.
Can I create custom roles?
Yes. Go to Settings → Team → Roles and create a custom role with specific permissions. This lets you tailor access to your organization's needs.
Do team members need their own Stripe account?
Team members need a Stripe login (email and password), but they do not need their own Stripe business account. They log in and then access your business account with their assigned role.
Can team members see live API keys?
Only members with the Administrator or Developer role can view API keys. The secret key is partially masked and must be explicitly revealed. Consider using restricted keys for specific use cases.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation