Razorpay
Platform billing webhooks: see API Webhooks. Connector events are separate namespaced emits for your tenant flows.
Installation
- Deploy or enable the Razorpay connector service (Qefro connectors monorepo / your fork).
- Configure credentials (below) and
QEFRO_API_BASE_URL,QEFRO_TENANT_ID, API token. - Point external webhooks at the connector public URL (not directly at FlowRunner).
- In Qefro, declare flows with
trigger.eventmatching emitted names — Event-Driven Triggers. - Sync SDK tools if the connector exposes Backend SDK handlers.
Authentication
Key id/secret; Qefro also consumes billing webhooks for SaaS entitlements.
Store secrets in the connector environment or secret manager — not in flow metadata.
Events
| Event name | Notes |
|---|---|
razorpay.payment.captured | Emit when source system notifies connector |
razorpay.payment.failed | Emit when source system notifies connector |
Envelope fields (idempotency, correlation, TTL): Event reference.
Tools
Typical tool surface: payment lookup.
Implement as Backend SDK tools or REST Business Tools. Keep PII minimization and least privilege scopes.
Webhooks
- Receive provider webhook → verify signature.
- Normalize payload →
EventEmitter.emit({ name: 'razorpay.…', payload, idempotencyKey }). - Return 2xx quickly; let Qefro dispatch asynchronously.
Examples
- Abandoned cart pattern: Solutions — Abandoned cart (Shopify-oriented; adapt event names).
- Order tracking: Solutions — Order tracking.
Workflow checklist
Razorpay go-live
- Auth — Least-privilege credentials in connector env.
- Webhooks — Verify signatures; map to razorpay.* events.
- Flows — Enable flows with matching trigger.event.
- Test emit — Idempotent test event; watch Flow Runs.
- Observe — Event list + tool logs + dead-letter retry.