Webhooks

Nutze Webhooks, um über bestimmte Ereignisse benachrichtigt zu werden. Jeder Webhook wird signiert um die Echtheit zu gewährleisten. Es können beliebig viele Webhook-Endpunkte angelegt werden.

Mögliche Ereignisse

order.created

(Pending) Order wurde erstellt

order.processed

Order wurde verarbeitet und kompensiert

order.canceled

Pending Order wurde verworfen

order.refunded

Order wurde rückabgewickelt

payment_link.created

Ein neuer Checkout Link wurde erstellt

payment_link.paid

Checkout Link erfolgreich genutzt

Webhooks empfangen

Neuen Webhook-Endpunkt anlegen

Wir senden einen POST-Request an die im Webhook-Endpunkt definierte URL. So sieht ein Beispiel eines Request Bodies aus:

1
2
3
4
5
6
7
8
9
10
11
12
{
  "trigger": "order.created",
  "created_at": "2022-02-03T02:23:47.404Z",
  "ident": "8ed1bae2-9ca4-4c3c-8fee-669334c783da",
  "signature": "a871c6067afef4cb7040c0b445f7df0503067d7af41dc95e554c47da94a553260c29051d377f5b5447f060a2d0833745177facfeb8c43daa96e9b181bc66cd88",
  "testing": false,
  "webhook_content": {
    "order_ids": [
      "CA-A949-E43D48E1",
    ]
  }
}

Webhooks validieren

Validiere die Echtheit des Webhook calls mit Hilfe der Signatur und dem privaten Schlüssel. Kombiniere dazu die Felder trigger, ident und den privaten Schlüssel zu einem String wie im Beispiel und verschlüssele diesen mit SHA512. Der entstandene verschlüsselte String muss mit signature übereinstimmen.

Privaten Schlüssel abrufen

1
2
3
4
5
6
7
const validation = sha512(request.body.trigger + request.body.ident + your_private_key);

if (request.body.signature !== validation) {
  return response.status(401).send() //Unauthenticated
}

//ToDo: implement the webhook request

Keine Kreditkarte erforderlich - Erstelle dir jetzt einen Account

Erstelle ein Konto und beginne direkt mit der Berechnung und Kompensation der CO2-Emissionen über unsere API. Du hast noch Fragen oder benötigst ein individuelles Angebot? Nutze den Chat oder vereinbare direkt einen Termin mit unserem Sales-Team.