Provize a jejich životní cyklus

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

  1. Vznikne konverze (WC order completed nebo custom form přes REST).
  2. Plugin vytvoří provizi pro tier 1 + případně tier 2-5 (subpartners) se statusem pending.
  3. Admin v Affiliates → Commissions klikne na Approve nebo Reject.
  4. Pokud je v Settings → General → Auto-approve commissions zapnuto, krok 3 se přeskočí — provize jdou rovnou na approved.
  5. Affiliate dosáhne minimum payout limitu a vytvoří payout request.
  6. 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.