Automatický tracking objednávek
Plugin se napojuje na WooCommerce přes hooky a sleduje celý lifecycle objednávky od checkout až po refund.
Klíčové hooky
woocommerce_checkout_create_order— při vytvoření orderu se přidá meta_affinite_affiliate_ida_affinite_click_idz cookies.woocommerce_order_status_completed— vytvoří provize (tier 1 + subpartners).woocommerce_order_status_processing— alternativní trigger pokud nepoužíváte status completed.woocommerce_order_status_refunded— vytvoří záporné provize, invaliduje stats cache.
Order meta polí
- _affinite_affiliate_id — ID affiliate, který přivedl konverzi.
- _affinite_click_id — ID konkrétního kliknutí pro attribution.
Tato meta lze číst přes $order->get_meta('_affinite_affiliate_id') nebo přes WP CLI pro reporting.
Admin order panel
V detailu WC objednávky (admin) plugin renderuje panel Affiliate Information s:
- Jméno affiliate (odkaz na edit)
- Affiliate kód
- Email affiliate
Výpočet provize
Při hooku woocommerce_order_status_completed plugin:
- Zjistí affiliate z order meta.
- Použije individuální commission_rate affiliate, jinak globální.
- Spočítá částku:
order_total × rate / 100(pro percentage) nebo fixní částku. - Vytvoří provizi se statusem pending (nebo approved pokud auto-approve).
- Pokud má affiliate parent, opakuje pro tier 2-5 s odpovídajícími sazbami.
Refund handling
Při refundu objednávky plugin najde všechny provize s reference_id obsahující order_{order_id}:
- Pro paid provize vytvoří záporné refund provize (status approved, negativní amount).
- Pro pending/approved provize změní status na refunded.
- Spustí
update_statistics()pro každého unique affiliate. - Invaliduje stats cache.
WooCommerce verze a kompatibilita
- Minimální verze: 5.0+
- HPOS (High-Performance Order Storage): kompatibilní (plugin používá WC order API, ne přímý wp_posts/wp_postmeta přístup).
- Multi-currency pluginy: provize se počítají v base currency.
- Subscriptions: každý renewal generuje novou provizi, pokud cookie attribution stále platí.
