How to accept Stripe payments on your own website — without writing code
Stripe is how most of the world takes card payments online. Connecting it to a store should take five minutes and should not involve handing over the keys to your account.
Paste a restricted Stripe key into your store — never your secret key. Stripe lets you create a key limited to specific permissions. A store only needs four of them, none of which can move your money or read your customer list. Once connected, customers pay on Stripe's own hosted page — which brings Apple Pay, Google Pay and the bank-approval step European cards require, with nothing to build.
TL;DR
- • Create a restricted key (rk_live_), not a secret key (sk_live_). Four permissions is all a store needs.
- • A restricted key cannot move money, read customers or change your account settings.
- • Use Stripe's hosted checkout — Apple Pay, Google Pay and SCA come free with it.
- • The money lands in your own Stripe balance on your own payout schedule.
- • You are the seller of record, so sales tax is yours — Stripe Tax can calculate it at checkout.
Restricted key vs secret key
Stripe gives you two kinds of secret. The difference matters more than most setup guides admit.
| Secret key (sk_live_) | Restricted key (rk_live_) | |
|---|---|---|
| Can create payments | Yes | Yes, if you allow it |
| Can move money out | Yes | No |
| Can read your customer list | Yes | No, unless allowed |
| Can change account settings | Yes | No |
| Safe to paste into a builder | No | Yes, scoped correctly |
The rule: if any website builder asks for your full sk_live_ key, that is a reason to stop and think. There is no feature that requires it.
The four permissions a store needs
- • Checkout Sessions — Write. Creates the payment page your customer lands on.
- • PaymentIntents — Read. Lets the store check a payment really succeeded before marking an order paid.
- • Webhook Endpoints — Write. Lets the store set up order notifications for you, so you never copy a signing secret by hand.
- • Refunds — Write. Only needed if you want to refund from your store dashboard rather than inside Stripe.
Everything else stays at None. That is the whole point.
Setting it up
- In Stripe, open Developers → API keys and click Create restricted key.
- Name it something you will recognise, set the four permissions above, and leave everything else as None.
- Reveal and copy the key — it starts with rk_live_.
- In your store dashboard, open Settings → Payments & invoices and paste it into the Stripe card.
- Tick 'Customers can pay by card'. A Card payment option now appears at checkout.
There is no fifth step involving webhooks. Because the restricted key can manage notification endpoints, the store registers its own — which is the step people most often get wrong elsewhere.
Why hosted checkout rather than a card form
- • Apple Pay and Google Pay appear automatically on supported devices, with nothing to configure.
- • The extra bank-approval step European and UK cards legally require is handled for you. Building that yourself is how UK launches fail.
- • Card details never touch your website, so you carry none of the security burden that comes with handling them.
- • Klarna, Afterpay and Link can be switched on in your own Stripe dashboard and appear at your checkout with no change on your side.
The tax part
Connecting your own Stripe account makes you the seller of record. Sales tax and VAT are therefore yours to handle — which is the trade for keeping 100% of the money and controlling the relationship.
If you use Stripe Tax, switch it on in your Stripe dashboard and tick one box in your store settings; Stripe will then calculate tax at checkout. In the US, states can require collection once you pass a threshold — commonly around $100,000 or 200 orders a year, though it varies by state.
Frequently asked questions
Do I need to write code to accept Stripe payments?
No. Paste a restricted key into your store settings and card payments appear at checkout. The store creates the payment session and handles the confirmation.
Should I give a website builder my Stripe secret key?
No. Create a restricted key limited to the four permissions a store actually needs. It cannot move money, read your customer list or change your account. Any builder asking for a full sk_live_ key is asking for more than it needs.
Where does the money go?
Into your own Stripe balance, on Stripe's normal payout schedule to your bank. The store platform never holds it, which also means it cannot delay it or deduct from it.
Do Apple Pay and Google Pay need extra setup?
No. Because customers pay on Stripe's hosted page, both appear automatically on devices that support them.
Can I use Stripe in India?
Stripe has been invite-only for new Indian merchants since 2024. For Indian customers, Razorpay is the better fit anyway because it supports UPI. Use Stripe for overseas card payments.
Take card payments this afternoon
Free to publish, 0% commission, and your own Stripe account. Paste one restricted key and card payments are live.
















