Refunds
Refund webhook events and example payloads.
Refund webhooks track refund creation, completion, and failure.
Use these events to keep refund state in sync with your support and ledger systems.
Field descriptions
Refund webhook events use data.refund.
data.refund.id
string
Unique refund identifier.
data.refund.entity
string
Source entity, such as a session or invoice.
data.refund.reference
string
Refunded session or invoice reference.
data.refund.status
string
Refund status.
data.refund.reason
string | null
Refund reason.
data.refund.chain
string
Blockchain network.
data.refund.asset
string
Crypto asset code.
data.refund.amount
string
Refunded crypto amount.
data.refund.fee
string
Refund fee.
data.refund.feePaidBy
'merchant' | 'customer'
Who pays the refund fee.
data.refund.balanceSource
string
Balance source used for the refund.
data.refund.fiatAmount
string
Fiat equivalent of the refund.
data.refund.fiatCurrency
string
Fiat currency.
data.refund.refundAddress
string
Destination wallet address.
data.refund.txHash
string | null
Blockchain transaction hash when available.
data.refund.explorerUrl
string | null
Block explorer URL.
data.refund.createdAt
string
Creation timestamp.
data.refund.completedAt
string | null
Completion timestamp for successful refunds.
data.refund.failureReason
string | null
Failure reason for failed refunds.
Events
refund.createdrefund.successrefund.failed
refund.created
Sent when a refund is created.
Use this event to start refund tracking.
refund.success
Sent when a refund completes successfully.
Use this event to mark the refund as settled.
refund.failed
Sent when a refund fails.
Use this event to notify support or retry with a corrected address.
Check data.refund.failureReason when a refund fails.
Last updated
Was this helpful?