Skip to main content

Stripe

Prefer verifying Stripe signatures in the connector, then emit to Qefro.

Installation​

  1. Deploy or enable the Stripe connector service (Qefro connectors monorepo / your fork).
  2. Configure credentials (below) and QEFRO_API_BASE_URL, QEFRO_TENANT_ID, API token.
  3. Point external webhooks at the connector public URL (not directly at FlowRunner).
  4. In Qefro, declare flows with trigger.event matching emitted names — Event-Driven Triggers.
  5. Sync SDK tools if the connector exposes Backend SDK handlers.

Authentication​

Restricted API keys; verify Stripe webhook signatures before emit.

Store secrets in the connector environment or secret manager — not in flow metadata.

Events​

Event nameNotes
stripe.invoice.paidEmit when source system notifies connector
stripe.invoice.payment_failedEmit when source system notifies connector
stripe.customer.subscription.updatedEmit when source system notifies connector

Envelope fields (idempotency, correlation, TTL): Event reference.

Tools​

Typical tool surface: invoice lookup, subscription status.

Implement as Backend SDK tools or REST Business Tools. Keep PII minimization and least privilege scopes.

Webhooks​

  1. Receive provider webhook → verify signature.
  2. Normalize payload → EventEmitter.emit({ name: 'stripe.…', payload, idempotencyKey }).
  3. Return 2xx quickly; let Qefro dispatch asynchronously.

Examples​

Workflow checklist​

Stripe go-live

  1. Auth — Least-privilege credentials in connector env.
  2. Webhooks — Verify signatures; map to stripe.* events.
  3. Flows — Enable flows with matching trigger.event.
  4. Test emit — Idempotent test event; watch Flow Runs.
  5. Observe — Event list + tool logs + dead-letter retry.