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
- 204
- 400
- 404
- 422
- 500
No Content
Bad Request
Not Found
Unprocessable Content
Internal Server Error