Pět statusů provize
- pending — provize byla vytvořena (např. po objednávce) a čeká na schválení.
- approved — admin provizi schválil. Částka se přičte na current balance affiliate. Lze ji zařadit do payout requestu.
- paid — provize byla zahrnuta do uskutečněného payoutu. Částka přechází z balance do lifetime earnings.
- rejected — admin provizi odmítl (fraud, chybná konverze). Nepřičítá se k balance.
- refunded — související objednávka byla vrácena. Provize je označena jako refunded.
Standardní workflow
- Vznikne konverze (WC order completed nebo custom form přes REST).
- Plugin vytvoří provizi pro tier 1 + případně tier 2-5 (subpartners) se statusem pending.
- Admin v Affiliates → Commissions klikne na Approve nebo Reject.
- Pokud je v Settings → General → Auto-approve commissions zapnuto, krok 3 se přeskočí — provize jdou rovnou na approved.
- Affiliate dosáhne minimum payout limitu a vytvoří payout request.
- Admin payout request schválí a označí jako processed — související provize přejdou na paid.
Refund handling
Při refundu WC objednávky (hook woocommerce_order_status_refunded) plugin najde všechny související provize a:
- Pokud byla provize paid: vytvoří novou záporné provizi typu refund se statusem approved. Zachová audit trail a sníží lifetime earnings.
- Pokud byla provize pending/approved: změní její status na refunded.
- Po dokončení loopu spustí
update_statistics()pro každého unique affiliate. - Invaliduje stats cache.
Auto-approval logika
- Pokud je
affinite_wp_affiliate_auto_approve= yes, plugin při vytvoření provize automaticky voláapprove_commission(). - Užitečné pro malé programy bez fraud rizika nebo trusted partner network.
- Pro velké programy doporučujeme nechat manuální schvalování — admin má kontrolu před započtením do balance.
Sledování v dashboardu
Affiliate vidí všechny své provize (kromě rejected/refunded jsou volitelně skryté) v dashboard záložce Commissions s filtrem podle období a statusu. Souhrny tohoto měsíce, minulého měsíce a tohoto roku jsou na vrchu.
