Mögliche Ereignisse
| (Pending) Order wurde erstellt |
| Order wurde verarbeitet und kompensiert |
| Pending Order wurde verworfen |
| Order wurde rückabgewickelt |
| Ein neuer Checkout Link wurde erstellt |
| 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 Webhook Secret. Kombiniere dazu die Felder trigger, ident und das Webhook Secret zu einem String wie im Beispiel und verschlüssele diesen mit SHA512. Der entstandene verschlüsselte String muss mit signature übereinstimmen.
1 2 3 4 5 6 7
const validation = sha512(request.body.trigger + request.body.ident + your_webhook_secret); if (request.body.signature !== validation) { return response.status(401).send() //Unauthenticated } //ToDo: implement the webhook request