Refunds
The refunding process in the API consists of a single call which does two things:
- Cancels transaction lines on the booking.
- Refunds the payments associated with the booking.
Standard refund call flow
Get Completed Order
The GetCompletedOrder endpoint will do the following:
- Return all the order details to display to the patron prior to performing a refund.
- Return the refund status of all the tickets, items, and booking fees in the order.
- Determine if a full refund can be performed, and if the booking fee is also refundable.
A refund can only be performed if refundAvailability.isAvailable
is true
and refundAvailability.availableMethods
contains Full
.
Example refundAvailability
object that is returned in the response:
"refundAvailability": {
"isAvailable": true,
"unavailableReason": "NotApplicable",
"availableMethods": [
"Full"
],
"isBookingFeeRefundable": false
},
Create Full Order Refund
The CreateFullOrderRefund endpoint has the following caveats:
- It can only be used for completed orders.
-
A refundable completed order can only be fully refunded when the order refund availability
availableMethods
includes the order refund methodFull
. -
Booking fees may or may not be refunded, as indicated by order refund availability
isBookingFeeRefundable
.
If successful, the response will return the order with updated properties to indicate the refund has been performed.
{
"id": "945aec46974c40f49d217336b149e8ca",
"type": "Standard",
"status": "Completed",
"totalPrice": {
"valueIncludingTax": 2.0,
"valueExcludingTax": 1.72,
"tax": 0.28
},
"originalPrice": {
"valueIncludingTax": 26.0,
"valueExcludingTax": 22.46,
"tax": 3.54
},
"booking": {
"id": "WX4KZBW",
"totalBookingFee": {
"valueIncludingTax": 2.0,
"valueExcludingTax": 1.72,
"tax": 0.28
},
"originalBookingFee": {
"valueIncludingTax": 2.0,
"valueExcludingTax": 1.72,
"tax": 0.28
},
"mode": "Paid"
},
"refundAvailability": {
"isAvailable": false,
"unavailableReason": "AlreadyRefunded",
"availableMethods": [],
"isBookingFeeRefundable": false
},
"totalRefunded": {
"valueIncludingTax": 24.0,
"valueExcludingTax": 20.74,
"tax": 3.26
}
}
NOTE
Some properties have been omitted from the code snippet above for brevity.
Limitations
We don't currently support partial refunds in OCAPI, only full refunds. However, if booking fees are configured to be non-refundable, a full refund will refund everything in the order except any booking fees.