The Stripe App
Install AffiliateRail from the Stripe App Marketplace: what it can read, what it shows on a customer, and how it differs from connecting Stripe the older way.
AffiliateRail is on the Stripe App Marketplace. Installing it from there connects your Stripe account and adds a panel to the Stripe Dashboard, so on any customer you can see which partner referred them and what that partner has earned.
This is the second of two ways to connect Stripe. Both work, both do the same job, and if you are already connected you don't need to do anything.
What it can do to your account
Nothing. The app asks Stripe for eight read permissions and no write permissions. You see the list before you install. Stripe enforces it, and Stripe itself refuses any request to change anything on your account.
Here's the list, and why each one is there.
| Permission | What it's for |
|---|---|
| Events | Be told when something happens on your account. Without it we're never told a sale happened. |
| Checkout Sessions | Read a completed checkout to see which partner referred the buyer. |
| Invoices | Read a paid invoice: amount, currency, customer. This is what a commission is worked out from. |
| Customers | Know which buyer a payment belongs to, and recognise a returning one. |
| Subscriptions | Follow a subscription through trial, active, past due and cancelled, so recurring commissions stop when it does. |
| Charges and refunds | Void or claw back the commission on a refunded sale, and read the card's country for the fraud checks. |
| Payment Intents | Match a refund back to the sale it reverses. Recent Stripe versions don't carry that link on the events. |
| Promotion Codes | Read the discount code used at checkout, so a partner who shares a code instead of a link is credited. |
Your money is a separate matter and never touches this. Partners are paid from your own PayPal or Wise account, and AffiliateRail takes nothing from the payout. See Payouts.
Installing it
Install from the marketplace. Find AffiliateRail in the Stripe App Marketplace, press Install, read the permission list and approve it. Stripe installs the app on your account straight away.
Sign in to AffiliateRail. If you already have an account, sign in. If you don't, sign up first. This is where your program, your partners and your commission rates live, and the app on its own has none of that.
Link the install to your program. Open Settings, then Connections. Under Stripe, press Connect Stripe. Stripe won't ask your permission a second time, because the app is already on your account, so this is one press and you're back.
Paste the tracking script. Same page, top card. The app tells us when a sale happens; the script tells us which partner sent the visitor. You need both, and the attribution guide explains why.
If you were already signed in to AffiliateRail when you installed, steps two and three collapse into one and the install links itself.
Coming the other way round. Pressing Install on our marketplace listing sends you to a page on affiliaterail.com rather than straight to Stripe. That page asks you to sign in or create an account first, and only then offers the button that takes you to Stripe. It looks like an extra step and it removes one: because we know who you are before Stripe does, your account is linked the moment you approve, and there is no second press afterwards.
Once it is connected, the Stripe card on Settings, Connections shows when Stripe last delivered an event, and warns once three days pass with nothing.
One Stripe account can be live in one program at a time. To move it, disconnect it from the first program.
What you see in the Stripe Dashboard
Open any customer in Stripe and the AffiliateRail panel shows:
- the partner who referred them, and a link straight to that partner in AffiliateRail
- whether they arrived through a referral link or a discount code
- when the referral happened
- what the partner has earned on this customer, by status
A customer who arrived directly says so plainly. That's a real answer: they came to you on their own, and nobody is owed a commission for them.
There's also a settings page inside Stripe, at Settings, Apps, AffiliateRail. It says whether the account is linked, which program to, and whether the install is live or test mode. Everything you can change lives in AffiliateRail itself.
Live mode and test mode
You can install the app in test mode, in live mode, or both, and they're separate installs.
A test-mode install sees test payments only. Use it to put a payment through with a test card. Watch the sale and the commission appear, and prove the whole loop before real money is involved. The settings page inside Stripe says "Test mode" when that's what you have.
The commission from a test payment is priced and shown like any other, with a Test chip beside it. It can never be paid:
- It adds nothing to a partner's balance.
- A payout never picks it up.
- It stays out of your revenue and your owed figure.
There's nothing to clean up after.
When you're ready, install in live mode too. If you only ever install in test mode, live sales won't be matched to partners. Only that settings page will tell you why.
Uninstalling
Uninstall from Settings, Apps, AffiliateRail in Stripe. The moment you do, we stop receiving your events and the tokens we held are deleted.
Every commission you already owe stays exactly as it is. Sales, commissions, balances and payouts are untouched. You can still pay your partners, export, and run reports. New sales stop arriving. Reinstalling picks up where it left off.
The older way of connecting
Before the app, connecting Stripe went through Stripe Connect. Programs connected before the app keep working that way. The difference is what Stripe's consent screen asks for.
Stripe retired read-only Connect access for new platforms. So that screen asks you to grant write access, whether or not the software ever writes. Ours never does. The key we use on a Connect account is restricted to reading, and Stripe refuses it anything else.
With the app, you read eight read permissions and no write permissions on Stripe's own screen, before you decide.
If you're already connected through Connect, there's nothing to do and no benefit to switching. Your Settings, Connections page says which of the two you're on.
When something doesn't arrive
Work down this list before anything else.
- Is the account linked? The settings page inside Stripe says so in one line. "Not connected" means the app is installed but never bound to a program, and step three above is the fix.
- Are you in the right mode? A test-mode install never sees live sales. The same page says which one you have.
- Is the tracking script on your site? Without it we see the sale but can't tell which partner sent it, so it lands as a direct customer. The install check proves the round trip in one press.
- Is the sale in Stripe? Open the customer in Stripe. If the payment isn't there, nothing downstream can be.
The attribution guide covers the rest, including what to do when a sale arrives attributed to the wrong partner.
If Stripe pauses payments
Stripe sometimes turns off payments on an account, for example when it needs more details. When it does, your Stripe card in Settings says Stripe paused payments and what to do next. Sales can't happen until you fix it in Stripe. Clicks keep tracking, and nothing already recorded changes.
Ad blockers and your tracker domain
What ad blockers do to affiliate tracking, why a first-party tracker host answers most of it, and what nothing can fix.
When Stripe won't let you connect
Stripe refuses two kinds of account on the Connect screen: your own, and one another platform already controls. Here is why, and the two steps that work instead.