Payout requests (approve / reject / paid)

pending → approve → mark_paid (or reject). Balance transfer creates paid instantly and skips this queue.

Payout requests (approve / reject / paid)

Approve, reject, or mark paid member withdrawal requests.

Where to find it

Admin → PayoutRequests (/admin/payments)

How it works

Tabs: Pending payouts (pending + approved) and History (paid / rejected / cancelled).

Transition Rule
Member create pending if aff.manual_withdrawal_approval (default on), else already approved
Approve pendingapproved only
Mark paid approvedpaid; marks attached commissions paid (external pay is outside the app)
Reject pending/approvedrejected + reason; releases commission hold
Balance transfer Created already paid - skips this queue; credits balanceCents

Bulk max 200 IDs. Min payout default $10 (min_payout); waived for balance transfer. Cannot jump pendingpaid. PayPal export covers pending/approved PayPal-method rows only.

Reseller users listed in payout_reseller_user_ids / RESELLER_USER_IDS are blocked from this queue.

Money path

1. Commissions become withdrawable (approved after hold)

2. Member requests → reserves commission rows

3. Admin Approve (if needed) → pay externally → Mark paid

4. Reject/cancel unlocks commissions

Common problems

Approve did not send money

Expected - Mark paid confirms you paid outside the app.

Looking for balance transfers here

They never appear as pending - they are created already paid.

Related