# Affiliate payouts

> Pay affiliates' commissions through Stripe Connect or PayPal Payouts — setting it up, what affiliates do, and running a payout.

Source: https://support.estage.com/commerce-affiliate-payouts
Part of the ESTAGE Support help center (https://support.estage.com). Full knowledge base: https://support.estage.com/llms-full.txt

---

**Affiliate payouts** send your affiliates the commissions they earned, straight from your own
payment account: through **Stripe Connect** (a transfer from your Stripe balance) or **PayPal
Payouts** (a payment from your PayPal balance). You can offer one or both, and each affiliate
picks how they want to be paid.

The commissions themselves come from your [affiliate programs](https://support.estage.com/commerce-affiliates). This page is
about getting that money to the affiliates.

## How it works

1. You save your Stripe or PayPal keys where your payments are set up (**Payment Processing** in
   Genesis, **Payment gateways** in the CRM), the same account that takes your payments. Affiliate payouts are set up from them automatically.
2. You choose which providers to offer your affiliates, and which one is the default.
3. Each affiliate sets up their payout account in your community: a Stripe account, or a PayPal email.
4. When you're ready to pay, you run a payout in the CRM. Every affiliate with matured commissions is
   paid through the provider they chose.

Payouts never go out on their own: money only leaves your account when you run a payout.

## Setting up affiliate payouts

You can do this in either place, since both show the same settings:

- **Genesis:** **Settings → Affiliate Payouts** (in the **Sales & Leads** group).
- **CRM:** **Settings → Payments → Affiliate payouts**.

There is a row for **Stripe Connect** and one for **PayPal Payouts**. Click **Connect** on a row (or
**Details** once it is set up) to see a checklist of what is done and what is still missing.
**Check again** re-runs the check after you change something in Stripe or PayPal.

### Stripe Connect

1. **Connect Stripe to this project.** Add your Stripe keys in **Payment Processing → Stripe** (in
   the CRM: **Settings → Payments → Payment gateways**), the same account that takes your payments.
   See [Stripe](https://support.estage.com/commerce-payments-stripe).
2. **Turn on Connect in Stripe.** In the Stripe Dashboard go to **Connect → Get started** and answer
   Stripe's setup like this:

   | Stripe asks | Answer |
   | --- | --- |
   | **Funds flow** | Buyers will purchase from you |
   | **Account creation** | Embedded onboarding components |
   | **Account management** | Express Dashboard |
   | **Refunds & chargebacks** | Acknowledge — buyers pay you, so they are yours |

3. Come back and click **Check again**. When it says **Stripe Connect is ready**, Connect is on and
   the payout webhooks are registered in your Stripe account.

Payouts are transfers from your **available Stripe balance**, so keep enough there (Stripe
Dashboard → **Balances**).

### PayPal Payouts

1. **Get your live API keys.** In PayPal Developer, switch **Sandbox** to **Live** (top left), open
   **Apps & Credentials**, and pick your app or click **Create App**. Live keys need a PayPal
   Business account. Sandbox keys don't work for payouts.
2. **Connect PayPal to this project.** Paste the app's **Client ID** and **Secret** in **Payment
   Processing → PayPal** (in the CRM: **Settings → Payments → Payment gateways**). See
   [PayPal](https://support.estage.com/commerce-payments-paypal).
3. **Turn on Payouts for this app.** In PayPal Developer, on the same live app:
   1. Open **Apps & Credentials** and click the app's name.
   2. Scroll down to **Features → Payment capabilities**.
   3. Check **Payouts**.
   4. Click **Save Changes**.
4. Click **Check again**. When it says **PayPal Payouts is ready**, your keys are accepted and
   Payouts is enabled on the app.

> **Note**
>
> On a live account PayPal may ask you to apply for Payouts first. Until PayPal approves it, payouts
> are refused.

Payouts are sent from your **PayPal balance**, in the **Payout currency** you pick on the PayPal
row (Details), so keep enough there.

### Choosing what to offer

On each row:

| Button | What it does |
| --- | --- |
| **Offer** | Lets affiliates choose this provider. Available once the provider is set up. |
| **Make default** | Affiliates who haven't chosen are paid through this one. |
| **Stop offering** | Affiliates can no longer choose it. You can't stop offering the only provider left. |

The row's description tells you where it stands: **Offered · default**, **Offered to affiliates**
or **Not offered**, plus what to finish when the setup isn't complete.

You may also see one of these notes:

- **"This project has no affiliate program yet"** — nothing is paid out until you create a program
  in the CRM under **Affiliate → Programs**.
- **"Your role can't see affiliate payouts"** — your role needs the **Affiliate program** module. Ask
  the project owner (see [Roles](https://support.estage.com/project-settings-roles)).

## What your affiliates do

Each affiliate sets up their own payout account in your community's **Affiliate Center**, on the
**Payouts** tab: they connect a Stripe account or enter a PayPal email, and choose between them if
you offer both. Affiliates who never choose are paid through your default. See
[Getting paid](https://support.estage.com/community-add-ons#getting-paid) for what they see there.

## Running a payout

1. In the CRM, open **Affiliate → Payouts** and click **Run Payouts**.
2. The dialog lists the **matured commissions due for payout right now**, per affiliate. Tick the
   affiliates you want to pay (or select all).
3. Click **Run Payouts**. The button shows the total you're about to send.

The results show who was paid:

- **Paid** — a Stripe transfer. It reaches the affiliate's Stripe account at once.
- **Processing (PayPal)** — PayPal accepted the payment and confirms it shortly. The status updates
  on its own.
- **Failed** — with the reason. The commission stays for the next run.
- **Skipped** — the provider that affiliate uses isn't set up, or they have no ready payout account.
  Their commissions stay for the next run.

The **Affiliate Payouts** list keeps every payout, with filters and grouping, so you can see what was
paid, when and how.

## Things worth knowing

- **A commission becomes payable 30 days after the sale**, as long as the sale wasn't refunded or
  charged back. Until then it is earned but not yet due.
- **Payouts only go out when you run them.** Nothing is paid on a schedule.
- **Each affiliate is paid in the currency their provider pays in.** Commissions in other currencies
  wait for a payout in that currency.
- **A chargeback on a commission that was already paid becomes a debt.** It's taken out of that
  affiliate's next payout in the same currency, and until newer commissions cover it their balance
  shows negative.

> **Tip**
>
> Check the **Agreement** column on the [Affiliates list](https://support.estage.com/commerce-affiliates#affiliates) before a
> payout run, so you only pay people who have accepted your current terms.
