Refunding a completed order

A completed order can be refunded to the original payment method if it is eligible. Refunding a completed order cancels the transaction lines on the booking and releases any seats that were reserved for the order.

A fully refunded completed order can no longer be modified via completed order actions.

Full order refunds

OCAPI supports full order refunds, which refund the cost of all tickets and items in an order to the original payment method.

Full order refund flow

Check full order refund availability
Create full order refund

Check full order refund availability

Use the GetCompletedOrder endpoint to check whether a completed order can be fully refunded.

A full refund can only be performed if refundAvailability.isAvailable equals true and refundAvailability.availableMethods includes Full.

The refundAvailability.isBookingFeeRefundable property indicates whether any booking fees paid will be refunded.

Copy
Copied
{
  "order": {
    "id": "string",
    "type": "Standard",
    "status": "Completed",
    "refundAvailability": {
      "isAvailable": true,
      "unavailableReason": "NotApplicable",
      "availableMethods": ["Full"],
      "isBookingFeeRefundable": false
    }
  }
}
NOTE

Some properties have been omitted from the code snippet above for brevity.

Create full order refund

Use the CreateFullOrderRefund endpoint to fully refund a completed order.

The updated completed order will be returned, indicating that the refund has been performed.

Copy
Copied
{
  "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.

Partial order refunds

OCAPI does not currently support partial order refunds. However, if booking fees are configured to be non-refundable, a full refund will refund everything in the order except any booking fees.

Linked order refunds

Linked parent orders and child orders must be refunded individually.

Parent orders cannot be refunded until all linked child orders have been fully refunded. This is to prevent the patron abusing this feature to access time-related promotions or discounts they otherwise wouldn't have access to.