Affiliate-Provisionen und Auszahlungen
Partner erhalten zunächst 20 % für qualifizierte Besucher-Klicks und 20 % für geworbene Advertiser, jeweils vom bezahlten Auktionspreis ohne Umsatzsteuer. Nach dem 48-Stunden-Klickfenster folgt eine Reserve von 30 Tagen. Auszahlungen beginnen bei 25 €. Registrierung und verlorene Gebote werden nicht vergütet.
Die Integrationsanleitung erklärt Kampagnen-/Sub-ID-Links, Einwilligung und signierte Callbacks. OpenAPI dokumentiert Session-Routen unter /api/affiliate und OAuth-Routen unter /v1/agent/affiliate. Der private MCP bietet get_affiliate_stats, get_affiliate_links, list_affiliate_payouts, request_affiliate_payout und configure_affiliate_postback. Reine Affiliate-Freigaben benötigen kein Gebotsmandat.
Die Link-Erstellung akzeptiert destination=spotlight für die Startseite als Standard oder advertiser für die Registrierung. Direktlinks enthalten affiliate_code und optional die stabilen Platzierungskennzeichen affiliate_campaign und affiliate_subid; vorhandene /r/{code}-Links funktionieren weiter. GET-Aufrufe verdienen keine Provision. Die Startseite bietet eine optionale Zuordnung; das Registrierungsformular zeigt ein optionales Empfehlungsfeld. Gemeinsame Kampagnenkennzeichen ersetzen keine deduplizierte Besucherzuordnung. Auch URLs ohne Cookies sind nicht automatisch von Einwilligungsanforderungen ausgenommen.
Kampagnenberichte zeigen erfasste Besuche getrennt von qualifizierten Klicks. Besuche zählen erneute Seitenaufrufe mit, verdienen keine Provision und umfassen 30 UTC-Kalendertage. Tägliche Summen benötigen keine Besucher-Cookies oder Browserkennungen; feste Platzierungsnamen dürfen keine personenbezogenen Daten enthalten. Frühere Besuche lassen sich nicht rekonstruieren. Das API-/MCP-Besuchsfeld ist bei historischen Kampagnen ohne Besuchsdaten null. Zusätzliche tägliche Platzierungsnamen werden als [other] zusammengefasst; die begrenzte Bereinigung entfernt Besuchssummen nach 90 Tagen. Eigenanzeigen können Besuche erzeugen, während qualifizierte bezahlte Klicks bei null bleiben.
Die bezahlte LIVE-Zahlungs-Saga legt die Platzierung mit unveränderlichen Quoten und einem 48-Stunden-Klickfenster an. D1 verwaltet Klick-Deduplizierung, Abrechnung, Rückforderungen, Auszahlungsreservierungen und Callback-Outbox. Cloudflare Workflows führt Überweisung und Bankbestätigung dauerhaft aus; Cron übernimmt begrenzte Abrechnung, Bereinigung und Zustellung. Eine Stripe-Überweisung bedeutet noch keine bestätigte Bankauszahlung. Stripe-Onboarding erfasst Identitäts- und Banknachweise.
Signierte Bank-Webhooks gleichen den aktuellen Status mit Stripe ab und wecken den aktiven Auszahlungs-Workflow. Nach einem Tag ohne Ereignis gleicht der Workflow erneut ab. Späte Bankrückgaben nach Workflow-Abschluss aktualisieren Ledger, Callback und die dauerhafte E-Mail-Outbox. Ein erneuter Bankversuch wählt ausdrücklich die zurückgegebene Auszahlung und verwendet ihren ursprünglichen Transfer. Die Wartung stellt ausstehende Reservierungen während des gesamten Monats wieder her.
Stripe-Erstattungen und Gutschriften gleichen den maßgeblichen Rechnungsumsatz unter einer kurzen D1-Sperre ab. Stornierte Gutschriften stellen berechtigte Provisionen wieder her; bereits ausgezahlte Provisionen erhalten verknüpfte Korrekturbuchungen. Offene Abgleiche sperren die betroffenen Provisionen und versuchen den Abgleich über die Wartung erneut. Quoten, ursprüngliche Berechnungsgrundlagen und Verteilungsnachweise bleiben unveränderlich.
Das Admin-Backend zeigt Partner, Provisionszustände und Stripe-Bereitschaft mit begrenzter, indexgestützter Seitennavigation. Gesperrte Partner können ihre Abrechnung lesen, aber Kampagnen-, Connect- und Auszahlungseinstellungen nicht ändern. Datenexporte enthalten Affiliate-Buchungen und Kampagnensummen, ohne Callback-Signaturgeheimnisse oder Besucherkennungen offenzulegen.
Implementierungsentscheidungen: docs/affiliate-system.md; Migrationen: 0057_affiliates.sql, 0058_affiliate_reconciliation.sql 0059_affiliate_payout_notices.sql und 0060_affiliate_visits.sql. Affiliate-Netzwerke benötigen eigene Zulassung und Payload-Anpassung. Ein generischer Postback ist noch keine native Awin-/impact-Anbindung. Datierte Prüfberichte dokumentieren Deployment- und Anbieter-Nachweise getrennt.