PayPal payouts
Create a PayPal Business account, switch on Payouts, and connect the Client ID and Secret.
Where this happens
Partners are paid from your PayPal Business balance to their PayPal email. We work out who is owed what and tell your account to send it; the money never touches us, and we take no fee on it.
- Client ID
- Secret
Both come from a Live app with Payouts turned on. Already have one? Skip to step 3. If not, allow fifteen minutes of your time plus a few days waiting on PayPal.
1. A PayPal Business account
Payouts only run from a Business account with a confirmed identity and a linked bank. A personal account can be upgraded in place.
- Go to paypal.com/bizsignup and start a Business account. If you already have a personal PayPal account, sign in first and look for the option to upgrade it to a business account rather than opening a second one.
- Sign up with the email address your company uses for money. This is the account your partners will see payments arrive from.
- Confirm your email address from the message PayPal sends you.
- Confirm your identity. It sits under account settings, and PayPal usually prompts for it on its own; if it does not, look for the identity or verification section. PayPal will not enable Payouts on an unconfirmed account, so this cannot be skipped.
- Link a bank account: Wallet, then Link a bank account. You will use it to top up the balance that payouts come from.
Payouts are paid from your PayPal balance, not from the linked bank account directly. Keep the balance topped up ahead of each payout date, including PayPal's fees.
2. Ask PayPal to switch on Payouts
PayPal approves Payouts per account, and it takes a few business days. Ask now so it is ready by the time you have partners to pay.
- Signed in to the Business account, open paypal.com/payoutsweb/landing and request access to Payouts from there.
- Describe the use honestly and specifically: paying commissions to the partners who refer customers to your software, how many partners you expect to pay each month, and the typical amount.
- PayPal reviews the request and emails its decision. Allow a few business days.
Until Payouts is enabled, Save and verify on this page will say the credentials work but Payouts is not switched on yet. That is expected; come back once PayPal's email arrives.
3. A Live app, and its Client ID and Secret
In PayPal's developer dashboard, with the switch set to Live rather than Sandbox, create an app, tick Payouts, and copy the two values into the panel on this page.
- Go to developer.paypal.com and sign in with the same Business account.
- Open Apps & Credentials from the top menu.
- Switch the toggle at the top from Sandbox to Live. Sandbox credentials cannot move real money, and they are the most common reason a connection fails.
- Choose Create App, name it something you will recognise later such as
AffiliateRail payouts, and confirm. - On the app's page, under Features, make sure Payouts is ticked, then save.
- Copy the Client ID. Then choose Show next to Secret and copy that too.
The secret is a password for your PayPal balance. Do not email it or paste it into a chat. If it is ever exposed, open the same page, generate a new secret, and save the new one here.
4. In AffiliateRail
Paste the two values into the panel, choose Save and verify, then send yourself a one-cent test payout. After that, partners who added a PayPal email in their portal are paid from your account on your schedule.
- Paste the Client ID and Secret into the panel on this page, leave Live selected, and choose Save and verify. A green tick with your app's name means PayPal accepted the credentials and Payouts is enabled.
- Send the test payout: enter the email of a PayPal account you control that is not the business account itself (PayPal refuses payments from an account to itself) and choose Send 0.01. The result appears here within a few seconds, and in the PayPal account's Activity.
- Turn on automatic payouts from the Payouts page, or send each batch by hand from there.
A partner whose email has no PayPal account yet shows as unclaimed: PayPal emails them to sign up, holds the money for 30 days, and returns it to your balance if nobody claims it. The payout shows the same state here.
Optional: keep the balance funded
Payouts come out of your PayPal balance and nothing else. PayPal will not take a shortfall from a linked bank account or card, so the balance has to cover each batch plus PayPal's fee before the payout date.
- Before each payout date, make sure your PayPal balance covers the total of the batch plus PayPal's fees. The Payouts page shows the batch total before anything is sent.
- PayPal charges a fee per payout that depends on the countries involved. Check PayPal's merchant fees page for your account's rate.
- If the balance is short, PayPal refuses the batch with
INSUFFICIENT_FUNDS. Nothing is half-sent. The payouts show on the Failed tab with PayPal's reason, you get one email, and the partner is told nothing is lost and nothing is theirs to do. Add funds to the balance in PayPal, then open the payout (or the batch) and choose Send again: it goes out under a fresh reference, so PayPal does not mistake it for the refused attempt.
Optional: rehearse in PayPal's sandbox
PayPal gives you pretend accounts and a pretend balance. Useful if you want to see a payout land before a real one does.
- In the developer dashboard open Testing Tools, then Sandbox Accounts (older dashboards label it Sandbox, then Accounts). PayPal creates a default business account and a default personal account for you.
- Fund the sandbox business account: open the ... menu on its row, choose View/Edit Account, and set a balance that covers a test batch. If the balance cannot be edited there, use Create Account, then Create Custom Account, and set the starting balance as you create it.
- In Apps & Credentials, keep the toggle on Sandbox, open the Default Application (or create one), and copy its sandbox Client ID and Secret.
- Here, tick This is a sandbox app when you save those credentials, and send the test payout to the sandbox personal account's email address. If the result shows unclaimed with
RECEIVER_UNCONFIRMED, the personal account's email is not confirmed yet: open it under Sandbox Accounts and confirm the email, then send again. - Switch back to the Live credentials before your first real batch. Sandbox and Live are stored separately only if you save them separately; saving Live replaces Sandbox.