{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_version": "v1",
"event": "transaction.updated",
"category": "payment_lifecycle",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": {
"amount": 123,
"currency": "<string>",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payment_method": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"chain": "<string>"
},
"capture_method": "<string>",
"fraud_check": {
"provider": "<string>",
"config": {
"threshold": "<string>",
"sequence": "<string>"
}
}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"destination": {
"amount": 123,
"currency": "<string>",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payment_method": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"chain": "<string>"
}
},
"fee": {
"bearer": "<string>",
"amount": 123,
"currency": "<string>"
},
"reference_transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"total_installments": 123,
"installments": [
{
"number": 123,
"amount": 123,
"status": "<string>",
"settlement_date": "2023-11-07T05:31:56Z"
}
],
"settlement_date": "2023-11-07T05:31:56Z",
"metadata": {},
"provider_response": {}
}
}Transaction updated
Transaction updated. Emitted when a transaction’s top-level fields change
outside a lifecycle-specific event (e.g., metadata updates). Payload is the
current WebhookTransactionData.
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_version": "v1",
"event": "transaction.updated",
"category": "payment_lifecycle",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": {
"amount": 123,
"currency": "<string>",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payment_method": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"chain": "<string>"
},
"capture_method": "<string>",
"fraud_check": {
"provider": "<string>",
"config": {
"threshold": "<string>",
"sequence": "<string>"
}
}
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"destination": {
"amount": 123,
"currency": "<string>",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payment_method": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"chain": "<string>"
}
},
"fee": {
"bearer": "<string>",
"amount": 123,
"currency": "<string>"
},
"reference_transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"total_installments": 123,
"installments": [
{
"number": 123,
"amount": 123,
"status": "<string>",
"settlement_date": "2023-11-07T05:31:56Z"
}
],
"settlement_date": "2023-11-07T05:31:56Z",
"metadata": {},
"provider_response": {}
}
}Authorizations
Headers
Body
Base envelope delivered to merchant webhook endpoints. Every webhook
request body has the shape { id, api_version, event, category, data };
concrete event schemas compose this base via allOf and refine event /
category to their const values and data to a specific schema.
Each delivery carries three headers:
CrowdSplit-Signature t={unix-ts},v1={hex-hmac-sha256}
CrowdSplit-Timestamp seconds since epoch
CrowdSplit-Notification-Id unique per delivery (idempotency)
Merchants MUST verify the HMAC of the raw body using the webhook
secret returned at registration, and SHOULD reject the delivery if
CrowdSplit-Timestamp differs from the current time by more than
5 minutes. Duplicate CrowdSplit-Notification-Id values indicate a
retry of a previously dispatched delivery and should be deduplicated.
API version of the payload builder that produced this event
(currently always v1). Reports the version of the code that built
data — not a globally-bumped number — so when one event type later
moves to v2, only that event reports v2. Branch on this field if
you need to handle multiple payload shapes for the same event.
^v[0-9]+$"v1"
Response
Webhook acknowledged