gift_voucher.refunded
Shyni sends a POST to your endpoint when this event happens. Before you trust the body, verify the signature.
A gift voucher was refunded. Sent to the endpoint URL when the event happens. Answer 2xx within 15 seconds. Verify the signature before trusting the body. See the webhooks guide.
Shyni-Signature*stringt=<unix seconds>,v1=<hex>[,v1=<hex>], HMAC-SHA256 of "<t>.<raw body>" keyed with the
endpoint secret. See the webhooks guide.
Shyni-Event-Id*stringSame as the envelope id. Stable across retries, dedupe on it.
Shyni-Event-Type*stringSame as the envelope type.
application/json- body
Webhook body for gift_voucher.* events; data is the voucher as the REST API returns it.
id*stringtype*stringEvent name, e.g. gift_voucher.sold.
createdAt*stringdate-timeapiVersion*stringbusinessId*stringThe business (studio) the event happened in - the value sent as Shyni-Business.
data*Delivery acknowledged. Any 2xx counts as delivered; the body is ignored.
Example payload
Shyni sends a POST to your endpoint
{ "id": "f3a1c2d4-6b7e-4a80-9c15-0e2d4b6a8015", "type": "gift_voucher.refunded", "createdAt": "2026-10-09T08:53:20Z", "apiVersion": "v1", "businessId": "5d0b8e4a-7c21-4f3e-9a66-1b2c3d4e5f60", "data": { "id": "c4e81f37-92ab-4d65-8f10-a3b7d9e2c640", "code": "MU-6SX6X", "value": 150000, "remaining": 150000, "currency": "CZK", "state": "REFUNDED", "issuedVia": "API", "paidAt": "2026-10-09T08:50:00Z", "validUntil": "2026-10-09", "buyer": { "name": "Jana Novakova", "email": "jana@example.cz" }, "billing": null, "motif": "CLASSIC", "dedication": "Enjoy!", "note": null, "externalRef": "order_9f2c", "redeemedOrderId": null, "redeemedAt": null, "redemptions": [], "notification": null, "createdAt": "2026-10-09T08:50:05Z" }}