If your online store accepts card payments, chances are Stripe is behind it - a service that connects your website to banks and payment cards, securely and automatically.
Stripe sounds complicated at first glance, mostly because nobody clearly explains five basic things: how to open an account, exactly what to send your developer, what the difference between test and real operation is, how and when you get your money, and why it keeps asking for a code from your phone at login. This text walks through all of it, in order.
What Stripe actually is
Stripe isn't a bank. Stripe is a payment processor - an intermediary that sits between your store and banks/card networks (Visa, Mastercard, and similar). When a customer enters their card details on your site, Stripe verifies the card, charges the customer, takes its fee, and sends the rest to your bank account.
Without Stripe (or a similar service), a website physically couldn't safely accept card data - that requires strict security certifications individual websites usually don't have, which is why this part of the job gets handed off to specialized services like Stripe.
How to open a Stripe account
- Go to stripe.com and click Start now or Sign up.
- Enter your business email address, name, and password.
- Confirm your email address by clicking the link that arrives in your inbox.
- Fill in the basic business details - legal business name, registration/tax number, registered address, and business type.
- Enter the bank account details you want payouts sent to - bank name, account number (IBAN in most European countries).
- Fill in the account owner's details (name, date of birth, address) - this is a legal requirement (known as KYC - Know Your Customer) that prevents fraud and money laundering, nothing specific to your business.
- Once everything's filled in, Stripe reviews the details - this usually takes anywhere from a few hours to a couple of days, depending on the country and business type.
Until approval comes through, the account can usually be used in test mode (more on that below), so building and testing the site doesn't have to wait.
What exactly to send your developer or agency
This is the part that confuses people most - the developer doesn't need your password or full access to your Stripe account, just two specific pieces of information.
- Sign into your Stripe account and in the left menu find Developers, then API keys.
- You'll see two keys there: the Publishable key, which starts with pk_, and the Secret key, which starts with sk_.
- The Publishable key is safe to share - it's even publicly visible in the site's code, and on its own doesn't allow any harmful action.
- The secret key is a completely different story - it grants full access to your Stripe account, including withdrawing funds. This key should never be sent over regular email or an unprotected message.
Instead of sending the secret key directly, safer options include:
- Use a password manager with a secure sharing feature (say, 1Password, Bitwarden) to pass the key to your developer
- If possible, add the developer directly as a Team member on your Stripe account (Settings > Team) instead of sharing keys - more on this in the security section further down
- If you really do need to send the key by email, at least split it across two separate emails or communication channels (say, half by email, half by message), and roll the key once the work is done
Test mode versus Live mode
This is probably the single most important concept to understand, and the most common source of confusion.
A Stripe account has two completely separate operating modes - Test and Live. You switch between them by clicking the Test mode toggle, usually in the top right corner of the Stripe Dashboard.
In test mode, your developer uses special, fake card numbers (which Stripe publishes publicly on its site, say 4242 4242 4242 4242) to check whether the entire payment process works correctly - without a single real cent changing hands. This is the phase where the site gets tested before launch.
In live mode, everything's real - real cards, real money, real payouts to your account.
The key thing to remember: test and live mode have different API keys (test keys start with pk_test_ and sk_test_, live keys with pk_live_ and sk_live_). If a developer mistakenly leaves test keys on a site that's already launched, customers won't be able to pay with real cards - the site will feel like it's "not working", even though the reason is just the wrong pair of keys.
Before launching your store, always explicitly ask your developer: "Are the live keys entered on the site?" - that one question prevents the vast majority of payment problems after launch.
How payouts work
Money from a sale doesn't land in your account the instant a customer pays - there's a payout process running in the background.
- The first payout is usually delayed a bit longer (often somewhere between 7 and 14 days from the first transaction) while Stripe builds a "history" for your account - this is standard, one-time practice for new accounts, nothing specific to you.
- After that, payouts follow a regular schedule you set yourself - daily, weekly, or monthly, depending on your preference.
- The payout schedule gets set under Settings > Payouts > Payout schedule.
- In the same section, you can also change the bank account payouts go to, whenever needed.
You can see the complete history of every payout made (date, amount, status) in the Payouts section of the main Dashboard menu. If a payout fails for any reason (say, an incorrect account number), Stripe clearly flags it with a Failed status, along with an explanation of why.
Logging in with Google Authenticator (two-factor authentication)
Stripe manages real money, so it requires an extra layer of security at login - known as two-factor authentication (2FA, two-step authentication). Instead of login relying only on a password, it also requires a code that changes every 30 seconds, generated on your phone.
How to set up Google Authenticator
- Download the Google Authenticator app to your phone (free for Android and iPhone).
- In the Stripe Dashboard, go to Settings > Security > Two-step authentication.
- Choose the Authenticator app option.
- A QR code will appear on screen - open Google Authenticator on your phone, tap the plus (+), then Scan a QR code, and photograph the code on the screen.
- The app instantly starts generating a six-digit code that changes every 30 seconds - enter the current code on the Stripe page to confirm setup.
- Be sure to save the backup codes Stripe offers you at this step - print them out or store them somewhere safe, separate from your phone.
Backup codes are your only way into the account if you lose your phone, or replace it without transferring the Authenticator app first - without them, recovering account access can be a long, complicated process through Stripe support.
Stripe fees
Stripe charges a small fee on every successful transaction - typically around 1.5% plus a fixed amount per transaction for European cards, and a bit more for cards from other regions. Exact rates vary by country and currency, so it's always worth checking current pricing for your specific country at stripe.com/pricing.
This fee gets deducted automatically before payout - the number you see on your bank statement is already net of Stripe's fee, so there's nothing extra to pay or calculate manually.
Stripe Dashboard basics
- Payments - a list of every individual transaction, with amount, status, and customer details
- Customers - a list of everyone who's ever paid, with their purchase history
- Payouts - a history of money sent to your bank account
- Refunds - open the specific transaction in the Payments section and click Refund to return money to the customer, partially or in full
Account security - don't share your password
Just like with Google Business Profile, Stripe lets you add other people (employees, an agency) to your account with a specific role, instead of sharing your personal password.
- Go to Settings > Team.
- Click New member and enter the person's email address.
- Choose a role - say, Analyst for someone who only needs to view data, or Administrator for full control.
This is far safer than sharing a password - each member has their own login and their own 2FA, and access is easy to revoke once it's no longer needed (say, once an agency finishes the job, or an employee leaves).
Frequently asked questions
Do I need a registered business to open a Stripe account? In most countries, yes - Stripe requires a registered business or sole proprietorship, it can't be used as a purely private individual with no registered activity.
What if I lose the phone with Google Authenticator on it? If you saved the backup codes during setup, use one of them to sign in and re-set up 2FA on your new phone. If you don't have backup codes, you'll need to contact Stripe support directly, with proof of identity - the process is longer, but doable.
Does Stripe work in my country? Stripe supports a large number of countries, but not literally every one - it's worth checking the official list of supported countries on stripe.com before starting the registration process.
What if a customer disputes a transaction (chargeback)? A customer's bank can open a dispute if the customer claims the transaction wasn't authorized or the service/product wasn't delivered. Stripe notifies you about it and gives you a chance to respond with evidence (say, proof of delivery) before a final decision is made.
Can I change the payout schedule later? Yes, you can change the payout schedule (daily/weekly/monthly) at any time in Settings, with no need to contact support.
Do test transactions affect my actual financial reports? No - test and live data are completely separate in Stripe's system. Test transactions never mix with real revenue or affect payouts.
In closing
Stripe only feels complicated until these few basic concepts are clear - the account and its approval, two different keys, two different operating modes, the payout schedule, and two-factor login. Once you understand these five things, everything else runs mostly on its own and doesn't require further thought.
If anything's still unclear, Stripe support is available directly through the Dashboard, and generally responds quickly to specific questions about your account.