Connect Stripe to SiteOps
Stripe is where your payments land. It knows exactly how much money came in, from whom, and whether it keeps coming every month. Your marketing tools only guess at this — Stripe has the real answer.
Connecting Stripe puts that answer inside SiteOps, next to your traffic and your ad spend. You stop switching tabs to check whether a busy week actually made money, and you stop trusting estimated conversion values when the true number is sitting in your payment account.
The connection uses a restricted key — a special kind of Stripe key that you build yourself and that can only read three things. It cannot charge cards, move money, or issue refunds, no matter what happens to it. That is the whole design, and this guide walks you through creating one click by click.
Set it up, step by step
0 of 10 done
- Developers
- API keys
- Developers
- API keys
- Create restricted key
A restricted key's journey — three read scopes, one SiteOps field - Settings
- Connections
- Stripe
Let an agent do it
A browser agent working in your signed-in Stripe dashboard can click through the restricted-key creation with exactly the right permissions.
Create a read-only restricted key in my Stripe dashboard.
1. I am signed in at dashboard.stripe.com on the account <business name>. Confirm test mode is off — the key must start with rk_live_, not rk_test_.
2. Go to Developers, API keys, and press Create restricted key. If asked what it is for, choose providing access to another service — not a product template.
3. Name the key SiteOps.
4. Set exactly three permissions to Read: Charges, Subscriptions and Customers (Subscriptions may sit under Billing). Leave every other permission at None.
5. Press Create key and show me the rk_live_ value so I can paste it into SiteOps. Do not store it anywhere else.
6. Never reveal, copy or use the secret key (sk_live_) on that page.Signing in to Stripe is yours alone — never hand an agent your Stripe password — and you paste the finished rk_live_ key into SiteOps yourself, so it never sits in a chat log.
If something does not work
- The revenue card shows zero after connecting
- Three things to check, in order. First: was the key created in live mode? A key starting with rk_test_ only sees test payments — create a new one with test mode switched off. Second: open the key in Stripe and confirm Charges, Subscriptions and Customers are set to Read, not None. Third: does the Stripe account actually have live payments yet? A new account correctly shows zero until the first real charge.
- Which key do I paste — I see several on the API keys page
- Only the restricted key you created yourself, which starts with rk_live_. Not the publishable key (pk_live_, harmless but useless here) and never the secret key (sk_live_, which can move money and should not be pasted into anything).
- I created the key but did not copy it in time
- Stripe shows a key in full only once, and there is no way to see it again. Delete that key on the API keys page and create a fresh one with the same three Read permissions — it takes a minute and nothing else changes.
- The numbers do not exactly match my Stripe dashboard
- Small differences are usually timing and definitions. SiteOps shows revenue by charge date in your project's time range, while Stripe reports may group by payout date, subtract refunds and fees, or use a different timezone. If the shape of the chart matches and the gap is small, the connection is fine.
- I want to disconnect — what happens to the data
- Revoke the key in Stripe (open it on the API keys page and delete it) or press Disconnect in SiteOps settings. Either way access stops immediately: SiteOps stops seeing new payments and the revenue card stops updating. Nothing in your Stripe account is affected.