> ## Documentation Index
> Fetch the complete documentation index at: https://storekit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Fehlerbehebung bei Webhooks

> Diagnostizieren und beheben Sie häufige Webhook-Probleme, darunter fehlgeschlagene Signaturverifizierung, falsche Secrets, fehlende Events und Endpoint-Timeouts in storekit.

Hier sind häufige Webhook-Probleme und wie Sie diese beheben.

## Signaturverifizierung schlägt fehl

### Kein Roh-Payload-Body verwendet

**Problem**: Bei der Signaturerzeugung verwenden wir den rohen String-Body der Nachrichten-Payload. Wenn Sie das JSON parsen und dann wieder in einen String umwandeln, stimmt die Signatur nicht überein.

**Lösung**: Verwenden Sie immer den rohen Request-Body genau so, wie er empfangen wurde:

```javascript theme={null}
// WRONG - parsing and re-stringifying changes the format
const payload = JSON.parse(body);
verify(JSON.stringify(payload), headers); // Will fail!

// CORRECT - use the raw body
verify(rawBody, headers);
```

### Falscher Secret Key

**Problem**: Verwendung des falschen Webhook-Secrets oder unsachgemäße Dekodierung.

**Lösung**:

* Stellen Sie sicher, dass Sie das korrekte Secret für jeden Endpoint verwenden (Secrets sind pro Endpoint eindeutig)
* Entfernen Sie das Präfix `whsec_` vor der Base64-Dekodierung

### Zeitstempel abgelaufen

**Problem**: Die Uhr Ihres Servers ist nicht synchron, wodurch gültige Webhooks abgelehnt werden.

**Lösung**: Stellen Sie sicher, dass die Zeit Ihres Servers über NTP synchronisiert ist.

## Webhooks werden nicht empfangen

### Endpoint nicht erreichbar

**Problem**: Ihr Endpoint ist nicht öffentlich zugänglich.

**Lösung**:

* Stellen Sie sicher, dass Ihr Server läuft und die Endpoint-URL korrekt ist
* Prüfen Sie, ob Firewall-Regeln eingehende HTTPS-Requests erlauben
* Verifizieren Sie, dass der Endpoint mit einem einfachen curl-Test funktioniert

### SSL/TLS-Probleme

**Problem**: Ungültiges oder abgelaufenes SSL-Zertifikat.

**Lösung**: Stellen Sie sicher, dass Ihr Endpoint ein gültiges SSL-Zertifikat einer vertrauenswürdigen CA besitzt.

## Falsche Antwortcodes

### Fehler bei erfolgreicher Verarbeitung zurückgeben

**Problem**: Rückgabe von Statuscodes, die nicht 2xx sind, obwohl der Webhook erfolgreich verarbeitet wurde.

**Lösung**: Geben Sie immer einen 2xx-Statuscode zurück, sobald Sie den Webhook erfolgreich empfangen und zur Verarbeitung in eine Queue gestellt haben:

```javascript theme={null}
// CORRECT
app.post('/webhooks', (req, res) => {
  queue.add(req.body); // Add to queue for async processing
  res.status(200).send('OK'); // Acknowledge immediately
});
```

## Timeouts

### Verarbeitung dauert zu lange

**Problem**: Ihr Endpoint braucht länger als 15 Sekunden, um zu antworten.

**Lösung**: Verarbeiten Sie Webhooks asynchron:

```javascript theme={null}
app.post('/webhooks', async (req, res) => {
  // Don't do this - blocks the response
  // await processOrder(req.body);
  
  // Do this instead - queue for background processing
  await queue.add('process-webhook', req.body);
  res.status(200).send('OK');
});
```

## Wiederherstellung nach Fehlern

### Deaktivierten Endpoint reaktivieren

Falls Ihr Endpoint nach aufeinanderfolgenden Fehlschlägen deaktiviert wurde:

1. Beheben Sie die zugrunde liegende Ursache
2. Gehen Sie im Dashboard zu **Settings > Webhooks**
3. Klicken Sie am deaktivierten Endpoint auf **Enable Endpoint**

### Fehlgeschlagene Nachrichten wiederholen

Um verpasste Webhooks nach einem Ausfall wiederherzustellen:

1. Öffnen Sie die Details Ihres Endpoints
2. Klicken Sie auf **Options > Recover Failed Messages**
3. Wählen Sie den zu wiederholenden Zeitraum

<Info>
  Prüfen Sie die Webhook-Logs in Ihrem Dashboard auf detaillierte Fehlermeldungen und Antwortcodes Ihres Endpoints.
</Info>


## Related topics

- [POS-Fehlerbehebung](/docs/de/guides/integrations/pos/advanced/troubleshooting.md)
- [Webhook-Events](/docs/de/developers/webhooks/webhook-events.md)
- [Gang-Zuweisungen](/docs/de/guides/menu/course-assignments.md)
- [Pub-Lieferung](/docs/de/guides/use-cases/pub-delivery.md)
- [Webhooks-Übersicht](/docs/de/developers/webhooks/overview.md)
