refund.created
A refund was accepted and its payout created.
cTpeWay sends this event as an HTTP POST to every webhook endpoint subscribed to it. Verify the signature before you trust the body: see Webhooks.
Payload
Section titled “Payload”| Field | Type | Description |
|---|---|---|
id |
string | Unique event id, evt_…. Use it to deduplicate deliveries. |
type |
string | Always refund.created. |
api_version |
string | Always v1. |
created |
integer | Unix time in seconds. |
livemode |
boolean | false for events from the test environment. |
data |
object | |
data. |
object | |
data. |
string | |
data. |
string | One of pending, completed, failed. |
data. |
string | |
data. optional |
string | |
data. optional |
string | |
data. |
string | |
data. |
string | |
data. |
string | |
data. optional |
string | |
data. |
integer | |
data. |
string | Base units of asset, the asset of the refunded payment. A whole number written as a string of digits. |
data. |
string | |
data. |
string | |
data. optional |
string | |
data. optional |
string | |
data. |
string (date-time) | |
data. optional |
string (date-time) | |
data. optional |
string (date-time) |
A field marked optional can be missing from a payload.
Example
Section titled “Example”{ "id": "string", "type": "refund.created", "api_version": "v1", "created": 0, "livemode": true, "data": { "object": { "id": "string", "status": "pending", "payment_id": "string", "invoice_id": "string", "payout_id": "string", "network": "string", "asset": "string", "asset_id": "string", "contract": "string", "decimals": 0, "amount": "1000000", "destination": "string", "reason": "string", "tx_hash": "string", "failure_code": "string", "created_at": "2026-01-01T00:00:00.000Z", "completed_at": "2026-01-01T00:00:00.000Z", "failed_at": "2026-01-01T00:00:00.000Z" } }}The values are placeholders generated from the schema. They show the shape, not real data.

