Skip to content

Multi-payout

Pay every affiliate the way they want.

Cobalz speaks four payout rails natively. Per-affiliate method, per-payout currency, daily FX. Whichever rail you pick, the same audit log applies.

The four rails

Compare your options.

RailBest forCurrenciesSpeedCostReconciliation
Mercury InvoiceUS store + US/USD affiliatesUSD only1–3 business days (ACH)Free invoicingReal-time webhook + 15m polling
PayPal MassGlobal, retail-grade affiliates25+ currenciesInstant to PayPal balancePayPal fees applyBatch status webhook
Stripe ConnectSaaS + ACH-friendly affiliates135 (Stripe-supported)1–2 business days (ACH)Stripe Connect feesReal-time via Stripe webhooks
WiseEU/UK/AU/SG bank transfers50+ currenciesSame-day to next-dayLowest FX in the bunchQuote → transfer → fund

How it works

Per-affiliate, per-payout, per-currency.

Affiliate registers methods

In their portal at /a/[slug]/payouts, the affiliate can add a PayPal email, a Stripe Connect account, or a Wise recipient ID. They mark one as default; per-payout overrides allowed.

Cron picks the rail

Hourly payouts cron resolves each affiliate's default method, applies daily FX from your store currency to the target currency, and dispatches via the matching adapter.

Idempotent on every send

Each rail uses its provider's idempotency primitive. Retries collapse automatically. No double-pays, ever.

Real FX, not faked

Daily exchange rates, 6-hour cache.

We pull fresh USD-base rates daily from OpenExchangeRates (when an app id is configured) or the free Frankfurter API. Cached in system_flags for 6 hours so we never blow rate limits, and applied at payout-creation time so commission amounts are stable across the period.

FAQ

Multi-payout questions.

Can affiliates pick their own payout method?+
Yes. Each affiliate can register multiple payout methods (e.g. PayPal + Wise) and mark one as default. Per-payout overrides are also supported.
How are FX rates handled?+
Daily fetch from OpenExchangeRates (paid API key) or free Frankfurter feed. 6-hour cache in system_flags. Conversion happens at payout time, not commission time, so you never lose money to mid-period FX swings.
What about transaction fees?+
Whatever Mercury / PayPal / Stripe Connect / Wise charges gets passed through to the merchant. Cobalz adds zero markup.
How are payouts protected from double-sends?+
Each adapter generates a deterministic idempotency key from (merchant_id, affiliate_id, period_hash). Stripe Connect uses native Idempotency-Key header. PayPal uses sender_batch_id. Wise uses customerTransactionId.

Pay every affiliate, no matter the country.

Mercury, PayPal, Stripe Connect, Wise — one workflow, four rails.