Processor payloads
Processor events fire when a payment provider integration is connected to, removed from, or updated in your workspace. The entity that changed arrives under data.object as a ProcessorFatPayload, wrapped in the standard webhook envelope.
The underlying model is SystemIntegration - the record that represents a payment provider integration (Stripe, Whop, etc.). On the wire, data.object.object is payment_processor.
Base fields
Every payload arrives inside the standard webhook envelope.
| Field | Type | Nullable | Notes |
|---|---|---|---|
event_id | string | No | Stable event UUID, prefixed evt_. |
event_type | string | No | e.g. processor.added. |
api_version | string | No | 2026-06-01. |
created_at | datetime | No | ISO 8601 envelope timestamp. |
workspace_id | string | No | Workspace UUID, prefixed ws_. |
livemode | boolean | No | true in production, false otherwise. |
Processor object fields
The processor object lives at data.object.
| Field | Type | Nullable | Notes |
|---|---|---|---|
object | string | No | Always payment_processor. |
id | string | No | Integration UUID, prefixed pp_. |
name | string | No | Display name of the integration. |
category | string | No | Integration category, e.g. payment provider. |
provider | string | Yes | The provider - stripe, whop, etc. |
account_id | string | Yes | The connected account's ID in the provider's system. |
connection_state | string | No | e.g. connected or disconnected. |
user | object | Yes | Lean reference to the connecting user: { object: "user", id }, id prefixed usr_. |
workspace | object | Yes | Snapshot of the owning workspace (see below). |
owner | object | Yes | Snapshot of the integration owner (see below). |
team_member | object | Yes | Snapshot of the associated team member (see below). |
Nested objects
workspace is { object: "workspace", id, name, country, currency, platform, created_at } - id prefixed wsp_, country is { name, code }.
owner is { object: "user", id, first_name, last_name, email, user_type } - id prefixed usr_.
team_member is { object: "team_member", id, first_name, last_name, email, roles, department, is_active } - id prefixed tm_, roles an array of strings. When only the team member id is known, a lean { object: "team_member", id } is sent instead.
processor.added
Fires when a new payment provider integration is connected to your workspace. connection_state is typically connected.
processor.added payload
Code
processor.removed
Fires when an integration is disconnected or removed. connection_state is typically disconnected. The data.object carries the integration as it stood at removal.
processor.updated
Fires when an existing integration changes - for example a reconnection or a settings change. The data.object shape matches processor.added; reconcile on connection_state and the entity's own fields rather than arrival order.
