Skip to main content
WEBHOOK

Headers

OrsunPay-Signature
string
required

t=,v1=<hex HMAC-SHA256(timestamp + "." + exact raw body)>; never log this header

Pattern: ^t=[0-9]+,v1=[a-f0-9]{64}$
OrsunPay-Event-Id
string
required

Convenience copy of body id (evt_…); deduplicate only after verifying the signed body

Pattern: ^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$
OrsunPay-Event-Type
string
required

Convenience copy of body type

Example:

"refund.failed"

Body

application/json

Immutable refund terminal event. Amounts use currency precision; retain the maximum refundedAmount when events arrive out of order.

api_version
string
required
Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
Example:

"2026-10-31"

created
string<date-time>
required

Alias of created_at, preserved across retries.

created_at
string<date-time>
required
data
object
required
id
string
required
Pattern: ^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$
livemode
boolean
required

Mode of the transaction snapshot; false for sandbox.

type
enum<string>
required
Available options:
refund.succeeded,
refund.failed

Response

2XX

Any 2xx acknowledges delivery. Response body is ignored but must be empty or at most 64 KiB (MERCHANT_WEBHOOK_MAX_RESPONSE_BYTES); a larger body fails the delivery attempt. Prefer HTTP 204 No Content.