Stripe
Starte einen Agenten bei fehlgeschlagenen Zahlungen, Abo-Änderungen, Zahlungsanfechtungen oder jedem anderen Stripe-Event. connic prüft die Signatur, bevor etwas läuft.
- Publisher
- Von connic
- Modi
- Inbound
- Einrichtung
- Dashboard oder connectors/*.yaml
- Dokumentation
- Stripe Docs
Erhalte das ganze Event als Eingabe
Der Agent bekommt jedes Event so, wie Stripe es sendet, mit Typ und dem zugehörigen data.object. So kann er sofort auf einen Decline Code oder einen neuen Plan reagieren.
- Jeder Event-Typ
- Payment Intents, Rechnungen, Abos, Anfechtungen und der Rest des Stripe-Katalogs. Die Verbindung leitet alles weiter, was der Endpoint sendet.
- Jeder verknüpfte Agent
- Ein Event startet einen Run für jeden Agenten, der mit der Verbindung verknüpft ist, und die Antwort an Stripe enthält die Run-IDs.
- Überspring, was ein Agent ignoriert
- Wirf in der before()-Middleware StopProcessing für Event-Typen, die ein Agent nicht bearbeitet. Der Run endet dann, bevor das Modell aufgerufen wird.
{
"id": "evt_3Q8812",
"object": "event",
"type": "payment_intent.payment_failed",
"data": {
"object": {
"id": "pi_3Q8812",
"amount": 4900,
"currency": "eur",
"customer": "cus_R48812",
"last_payment_error": {
"code": "expired_card",
"message": "Your card has expired."
}
}
}
}{
"id": "evt_3Q9120",
"object": "event",
"type": "customer.subscription.updated",
"data": {
"object": {
"id": "sub_1Q4102",
"customer": "cus_R48812",
"status": "active",
"plan": { "id": "plan_pro", "amount": 4900, "interval": "month" }
},
"previous_attributes": {
"plan": { "id": "plan_starter" }
}
}
}Nur signierte Events starten einen Run
connic prüft jede Anfrage mit dem Signing Secret deines Endpoints, bevor ein Agent sie sieht.
- Zuerst das Signing Secret
- Bis du das whsec_ Secret aus Stripe speicherst, bekommt jede Anfrage eine 400, und nichts läuft.
- HMAC-SHA256
- Der Stripe-Signature Header muss zu einer Signatur über Timestamp und unveränderten Body passen. Fehlt sie oder stimmt sie nicht, antwortet connic mit 401.
- Fünf-Minuten-Fenster
- Events, die vor mehr als fünf Minuten signiert wurden, lehnt connic ab. Alte Anfragen lassen sich so nicht erneut einspielen.
{
"status": "ok",
"event_type": "payment_intent.payment_failed",
"dispatched_to": 1,
"run_ids": ["550e8400-e29b-41d4-a716-446655440000"]
}{
"error": "Invalid Stripe signature"
}Halte den Stripe-Trigger im Code
Deklariere ihn in connectors/. Das Signing Secret kommt aus einer Variable und steht deshalb nie in der Datei. Deploye einmal, um die URL zu bekommen, lege den Endpoint in Stripe an und speichere dann sein whsec_ Secret als Variable, auf die die Datei verweist.
type: stripe
name: Billing events
config:
webhook_secret: ${STRIPE_WEBHOOK_SECRET}
agents:
- dunning-agentWähle die Events in Stripe aus
Du verbindest Stripe einmal im Stripe Dashboard. Welche Events deine Agenten erreichen, änderst du danach dort, ohne Deployment.
- Pausierte Verbindung
- connic antwortet Stripe mit 200 und startet keinen Run. Events aus dieser Zeit werden nicht gespeichert und nach dem Fortsetzen nicht nachgeholt.
- Rate Limits
- Anfragen über dem Rate Limit der Verbindung bekommen eine 429 mit einem retry_after-Wert.
Verbindung erstellen
connic erzeugt die Webhook-URL. Bei einer Verbindung im Code übernimmt das das erste Deployment.
Endpoint in Stripe anlegen
Füge die URL als Webhook-Endpoint ein und wähle die Events aus, die Stripe senden soll.
Signing Secret speichern
Kopiere das whsec_ Secret, das Stripe für den Endpoint erzeugt, in die Verbindung.
Events starten Runs
Jedes geprüfte Event startet die verknüpften Agenten, und jeder Run erscheint mit seinem Trace in Agent Runs.
Wo ein Stripe-Trigger passt
Wähle ein Szenario und sieh, welches Event den Agenten startet, was er bekommt und wohin das Ergebnis geht.
Eine abgelehnte Zahlung startet den Agenten, der dem Kunden eine zum Ablehnungsgrund passende E-Mail schickt.
{
"id": "evt_3Q8812",
"object": "event",
"type": "payment_intent.payment_failed",
"data": {
"object": {
"id": "pi_3Q8812",
"amount": 4900,
"currency": "eur",
"customer": "cus_R48812",
"last_payment_error": {
"code": "card_declined",
"decline_code": "insufficient_funds",
"message": "Your card has insufficient funds."
}
}
}
}{
"to": "jana@example.com",
"subject": "Your payment of 49.00 EUR didn't go through",
"body": "We'll retry in three days, or pay now with another card."
}Ein Plan-Upgrade startet den Agenten, der dein Customer-Success-Team in Slack informiert.
{
"id": "evt_3Q9120",
"object": "event",
"type": "customer.subscription.updated",
"data": {
"object": {
"id": "sub_1Q4102",
"customer": "cus_R48812",
"status": "active",
"plan": { "id": "plan_pro", "amount": 4900, "interval": "month" }
},
"previous_attributes": {
"plan": { "id": "plan_starter" }
}
}
}{
"text": "Example GmbH moved from Starter to pro (49 EUR per month).",
"channel_id": "C01234567"
}Eine neue Anfechtung startet den Agenten, der Bestell- und Support-Historie zu einem Antwortentwurf für die Buchhaltung zusammenstellt.
{
"id": "evt_3Q9455",
"object": "event",
"type": "charge.dispute.created",
"data": {
"object": {
"id": "dp_1Q9455",
"amount": 12900,
"currency": "eur",
"charge": "ch_3Q9455",
"reason": "product_not_received",
"status": "needs_response"
}
}
}{
"to": "finance@example.com",
"subject": "Draft response for dispute dp_1Q9455",
"body": "Order ord_8812 shipped Oct 2 and was signed for on Oct 4."
}Ein gekündigtes Abo startet den Agenten, der den angegebenen Grund liest und ein Rückgewinnungsangebot in deinem CRM anlegt.
{
"id": "evt_3Q9871",
"object": "event",
"type": "customer.subscription.deleted",
"data": {
"object": {
"id": "sub_1Q4102",
"customer": "cus_R48812",
"status": "canceled",
"cancellation_details": {
"reason": "cancellation_requested",
"feedback": "too_expensive"
}
}
}
}{
"run_id": "550e8400-e29b-41d4-a716-446655440000",
"agent_name": "winback-agent",
"status": "completed",
"output": "Offer 20% off pro for three months. Reason given: price.",
"error": null,
"started_at": "2026-10-13T09:00:00Z",
"ended_at": "2026-10-13T09:00:04Z",
"token_usage": {
"input_tokens": 905,
"output_tokens": 41,
"thinking_tokens": 0,
"cached_input_tokens": 0,
"total_tokens": 946
}
}FAQ zu Stripe
Weitere Verbindungen
Cron-Scheduler
Von connicEin Cron-Ausdruck legt fest, wann ein Agent ausgeführt wird. connic betreibt den Scheduler für tägliche Zusammenfassungen, stündliche Health-Checks und wöchentliche Audits.
InboundSlack
Von connicSlack-Bots lassen sich mit connic verbinden. Erwähnungen lösen Agenten aus; Ergebnisse gehen an Slack-Channels.
InboundOutboundTelegram
Von connicEin Agent kann einen Telegram-Bot betreiben, Nachrichten lesen, im Chat antworten und Benachrichtigungen an Channels senden.
InboundOutboundTelnyx Messaging
Von connicEmpfange und sende SMS/MMS, WhatsApp- und RCS-Nachrichten über dein Telnyx-Konto. Verbinde Agenten mit Kundengesprächen und Benachrichtigungen.
InboundOutboundTwilio Voice
Von connicLass einen connic-Agenten Anrufe unter deiner Twilio-Rufnummer entgegennehmen. Im Gespräch kann er seine Tools nutzen und Informationen aus deinen Wissensquellen abrufen.
SyncWebSocket
Von connicAgenten streamen Tokens über eine bestehende Socket-Verbindung an den Browser. Chat-UIs behalten den Kontext über mehrere Nachrichten hinweg.
Sync