How to Run an Affiliate Program on Your Own Stripe Account
You don't need a merchant of record or a fragile tracking pixel to run affiliates on Stripe. Keep payments on your own Stripe account, attribute referrals server-side, and treat every commission as a ledger entry — rate locked at purchase, held 30 days to cover the refund window, clawed back proportionally on refunds, and paid from your own PayPal or Wise. gocushy builds this ledger in, and your AI agent can operate the whole program over MCP.
Affiliate marketing is still one of the cheapest growth channels in digital products: you pay only after a sale, and the people promoting you already own the audience you want. The machinery is the hard part. Most affiliate software forces a choice between two compromises — a merchant of record that processes sales on its own account in exchange for a bigger cut, or a JavaScript tracking pixel bolted onto your checkout that silently loses conversions.
There's a third architecture: buyers pay on your own Stripe account, referrals are attributed on the server, and every commission lives in a ledger with an explicit lifecycle — created, held, due, paid, or clawed back. It's the model gocushy uses, and it's the difference between an affiliate program partners trust and one they quietly abandon.
Why pixel tracking breaks — and server-side attribution doesn't
The classic setup: an affiliate link drops a cookie in the buyer's browser, and a script on your thank-you page "fires" to record the conversion. It worked fine in 2012. Today it fails in mundane, invisible ways:
- Ad blockers and browser privacy features. Content blockers strip tracking scripts, and browsers like Safari aggressively limit cookie lifetimes. The affiliate did the work; the browser threw away the evidence.
- The thank-you page never loads. The buyer pays on mobile, sees the receipt in email, closes the tab. No pageview, no pixel, no commission.
- Upsells confuse the pixel. A one-click post-purchase upsell is a second charge with no fresh "conversion page" in the flow the pixel expects — so it gets missed, or the original order double-counts on a refresh.
The real cost isn't the lost data. It's that affiliates can tell. The moment a serious partner suspects your tracking undercounts, they promote someone else, and your best channel dies quietly.
Server-side attribution takes the browser out of the loop. gocushy referral links carry a plain ?via=code parameter. The referral is recorded against the checkout on the server when the buyer arrives, and the commission is written when Stripe confirms the payment — a signed, server-to-server event, not a pixel. Ad blockers never see it. The thank-you page can load or not. Upsells and subscription renewals attribute correctly because the referral lives on the order, not in a cookie. Self-referrals — an affiliate buying through their own link — are blocked at the same layer.
The ledger model: a commission is a row, not a percentage
The subtler design decision is what a commission is. Naive systems store one number — "Maria gets 30%" — and calculate payouts on the fly. That breaks the moment anything changes. A trustworthy system treats each commission as its own ledger entry: the order, the affiliate, the rate that applied at purchase, the amount earned, and a status that moves through a lifecycle — held → due → paid, with clawbacks as the exit ramp. Three rules make the ledger work.
Rule 1: Lock the rate at the moment of purchase
If rates are looked up at payout time, editing a rate rewrites history: affiliates who promoted your launch at 40% wake up to a payout computed at 30%. The rate has to be snapshotted into the commission row when the order is paid. gocushy supports rates per offer or per affiliate, and whichever applied at purchase is what that commission carries forever. You can change rates whenever you like — it affects future sales only, which is exactly what your partners assume it does.
Rule 2: Hold commissions for 30 days — the length of a refund window
Pay instantly and you will eventually pay commission on a refunded order, then have to ask a partner to send money back. Digital-product guarantees typically run 14 to 30 days, so gocushy holds each commission for 30 days before it matures to due. This isn't distrust; it's matching the payout schedule to the cash reality. Money that can still leave your Stripe account shouldn't be promised to someone else yet.
Rule 3: Claw back proportionally — and never more than was earned
Full refunds are easy: reverse the whole commission. Partial refunds are where affiliate systems quietly go wrong. The correct behaviour is proportional: refund 50% of the order, claw back exactly 50% of the original commission — computed against the amount locked in rule 1, not against whatever the rate is today. And across any sequence of partial refunds, the total clawed back can never exceed what the affiliate earned on that order in the first place. Anything else either shortchanges your partner or turns a customer refund into an affiliate debt-collection problem.
Subscriptions follow the same logic: every renewal writes a fresh commission row at the affiliate's locked rate, each with its own 30-day holdback. Recurring commissions are the strongest incentive you can offer a serious partner, and the ledger makes them safe: each billing period settles independently.
Paying affiliates from your own PayPal or Wise
Merchant-of-record platforms can pay affiliates for you because your money flows through them first. On your own Stripe, funds land in your account on your normal payout schedule — so paying affiliates is your job, and that turns out to be a feature.
The workflow: pull the list of due commissions (everything past its holdback and not clawed back), pay each affiliate however they actually want to be paid — PayPal, Wise, a local bank transfer — then mark the commissions paid, which stamps the ledger rows. gocushy is the system of record, not the money mover. You keep control of payout thresholds, batching (most sellers pay monthly), currencies, and the ability to pause a suspicious account before money leaves. When an affiliate asks why a number is what it is, the ledger answers: this order, this rate, this refund, this date.
One practical note: affiliate payouts are business expenses and may carry reporting obligations — 1099 forms in the US, withholding rules elsewhere. This is not tax or legal advice; confirm your obligations with your accountant.
Four ways to run affiliates with Stripe, compared
| Approach | Attribution | Where money lands | Refund clawbacks | Who pays affiliates | Agent-operable |
|---|---|---|---|---|---|
| Cookie / pixel trackers | Browser cookie + thank-you-page script — vulnerable to blockers | Your Stripe account | Varies by tool; often manual | You, outside the tool | Generally no, as of this writing |
| Cart-platform affiliate centers | Platform-managed links | Your connected payment account | Built in; rules vary by platform | Typically you, via PayPal or similar | No agent interface we're aware of, as of this writing |
| Merchant of record | Platform attribution | The platform's account — it resells to your buyer | Handled by the platform | The platform, where offered | Limited, as of this writing |
| Ledger on your own Stripe (gocushy) | Server-side via ?via= links |
Your own Stripe — gocushy never holds funds | Automatic: proportional, capped at the amount earned | You, via PayPal/Wise — then mark paid | Yes — MCP tools + REST API |
The first three rows describe categories of tools, not any single product; verify specifics with each vendor before you commit.
When another approach is the better choice
- You want payouts fully off your plate. A merchant of record such as Lemon Squeezy or Paddle sells to your buyer as the seller of record, and where they run affiliate programs, they can also handle paying partners. You give up owning the customer relationship and typically pay a larger cut — but if "never think about payouts" is the hard requirement, that model delivers it. We've written up the full trade-off in merchant of record vs your own Stripe.
- You're recruiting from an existing pool. Established cart platforms like ThriveCart and SamCart have run affiliate centers for years, and some affiliates already live in those ecosystems (as of this writing). If your recruitment plan is "be where the affiliates already are," incumbency counts for something.
gocushy's bet is the other axis: your money on your own Stripe, a ledger partners can audit and trust, and a program your AI can operate end to end.
Your agent runs the program
Everything above is plumbing — necessary, invisible, and historically the reason affiliate programs never get launched. What changes the day-to-day is that gocushy exposes the whole system as agent tools over MCP: create_affiliate, get_affiliate_link, list_affiliates, and mark_commissions_paid, alongside the other tools that run your checkout. The same operations exist as a REST API if you'd rather script them. In practice, running the program is a conversation:
At month's end you ask who's due, pay them from PayPal or Wise, and tell your agent to mark those commissions paid — the ledger did the bookkeeping the whole time. It's the same pattern that runs the rest of the sales machinery, from order bumps and one-click upsells to reading your stats; here's what a Claude agent running your sales looks like.
One proof point: the affiliate program for gocushy's own launch runs on gocushy. The links our partners promote with are ?via= links hitting this exact ledger.
Run your affiliates on your own Stripe
Founding member: $299/yr with 0% platform fees locked for life — you pay only Stripe's own processing fees. Limited to 200 seats. Get started at gocushy.com
Only 200 founding seatsFrequently asked questions
Does Stripe have built-in affiliate tracking?
No — Stripe processes payments and, as of this writing, does not include affiliate attribution or commission management. You add a layer on top: a merchant-of-record platform that takes over billing, a pixel-based tracker, or a server-side ledger like gocushy that runs on your own Stripe account.
Why should affiliate commissions be held for 30 days before payout?
Because most digital-product refund guarantees run 14 to 30 days. If you pay a commission instantly and the buyer refunds on day 20, you're asking an affiliate to send money back. A 30-day holdback lets each commission outlive the refund window before it matures to due, so payouts only ever cover money that's truly yours.
What happens to a commission when an order is partially refunded?
The clawback should be proportional: refund 50% of the order, reverse exactly 50% of the original commission, computed against the rate that was locked at purchase. Across any sequence of refunds, the total clawed back should never exceed what the affiliate earned on that order. gocushy applies both rules automatically.
How do affiliates get paid if the platform never holds money?
You pull the list of due commissions, pay each affiliate directly from your own PayPal, Wise, or bank account, then mark the commissions paid. gocushy is the system of record — it tracks what's held, due, paid, and clawed back — while the money moves between accounts you control.
Can an AI agent run my affiliate program?
Yes. gocushy exposes the affiliate system as MCP tools — create_affiliate, get_affiliate_link, list_affiliates, and mark_commissions_paid — so Claude, ChatGPT, or any MCP-capable agent can create partners, pull payout reports, and settle the ledger conversationally. The same operations are available via the REST API.
Ready to look under the hood? The docs cover the affiliate endpoints in detail, and connecting your own Stripe account is the first step at signup.