Skip to content

How Automatic Payouts Work (Pro)

Marking a payout Completed used to be bookkeeping. With a gateway connected it is the moment the money moves, so it is worth knowing exactly what happens after that click.

A payout becomes Completed. The plugin looks at the affiliate’s own withdrawal method, finds the gateway that handles it, and sends the money. The provider’s answer decides the status the payout actually ends up in, which may not be Completed.

Nothing here is new. A payout is created by you, by an affiliate requesting a withdrawal, or by the scheduled monthly run. It lands on Pending and its commissions lock to Pending Payment.

The Payouts list showing each payout with affiliate, amount, reference, status and date

When the payout moves to Completed, the plugin reads the affiliate’s saved withdrawal method and looks for a gateway that both handles it and is switched on.

Withdrawal method Sent by
PayPal The PayPal gateway, to the email on the affiliate profile
Stripe Connect The Stripe gateway, to their connected account
Direct Bank/Wire Transfer Nobody, you make the transfer
WooCommerce Wallet Management Nobody, the balance is credited inside your store

Bank transfer and wallet are never touched, so connecting a gateway does not change how those payouts behave. It is the affiliate’s method that decides, not a global setting, which is why one store can pay some affiliates automatically and others by hand.

If no gateway matches, or Send Payouts Automatically is off, the payout simply completes the way it always did.

The plugin refuses to send in two cases, and both exist to protect you from paying twice.

  • A payout that already carries a transaction reference and is Completed or Processing is never sent again. The money is already on its way.
  • A payout that has reached Maximum Send Attempts stops trying. It writes a line to the gateway log saying so.

The Automatic Payouts section of the Payouts settings tab

The attempt ceiling is a guard against automatic retries, not against you. Pressing Send through gateway now on the payout screen ignores it.

4. The provider answers, and the answer sets the status

Section titled “4. The provider answers, and the answer sets the status”

The status you asked for is a request. What the payout ends up on is whatever the provider said.

  • Completed means the transfer went through and a reference is stored on the payout.
  • Processing means the provider accepted it and has not settled it yet. PayPal batches sit here.
  • Failed means it was refused. Nothing is recorded as paid, and the commissions stay locked to Pending Payment so they are not double-counted or quietly released.

This is the part worth reading twice. A refused transfer never becomes a paid payout, so your ledger cannot claim an affiliate was paid when they were not.

When Failure Notifications is on, a failed send emails the address in Notification Recipient, which defaults to the site administrator. Without it a Failed payout can sit unnoticed until the affiliate chases it, because nothing on the dashboard shouts about one row.

Filter the payouts list to Failed after any automatic run.

The payout status filter tabs above the Payouts table

6. Processing payouts are re-checked on a schedule

Section titled “6. Processing payouts are re-checked on a schedule”

A scheduled job walks the payouts still on Processing that carry a reference, asks the provider where each one got to, and moves it to Completed or Failed. That is how a PayPal batch settles without anyone watching it.

The re-check writes its answer to the gateway log too, so a payout that took a day to settle still has the trail.

7. Taking a payout out of Completed reverses it

Section titled “7. Taking a payout out of Completed reverses it”

This is the half people do not expect. If a payout is Completed and you move it to anything else, the plugin asks the gateway to take the money back. Stripe transfers are reversed. Without that, the ledger would say the affiliate was never paid while the affiliate kept the money.

Two details matter:

  • The gateway is looked up directly, ignoring whether it is switched on, so turning a gateway off never strands money it already sent.
  • A reversal that fails does not block the status change. You may be correcting a record you already sorted out at the provider. The failure is reported on screen and written to the gateway log.

Every attempt, answer and reversal is written to the Gateway Log on the payout detail screen, newest first. When an affiliate asks what happened to their money, that log is the answer.

The payout detail screen with payout actions, withdrawal details and the commissions in the payout