Connect your Stripe
Authorize Partli to read your existing Stripe account so we attribute paid checkouts automatically.
You don't create a new Stripe account
Setup (~30 seconds)
- In Partli, open your workspace's
Settings → Billing integrations(or the Connect your billing step on the dashboard checklist). - Click Connect Stripe. Only the person who created the workspace can do this.
- You're redirected to Stripe. If you have multiple accounts, pick the one that processes your payments.
- Stripe asks you to authorize Partli. Click Authorize access. Partli only reads checkout, invoice, refund and dispute events, and creates partner promotion codes if you turn on customer discounts.
- You're redirected back to Partli. Connection done.
What we do with the access
We listen for two events on your account:
checkout.session.completed— every time a Stripe Checkout closes successfully.invoice.paid— every time a subscription invoice is paid (covers recurring billing too).
For each, we look for a Partli click ID: the Checkout Session's client_reference_id (set by partli.js, or by you when you create sessions server-side) or metadata.partli_click_id. For subscriptions we read it from the Checkout Session that created the subscription, so the first invoice and every renewal are credited without extra code. With no click ID, we check whether the coupon applied belongs to a partner. If neither matches, the event is ignored and your direct sales are never touched.
What we actually do with the access
Stripe's OAuth scope is broad by default (read_write) — that means our access token could technically write to your account, but we never do. We only listen for two webhook events (checkout.session.completed, invoice.paid) on connected accounts. We don't create charges, refunds, customers, or modify anything else. Disconnect any time from Account → Integrations to revoke access.
vs. Stripe Connect Express (your partners)
Confusingly, Stripe markets several different things under the “Connect” name. These are not the same:
| Who does it | What it is | Why |
|---|---|---|
| You (the merchant) | Connect OAuth (this page) | Authorize Partli to read your existing Stripe account's events. Optional but recommended. |
| Your partners | Connect Express onboarding | Create a Stripe-managed account so we can transfer payouts to them. Required if you want them to be paid via Stripe. |
You authorize once and never think about it again. Your partners onboard once each, the first time they receive a payout (~3 minutes per partner).
Disconnecting
Same place: Settings → Billing integrations → Disconnect. We revoke the OAuth grant on Stripe's side and stop listening to events from your account. Existing commissions are unaffected.
Troubleshooting
- Connected but no sales appear: check that your Stripe Checkout buttons run AFTER our
partli.jssnippet loads. The snippet has to be in<head>for it to wrap Stripe.js calls. - Unrelated sales appearing as commissions: shouldn't happen — we ignore events without a
client_reference_idwe recognise. If you see it, check the tracking diagnostic page. - OAuth callback errors: usually means the redirect URI isn't registered on Partli's Stripe Connect platform settings. Email us.