# Stablecoin-Zahlungen per Webhook bestätigen | Cosmos Pay

URL: https://payments.cosmospay.lat/learn/confirm-stablecoin-payments?lang=de

> Stablecoin-Zahlungen per signiertem Webhook auf dem Server bestätigen: Signatur prüfen, schnell antworten, Retries und Duplikate behandeln, vorab testen.

## So bestätigst du eine Stablecoin-Zahlung auf deinem Server

Um eine Stablecoin-Zahlung zu bestätigen, lass deinen Server auf den signierten Webhook von Cosmos Pay reagieren, nicht auf die Seite, die dein Kunde sieht. Wenn das Netzwerk eine Zahlung bestätigt, sendet Cosmos Pay PAYMENT_INTENT_SUCCEEDED an deinen Endpunkt, signiert mit dem Geheimnis dieses Endpunkts. Prüfe die Signatur, antworte mit einem 2xx-Status und liefere die Bestellung einmal pro Ereignis aus.

Aktualisiert am 2. November 2026 · Von Cosmos Pay

### Warum dein Server und nicht der Browser

Ein Checkout, der „Bezahlt“ zeigt, ist nur das, was der Browser deines Kunden anzeigt. Der Tab kann sich schließen, bevor er zu deiner Website zurückkehrt, und jeder kann deine Erfolgsseite von Hand öffnen. Erst die Bestätigung des Netzwerks macht eine Zahlung endgültig.

Cosmos Pay beobachtet das Netzwerk für dich und meldet deinem Server, wenn eine Zahlung bestätigt ist. Auf deinem Server markierst du die Bestellung als bezahlt und lieferst sie aus.

### Was Cosmos Pay sendet

- Einen HTTPS-POST an den Endpunkt, den du registrierst, mit einem JSON-Ereignis: id (sie beginnt mit evt_), type, createdAt und data. Bei einer Zahlung ist data die Zahlung mit ihrem Status, Betrag, Asset, Netzwerk und ihrer Transaktion.
- Den Header X-Cosmos-Signature: t=<Unix-Zeit>,v1=<Signatur>. Die Signatur ist der HMAC-SHA256 aus t, einem Punkt und dem unverarbeiteten Body, mit dem Geheimnis des Endpunkts als Schlüssel, in hexadezimaler Form.
- Die Ereignistypen, die du wählst, etwa PAYMENT_INTENT_SUCCEEDED, PAYMENT_INTENT_FAILED oder ZK_PAYMENT_SUCCEEDED. Vergleiche sie so, wie sie geschrieben sind: in Großbuchstaben mit Unterstrichen.
- Die Header X-Cosmos-Event, X-Cosmos-Event-Id und X-Cosmos-Delivery, die das Ereignis und die Zustellung benennen.

- [Webhooks im SDK](https://dev.cosmospay.lat/docs/sdk/server/webhooks/)
- [API für Webhooks](https://dev.cosmospay.lat/docs/api/webhooks/)

### Einen Webhook einrichten, Schritt für Schritt

1. **Füge einen Endpunkt hinzu**: Öffne im Dashboard „Webhooks“ und füge die HTTPS-Adresse einer Route auf deinem Server hinzu. Wähle die Ereignisse, die du empfangen willst; PAYMENT_INTENT_SUCCEEDED ist schon ausgewählt. Die Adresse muss öffentlich sein: Private und lokale Adressen werden abgelehnt.
2. **Speichere das Geheimnis**: Das Dashboard zeigt das Geheimnis des Endpunkts (es beginnt mit whsec_) nur einmal. Bewahre es in der Umgebung deines Servers auf, niemals in einer Webseite.
3. **Prüfe jede Anfrage**: Lies den unverarbeiteten Body vor jedem JSON-Parser und prüfe X-Cosmos-Signature dagegen. Mit dem TypeScript-SDK prüft Webhooks.constructEvent die Signatur, lehnt standardmäßig eine ab, die älter als fünf Minuten ist, und gibt das Ereignis zurück.
4. **Erst schnell antworten, dann arbeiten**: Antworte mit einem 2xx-Status, sobald die Signatur stimmt, und erledige die langsame Arbeit, etwa E-Mails oder Bestandsaktualisierungen, erst danach.
5. **Verarbeite jedes Ereignis einmal**: Speichere die ID jedes Ereignisses, das du verarbeitest, und überspringe eines, das du schon gesehen hast: Eine Wiederholung oder eine erneute Zustellung sendet dasselbe Ereignis noch einmal.
6. **Sende einen Test**: Nutze „Test senden“ am Endpunkt, um ein Ping-Ereignis zu erhalten. Mache dann eine Testzahlung in der Sandbox und verfolge ihre Zustellung in der Liste des Endpunkts.

- [Webhooks im SDK](https://dev.cosmospay.lat/docs/sdk/server/webhooks/)
- [Erste Schritte](https://dev.cosmospay.lat/docs/getting-started/)

### Wenn dein Server nicht antwortet

Nur eine 2xx-Antwort gilt als zugestellt, und Weiterleitungen werden nicht verfolgt. Cosmos Pay wiederholt eine fehlgeschlagene Zustellung bis zu dreimal mit wachsender Pause, dann erneut in späteren Runden, und das Ereignis behält bei jedem Versuch seine ID.

Im Dashboard listet jeder Endpunkt seine Zustellungen auf, mit einem Filter für die fehlgeschlagenen, und du kannst jede davon erneut senden. Cosmos Pay bewahrt den Body einer Zustellung 30 Tage lang auf, stelle sie also innerhalb dieser Zeit erneut zu.

### Oder prüfe eine Zahlung selbst

Du kannst auch nach einer einzelnen Zahlung fragen: Rufe sie über ihre ID ab, um ihren Status zu lesen, oder sende ihren Transaktions-Hash (auf Solana die Transaktionssignatur) an POST /v1/payment-intents/:id/validate. Nutze das als Fallback, etwa wenn dein Kunde zurückkehrt, bevor der Webhook ankommt; der Webhook bleibt das wichtigste Signal.

- [API für Zahlungsabsichten](https://dev.cosmospay.lat/docs/api/payment-intents/)

### Fragen und Antworten.

Zahlungen nach Netzwerk: [Zahlungen auf Stellar](https://payments.cosmospay.lat/stellar?lang=de), [Zahlungen auf Solana](https://payments.cosmospay.lat/solana?lang=de), [Zahlungen auf Monad](https://payments.cosmospay.lat/monad?lang=de)

#### Das Dashboard zeigt payment_intent.succeeded. Welchen Namen trägt das Ereignis?

Der Typ des Ereignisses ist PAYMENT_INTENT_SUCCEEDED, in Großbuchstaben mit Unterstrichen. Das Dashboard zeigt ihn nur in einer kürzeren Form an.

#### Was passiert, wenn ich das Geheimnis erneuere?

Das neue Geheimnis gilt sofort, und das alte gilt sofort nicht mehr. Aktualisiere deinen Server also direkt nach dem Erneuern.

#### Was ist, wenn mein Server ausgefallen war?

Cosmos Pay wiederholt fehlgeschlagene Zustellungen, und du kannst jede Zustellung 30 Tage lang aus dem Dashboard erneut senden.

#### Kann ich mehrere Endpunkte haben?

Ja. Jeder Endpunkt hat seine eigene Adresse, seine eigenen Ereignisse und sein eigenes Geheimnis, und jedes Ereignis geht an jeden Endpunkt, der es abonniert.

### Weitere Anleitungen

[Alle Anleitungen ansehen](https://payments.cosmospay.lat/learn?lang=de)

#### [So nimmst du USDC-Zahlungen online an](https://payments.cosmospay.lat/learn/accept-usdc-payments?lang=de)

Kassiere in USDC mit einem Zahlungslink, dem gehosteten Checkout oder der API, und teste es zuerst in einem Testnetz.

#### [So nimmst du USDC mit Solana-Pay-Links an](https://payments.cosmospay.lat/learn/accept-usdc-with-solana-pay?lang=de)

Erstelle einen Solana-Pay-Link für USDC, teste ihn im Devnet und sieh, wie jede Zahlung auf deinem Server bestätigt wird.

#### [Was ist ein Stablecoin-Zahlungsgateway?](https://payments.cosmospay.lat/learn/stablecoin-payment-gateway?lang=de)

Was ein Gateway macht, wo die Zahlung abgewickelt wird, wer die Netzwerkgebühr zahlt, und verwahrende gegenüber nicht verwahrenden Gateways.

### Akzeptiere ab heute Stablecoins.

Erstelle ein kostenloses Konto, erzeuge einen Testschlüssel und sende noch heute deinen ersten Zahlungslink.

[Zahlungslink erstellen](https://dev.cosmospay.lat/login?next=%2Fdashboard%3Fview%3Dpayments)

#### Schreib uns

Fragen zu Tarifen, Integration oder geschützten Zahlungen? Schreib uns, wir antworten per E-Mail.

[organization@cosmospay.lat](mailto:organization@cosmospay.lat)
