{
"id": "wh_evt_67aa128c2f4a",
"event": "product_payment.created",
"api_version": "2024-01",
"created": 1735689600,
"tenant_id": 1,
"request": {
"id": "req_8c2f4a67aa12"
},
"object": {
"@id": "/api/v1/product_payments/107",
"id": 107,
"status": "PENDING",
"amount": 5000,
"currency": "USD",
"method": "CARD",
"product": {
"@id": "/api/v1/products/01938d8e-c2f4-7c2a-b8e1-3f7a9b8c4f99",
"id": 22,
"name": "Annual Membership 2026"
},
"user": {
"@id": "/api/v1/users/42",
"id": 42,
"fullName": "James Patterson"
},
"dateCreated": "2026-01-15T10:30:00+00:00"
},
"previous_attributes": null,
"is_update": false,
"entity_type": "product_payment",
"operation": "created"
}Payment created
Fires the moment a payment is initiated — Stripe checkout started,
bank-transfer invoice issued, manual entry by treasurer. Status will
typically be PENDING at this point.
{
"id": "wh_evt_67aa128c2f4a",
"event": "product_payment.created",
"api_version": "2024-01",
"created": 1735689600,
"tenant_id": 1,
"request": {
"id": "req_8c2f4a67aa12"
},
"object": {
"@id": "/api/v1/product_payments/107",
"id": 107,
"status": "PENDING",
"amount": 5000,
"currency": "USD",
"method": "CARD",
"product": {
"@id": "/api/v1/products/01938d8e-c2f4-7c2a-b8e1-3f7a9b8c4f99",
"id": 22,
"name": "Annual Membership 2026"
},
"user": {
"@id": "/api/v1/users/42",
"id": 42,
"fullName": "James Patterson"
},
"dateCreated": "2026-01-15T10:30:00+00:00"
},
"previous_attributes": null,
"is_update": false,
"entity_type": "product_payment",
"operation": "created"
}Authorizations
Server-to-server authentication. Generate a token in the admin UI at
Settings → Developers → API Access. Send the raw token in the
Api-Token header — there is no Bearer prefix.
Tokens can be marked read-only at creation time, in which case the API
rejects any non-GET request with 403 Forbidden.
Body
Unique delivery identifier — log this to correlate with Orgo's delivery dashboard.
"wh_evt_67aa128c2f4a"
The event type — e.g. user.created, product_payment.updated.
product_payment.created "product_payment.created"
Webhook payload schema version.
"2024-01"
Unix timestamp (seconds) of when the delivery was sent.
1735689600
ID of the Orgo tenant the event belongs to. Use this to route deliveries in a multi-tenant receiver.
1
Snapshot of the entity at the moment the event was emitted.
{ "@id": "/api/v1/product_payments/107", "id": 107, "status": "PENDING", "amount": 5000, "currency": "USD", "method": "CARD", "product": { "@id": "/api/v1/products/01938d8e-c2f4-7c2a-b8e1-3f7a9b8c4f99", "id": 22, "name": "Annual Membership 2026" }, "user": { "@id": "/api/v1/users/42", "id": 42, "fullName": "James Patterson" }, "dateCreated": "2026-01-15T10:30:00+00:00" }
Metadata about the API request that triggered the event (when applicable).
Show child attributes
Show child attributes
True for *.updated events, false otherwise.
false
The entity family — e.g. user, product_payment, contact.
"user"
The operation — created, updated, or deleted.
created, updated, deleted Diff against the prior state. Only fields that changed are present. null for created/deleted events.
null
Response
Acknowledged. Any 2xx tells Orgo the delivery succeeded.

