Skip to main content

Refunds the requested seats of an order row (port of the legacy `WSM_OrderPayback`).

POST 

/api/v1/order/payback

Cancels the requested seats of a paid order row and records the corresponding refund. The operation validates the order row and seats, creates a negative financial entry (operation type PAYBACK) with its detail, releases the articles (status reset and fields cleared) and updates the order row — full cancellation when every seat is refunded, otherwise a partial amount/article-count decrement.

Examples

✅ Success (204 No Content)

No response body.

❌ Error 400 - Missing x-tenant header

{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "Bad Request",
"status": 400,
"detail": "Tenant header 'x-tenant' is required"
}

❌ Error 404 - Order row not found

Returned when the order row does not exist (error code 10109).

❌ Error 400 - Business validation

Returned when the order row is already cancelled (10113), the event session is closed (10116), a seat is not found (10110), a seat belongs to another order row (10111), a seat is not eligible for payback (10124) or the order row was modified concurrently — retry the payback (10127).

❌ Error 422 - Request validation failed

Returned when the request body is invalid (non-positive OrderItemId, empty/duplicate/non-positive SeatIds).

❌ Error 500 - Server error

Returned on an unexpected failure while persisting the payback.

Request

Responses

No Content