Skip to content

How it works · Payouts

The payout pipeline, end to end.

The most rigorous payout engine in the affiliate-software category. Hourly cron, per-merchant timezone, idempotent on every send, real-time reconciliation.

Step by step.

  1. 1

    1. Pick your payout schedule

    Settings → Payouts. Choose daily, weekly Friday, biweekly, monthly 1st, monthly 15th, or on-demand. The hourly cron checks every merchant in their local timezone and runs only when today is your scheduled payout day.
  2. 2

    2. Configure thresholds + line strategy

    min_payout (default $50) gates affiliates below the threshold; their balance carries forward to the next period. invoice_line_strategy picks per-commission lines (granular) or aggregated (one line). payout_due_days sets the Mercury due date (default 7 days).
  3. 3

    3. Cron aggregates eligible affiliates

    For each due merchant, the aggregator picks every affiliate with approved commissions in the period above min_payout. Affiliates blocked by missing tax forms or unsupported payout methods are surfaced separately and notified.
  4. 4

    4. Per-rail dispatch

    Each affiliate's default payout_method picks the adapter: Mercury creates an invoice; PayPal fires Mass Payments; Stripe Connect creates a Transfer; Wise runs a quote → transfer → fund flow. Idempotency key on every send.
  5. 5

    5. Status reconciliation

    For Mercury: real-time via transaction.created webhook + every-15-min polling cron (the only path that works in sandbox). For Stripe / PayPal / Wise: provider webhooks flip status. The same applyMercuryStatusTransition-style function gates state changes so we never re-mark a paid payout.
  6. 6

    6. Lifetime totals + outbound webhook

    On Paid: affiliates.lifetime_commissions_paid atomically increments, commissions.status flips to cleared, the affiliate gets a payment-received email, and the payout.paid outbound webhook fires to all subscribed endpoints.

Why this matters

The payout edge.

  • Yes No "missed your window" — hourly cron, per-merchant timezone
  • Yes Idempotent on every retry — no double-pays even if a network blip retries the cron
  • Yes Real-time reconciliation — your dashboard shows "paid" within seconds of Mercury settling
  • Yes Manual "Run now" button if you need an off-schedule payout
  • Yes Failures roll back commissions to "approved" so the next cron picks them up
  • Yes Audit log on every state transition — SOC 2 evidence ready

Ready to run your first payout?

Free tier covers 25 affiliates. Mercury invoicing included on every paid plan.