Refund a transaction
Records a refund your own system processed against a transaction Vori already recorded, and returns it as a transaction of its own. Only a transaction created through this API can be refunded. Quantities and amounts are negative, as they are when you read a refund back, and a line cannot return more than it has left after earlier refunds. Send a UUIDv7 as id; sending the same refund again under that ID returns the refund already recorded rather than creating a second, and sending different values under it is rejected.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
A refund your own system processed against a transaction Vori already recorded, with the products coming back and the money going out.
Unique refund ID generated by your system (UUIDv7). It serves as the idempotency key for the request: sending the same refund twice with the same ID returns the refund already recorded rather than creating a duplicate. Generate it before your first attempt and reuse it on every retry. Sending different values under an ID already used is rejected.
When the refund was completed in your system.
Products coming back on the refund.
1 - 2500 elementsPayments the refund returns money to.
1 - 50 elementsTotal sales tax refunded, as a negative amount. Must equal the sum of the line-item tax totals.
^(-[0-9]+(\.[0-9]+)?|0+(\.0+)?)$"-199.99"
Final refund total including tax, as a negative amount. Must equal the sum of the line totals, and the payments must add up to this amount.
^(-[0-9]+(\.[0-9]+)?|0+(\.0+)?)$"-199.99"
ID of the employee to record this refund under. Defaults to the employee Vori maintains for transactions submitted through this API.
^[0-9]+$Your own identifier for this refund, such as a return number from your e-commerce platform. Surrounding whitespace is removed; the value is otherwise stored as provided and never interpreted, and you can filter transactions by it. Vori does not require it to be unique.
255ID of the lane to record this refund under. Defaults to the lane Vori maintains for transactions submitted through this API.
^[0-9]+$Your own key/value pairs, stored with the refund and returned unchanged. Vori never interprets them. Up to 50 keys; key names up to 40 characters of letters, numbers, underscores, and hyphens; values up to 500 characters. Keys beginning with "vori" are reserved. Do not put personal or sensitive information here — these values flow into reporting and data exports.
Response
A completed checkout at a store, covering the lane, cashier, and shopper, the products sold, the savings applied, the payments collected, and any refunds against it.
Unique identifier for the record.
Cash back requested by the shopper.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Date and time when the transaction was finalized.
Total savings from coupons.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Total savings from manual or employee discounts.
^-?[0-9]+(\.[0-9]+)?$"199.99"
ID of the employee who processed the transaction.
^[0-9]+$Your own identifier for the transaction, as supplied when it was recorded.
Gift cards purchased in the transaction.
Total face value of gift cards purchased in the transaction.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Coupons issued to the shopper by the transaction.
Total value of item modifiers.
^-?[0-9]+(\.[0-9]+)?$"199.99"
ID of the checkout lane that processed the transaction.
^[0-9]+$Product line items included in the transaction.
Total savings from loyalty reward redemptions.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Your own key/value pairs, exactly as supplied when the transaction was recorded.
Payments collected for the transaction.
Total savings from promotions.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Sum of line-item totals after promotions are applied.
^-?[0-9]+(\.[0-9]+)?$"199.99"
How the shopper took their receipt, or null when they took none.
email, print, sms Total value refunded against this transaction.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Refunds of the transaction. Retrieve one with GET /v1/transactions/{id} for the products returned and how the money went back.
Sum of line-item retail totals after promotions and before discounts and tax.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Human-readable transaction identifier shown to the shopper.
ID of the loyalty shopper associated with the transaction, or null for an anonymous transaction.
Where the transaction came from.
api, migration, pos Date and time when the cashier started the transaction.
Current lifecycle status of the transaction.
completed, expired, suspended, voided ID of the store where the transaction was placed.
^[0-9]+$Sum of line-item subtotals before promotions, discounts, and tax.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Total tax charged on the transaction.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Portion of the transaction subject to tax.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Tip added by the shopper.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Final transaction amount including tax. Sales are positive and refunds are negative.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Total collected from the shopper, including the transaction total, tip, and cash back.
^-?[0-9]+(\.[0-9]+)?$"199.99"
Financial transaction type represented by the transaction.
refund, sale, void