Zum Inhalt springen

colly startet bald. Wir legen gerade letzte Hand an – schau dich gern schon um. Registrierung und Anmeldung für Creator und Marken öffnen in Kürze.

Zahlungsanbieter

Stripe, Lemon Squeezy, Paddle und Digistore24 anbinden: Einrichtung, Übergabe der Click-ID und Erstattungen je Anbieter.

Verkaufst du digitale Produkte, Software oder Abos ohne eigenen Shop, meldet dein Zahlungsanbieter die Käufe direkt an colly. Dazu trägst du beim Anbieter eine Webhook-URL aus colly ein. Das ist die Adresse, an die der Anbieter jede Zahlung meldet. Den Schlüssel, mit dem der Anbieter seine Nachrichten signiert, hinterlegst du in colly.

Diese Seite ist für Advertiser. Du findest alles unter Integration, Reiter Zahlung & Checkout. Anlegen und ändern dürfen im Team nur Eigentümer:in und Admin.

Die Anbieter im Vergleich

AnbieterSo kommt die Click-ID mitGemeldete Ereignisseevent_id im Protokoll
Stripeclient_reference_id im Payment Link, sonst Metadatencheckout.session.completed, checkout.session.async_payment_succeeded, charge.refundedbeginnt mit stripe-
Lemon Squeezycheckout[custom][click_id] im Checkout-Linkorder_created, order_refundedbeginnt mit lemonsqueezy-
Paddle (Billing)customData beim Öffnen des Checkoutstransaction.completed, adjustment.created, adjustment.updatedbeginnt mit paddle-
Digistore24Parameter custom im Bestellformularon_payment, on_refund, on_chargebackbeginnt mit digistore24-

Für alle vier gilt: Gezählt wird nur die erste Zahlung eines Kaufs. Abo-Verlängerungen erzeugen keine weitere Conversion. Vollständige Erstattungen stornieren die Conversion automatisch, Teilerstattungen werden nicht gebucht. Gutscheine funktionieren hier nicht, denn diese Anbieter liefern den Code nicht in ihrer Nachricht. Die Zuordnung läuft nur über die Click-ID.

Der Aufbau in colly

Jeder Anbieter hat einen eigenen Abschnitt mit denselben Bedienelementen und einer Kurzanleitung. Hast du noch keine Anbindung, steht dort Noch nicht verbunden, und das Formular ist gleich offen.

Abschnitt Stripe mit Anbindung und Anleitung
  1. Markierung 1: Kopieren legt die Webhook-URL in die Zwischenablage.
  2. Markierung 2: Einstellungen klappt das Formular der Anbindung auf. Dort trägst du den Schlüssel nach, deaktivierst die Anbindung über Aktiv oder entfernst sie mit Entfernen.
  3. Markierung 3: Stripe verbinden klappt das Formular für eine weitere Anbindung auf, zum Beispiel für ein zweites Konto.
  • Formular absenden (… verbinden)Die Anbindung entsteht. Es erscheint Anbindung angelegt, und die Webhook-URL steht bereit. Ohne Schlüssel lautet der Status Ausstehend.
  • Speichern in den EinstellungenÄnderungen gelten sofort. Es erscheint Einstellungen gespeichert. Ein leeres Schlüsselfeld behält den gespeicherten Schlüssel.
  • Entfernen, dann bestätigenDie Webhook-URL wird ungültig. Bereits erfasste Conversions bleiben. Entferne den Webhook danach auch beim Anbieter.
Neu angelegte Lemon-Squeezy-Anbindung mit Bestätigung
  1. Markierung 1: Die Bestätigung Anbindung angelegt verschwindet nach einigen Sekunden.
  2. Markierung 2: Kopieren legt die Webhook-URL in die Zwischenablage. Diese Adresse trägst du beim Anbieter ein.
Drei Stripe-Anbindungen: aktiv, ausstehend und deaktiviert
  1. Markierung 1: Aktiv, und Zuletzt: nennt die letzte Nachricht des Anbieters.
  2. Markierung 2: Ausstehend: Es fehlt der Schlüssel, jede Nachricht wird abgelehnt.
  3. Markierung 3: Deaktiviert: Die Adresse antwortet mit 404.

Bei allen Anbietern wählst du Umsatzbasis und Ziel. Fehlt der Schlüssel, lehnt colly jede Nachricht mit not_configured ab, auch wenn das Feld als optional markiert ist. Die Währung der Zahlung muss der Währung des Angebots entsprechen.

Stripe

Für Stripe Checkout und Payment Links.

  1. Schritt 1: Anbindung anlegen

    Klicke auf Stripe verbinden, vergib eine Bezeichnung und bestätige. Kopiere die Webhook-URL.

  2. Schritt 2: Click-ID im Angebot übergeben

    Setze die Ziel-URL des Angebots auf deinen Payment Link mit client_reference_id, also https://buy.stripe.com/DEIN_LINK?client_reference_id={click_id}.

  3. Schritt 3: Webhook bei Stripe anlegen

    Öffne bei Stripe Entwickler → Webhooks, füge ein Ziel hinzu, wähle „Ihr Konto“ und trage die Webhook-URL ein. Wähle die Ereignisse checkout.session.completed, checkout.session.async_payment_succeeded und charge.refunded.

  4. Schritt 4: Signatur-Secret eintragen

    Kopiere das Signatur-Secret von Stripe und trage es in colly bei Webhook-Signaturschlüssel (whsec_…) ein. Beginnt die Eingabe nicht mit whsec_, erscheint die Meldung: Bitte das Signatur-Secret des Webhooks eintragen (beginnt mit whsec_), nicht den API-Schlüssel.

    Einstellungen einer Stripe-Anbindung
    1. Markierung 1: Parameter der Click-ID: nur der Rückfall für Metadaten, falls du Checkout-Sitzungen selbst erstellst. Payment Links nutzen client_reference_id.
    2. Markierung 2: Umsatzbasis: Zwischensumme (nach Rabatten) ist die Zwischensumme abzüglich Rabatt. Gesamtbetrag ist amount_total.
    3. Markierung 3: Hier steht nach dem Speichern nur noch ein Platzhalter. Der Schlüssel wird nicht mehr angezeigt.
FallWas colly tut
Sofortige Zahlungcheckout.session.completed mit Status paid erzeugt die Conversion.
Spätere Zahlung, zum Beispiel SEPANoch nicht bezahlt: colly wartet. Erst checkout.session.async_payment_succeeded zählt.
Testzahlung von StripeDas Protokoll zeigt die Marke Test. Es entsteht keine Conversion und keine Provision.
Vollständige Erstattungcharge.refunded lehnt eine ausstehende Conversion ab oder storniert eine freigegebene.
TeilerstattungNichts wird gebucht. Das Protokoll zeigt partial_refund.
AbosDie Bestell-ID ist die Checkout-Sitzung. Erstattungen einer Abo-Rechnung lassen sich nicht automatisch zuordnen. Storniere sie von Hand unter Conversions.

Lemon Squeezy

Anleitung für Lemon Squeezy mit Muster der Ziel-URL
  1. Schritt 1: Anbindung anlegen

    Fülle das Formular aus und klicke auf Lemon Squeezy verbinden. Kopiere dann die Webhook-URL.

    Formular Lemon Squeezy verbinden
    1. Markierung 1: Parameter der Click-ID: Name im Custom-Data-Feld des Checkouts. Standard ist click_id. Er muss zum Muster der Ziel-URL passen.
    2. Markierung 2: Signing Secret: dasselbe Geheimnis, das du beim Webhook in Lemon Squeezy einträgst (6 bis 40 Zeichen). Du wählst es selbst.
    3. Markierung 3: Lemon Squeezy verbinden legt die Anbindung an und erzeugt die Webhook-URL.
  2. Schritt 2: Click-ID im Angebot übergeben

    Setze die Ziel-URL auf https://DEIN-SHOP.lemonsqueezy.com/checkout/buy/VARIANTE?checkout[custom][click_id]={click_id}.

  3. Schritt 3: Webhook bei Lemon Squeezy anlegen

    Öffne Settings → Webhooks und lege einen neuen Webhook mit der Webhook-URL und deinem Signing Secret an. Aktiviere die Ereignisse order_created und order_refunded.

  • Nur order_created mit Status paid erzeugt eine Conversion.
  • order_refunded wirkt nur, wenn die Bestellung vollständig erstattet ist. Sonst zeigt das Protokoll partial_refund.
  • Bestellungen im Testmodus von Lemon Squeezy tragen im Protokoll die Marke Test und erzeugen keine Conversion.

Paddle

Für Paddle Billing. Paddle öffnet den Checkout auf deiner eigenen Seite. Du brauchst dafür etwas Code.

Anleitung für Paddle mit Beispielcode
Kopieren legt den Beispielcode in die Zwischenablage.
  1. Schritt 1: Anbindung anlegen

    Klicke auf Paddle verbinden und kopiere die Webhook-URL.

  2. Schritt 2: Click-ID übergeben

    Setze die Ziel-URL auf deine Seite mit ?click_id={click_id}. Gib die Click-ID beim Öffnen des Checkouts als customData mit. Das Codebeispiel steht unter diesen Schritten.

  3. Schritt 3: Benachrichtigungsziel anlegen

    Öffne bei Paddle Developer Tools → Notifications und lege ein neues Ziel mit der Webhook-URL an. Wähle transaction.completed, adjustment.created und adjustment.updated.

  4. Schritt 4: Secret Key eintragen

    Trage den Secret Key in colly unter Secret Key des Benachrichtigungsziels ein und speichere.

Click-ID an Paddle Checkout übergeben (Paddle.js):

Paddle.Checkout.open({
  items: [{ priceId: "pri_...", quantity: 1 }],
  customData: { click_id: new URLSearchParams(location.search).get("click_id") },
});
  • Verlängerungen eines Abos ignoriert colly.
  • Paddle prüft Erstattungen zuerst. Erst wenn die Anpassung den Status approved hat und eine Erstattung oder Rücklastschrift ist, reagiert colly.
  • Nur vollständige Anpassungen stornieren. Andere zeigt das Protokoll als partial_refund.

Digistore24

Die IPN-Benachrichtigung (Instant Payment Notification) von Digistore24 meldet Zahlungen, Erstattungen und Rücklastschriften.

Anleitung für Digistore24 mit Muster der Ziel-URL
  1. Schritt 1: Anbindung anlegen

    Wähle eine lange SHA-Passphrase, klicke auf Digistore24 verbinden und kopiere die Webhook-URL.

    Formular Digistore24 verbinden
    1. Markierung 1: Umsatzbasis: Nettobetrag oder Gesamtbetrag. Ein Feld für den Parameter der Click-ID gibt es hier nicht, denn Digistore24 nutzt immer custom.
    2. Markierung 2: SHA-Passphrase: dieselbe Passphrase, die du in den IPN-Einstellungen bei Digistore24 einträgst.
  2. Schritt 2: Click-ID im Angebot übergeben

    Setze die Ziel-URL auf dein Bestellformular: https://www.digistore24.com/product/PRODUKT-ID?custom={click_id}.

  3. Schritt 3: IPN bei Digistore24 einrichten

    Öffne Einstellungen → Integrationen (IPN) und wähle Generic. Trage Webhook-URL und SHA-Passphrase ein.

  4. Schritt 4: Verbindung testen

    Klicke dort auf Verbindung testen. Die Antwort muss „OK“ lauten. Der Verbindungstest bucht nichts.

  • on_payment erzeugt die Conversion. Folgezahlungen ab der zweiten Rate ignoriert colly.
  • Je Produkt einer Bestellung kommt ein eigener Aufruf. Die Bestell-ID setzt sich aus Bestellung und Produkt zusammen.
  • on_refund und on_chargeback stornieren. Deckt der Betrag nicht den gebuchten Umsatz, zeigt das Protokoll partial_refund.
  • Zahlungen, die Digistore24 ausdrücklich als Test kennzeichnet, tragen im Protokoll die Marke Test und erzeugen keine Conversion.

Häufige Probleme

Was du siehstUrsacheLösung
Abgelehnt mit invalid_signatureDer Schlüssel in colly passt nicht zu dem beim Anbieter. Bei Stripe und Paddle auch: Die Nachricht ist älter als 5 Minuten.Schlüssel neu eintragen.
Abgelehnt mit not_configuredEs ist noch kein Schlüssel eingetragen.Schlüssel unter Einstellungen eintragen.
Zuletzt: ändert sich, aber das Protokoll bleibt leercolly ignoriert die Nachricht: keine Click-ID, Zahlung noch offen, Verlängerung oder ein anderes Ereignis.Ziel-URL und Ereignisauswahl prüfen. Bei Paddle customData prüfen.
Abgelehnt mit currency_mismatchZahlungswährung und Angebotswährung unterscheiden sich.Währungen angleichen.
Abgelehnt mit conversion_not_foundErstattung einer Zahlung, die nicht über colly lief. Bei Stripe auch: Erstattung einer Abo-Rechnung.Meist nichts. Bei Abos von Hand stornieren.