Order Refunds

V1

The Refunds endpoint allows products to be refunded.


Endpoints

Verb Endpoint Description
POST /v1/orders/token-{token}/refunds Refund an order in full or partial
GET /v1/refund-windows Get the vendor lead times for refundable products
GET /v1/orders/token-{token}/will-call-check Returns the picked-up and refundable statuses for each order item

Refund Order Request


Refund Order Request Properties

Name Description
selfService A boolean indicating whether or not the refund is being requested in a self-service capacity, such as by the customer.
refundReasonName A string that specifies the reason for the refund.
lineNumbers An array of ints that specify which products to refund, based on their line number. If any line numbers are specified, only products with those line numbers will be part of the refund.
convenienceFeeLineNumbers An array of ints that specify which products to refund convenience fees for, based on their line number. If any line numbers are specified, only products with those line numbers will be part of the refund.
forceProductRefunds A boolean indicating whether or not to bypass certain refund business rules, in order to allow products to be refunded when they otherwise would not be.Note: Incompatible with self-service requests and/or master vendors.
forceFeeRefunds A boolean indicating whether or not to bypass certain refund business rules, in order to allow convenience fees to be refunded when they otherwise would not be.Note: Incompatible with self-service requests and/or master vendors.


Errors

Code Description
9301 Order not refundable
9302 Order not refundable by vendor
9303 Specified order is past the refund window
9304 Refund reason is invalid
9305 Order ID is invalid
9306 Vendor ID is invalid
9307 Order uses an invalid tender type
9308 Order does not have any refundable item types
9310 Item is no longer refundable
9311 Concession service fees cannot be refunded; concessions have already been picked up/delivered
9312 Items have already been picked up/delivered
9314 Line numbers are invalid, or are already refunded
9319 Vendor cannot refund tender type
9320 Refund retry failure
9321 Ticket status is unavailable
9322 Refund retry attempts exceeded
9323 Transaction not in a refundable status
9324 Insufficient funds available for refund
9325 Item is nonrefundable
9326 Convenience fees cannot be refunded via self-service
9327 Convenience fee-only refunds must be refunded through the customer service portal
9328 Convenience fees must be refunded along with the associated item
9329 Item does not have a convenience fee to refund
9330 Convenience fee already refunded
9332 Refund feature is not supported
9333 Item has waived convenience fees
9334 Delivery fee cannot be refunded with unrefunded concessions
9335 Order has been unexpectedly updated; items may or may not still be refundable
9336 Order has no account
9337 No pending subscription downgrades were found
9338 Vendor cannot cancel pending subscription downgrades
9343 Invalid refund options were specified
9345 Refund failure not found
9348 A-List subscription not found

Unknown errors should be handled by your default 400 or 500 handler as appropriate.


Examples

Refund the full order
POST  /v1/orders/token-8ada0d8e-25ff-4a35-aa82-1ff11098745a/refunds

Request

{
  "refundReasonName": "WrongTheatre"
}

Response

HTTP/1.1 200 OK
Refund the full order via self-service
POST  /v1/orders/token-8ada0d8e-25ff-4a35-aa82-1ff11098745a/refunds

Request

{
  "refundReasonName": "WrongTheatre",
  "selfService": "true"
}

Response

HTTP/1.1 200 OK
Refund the first 2 line items in the order
POST  /v1/orders/token-8ada0d8e-25ff-4a35-aa82-1ff11098745a/refunds

Request

{
  "refundReasonName": "WrongTheatre",
  "lineNumbers": [
    1,
    2
  ]
}

Response

HTTP/1.1 200 OK
Refund the first 2 line items and the first convenience fee in the order
POST  /v1/orders/token-8ada0d8e-25ff-4a35-aa82-1ff11098745a/refunds

Request

{
  "refundReasonName": "WrongTheatre",
  "lineNumbers": [
    1,
    2
  ],
  "convenienceFeeLineNumbers": [
    1
  ]
}

Response

HTTP/1.1 200 OK
Refund the first 2 line items in the order via self-service
POST  /v1/orders/token-8ada0d8e-25ff-4a35-aa82-1ff11098745a/refunds

Request

{
  "refundReasonName": "WrongTheatre",
  "selfService": "true",
  "lineNumbers": [
    1,
    2
  ]
}

Response

HTTP/1.1 200 OK
Get the refund window lead times
GET  v1/refund-windows

Response

{
  "refundWindows": [
    {
      "name": "Showtime",
      "leadTime": 10
    },
    {
      "name": "DeliveryToSeat",
      "leadTime": 15
    },
    {
      "name": "ExpressPickup",
      "leadTime": 20
    }
  ],
  "_links": {
    "self": {
      "href": "https://api.amctheatres.com/v1/refund-windows",
      "templated": false
    }
  }
}
Get the picked-up and refundable statuses for an order
GET  v1/orders/token-8ada0d8e-25ff-4a35-aa82-1ff11098745a/will-call-check

Response

{
  "lineItems": [
    {
      "lineNumber": 1,
      "refundable": true,
      "selfServiceRefundable": true,
      "pickedUp": false
    },
    {
      "lineNumber": 2,
      "refundable": false,
      "selfServiceRefundable": false,
      "pickedUp": false,
      "nonRefundableReason": "The product has already been refunded.",
      "nonSelfServiceRefundableReason": "The product has already been refunded."
    },
    {
      "lineNumber": 3,
      "refundable": true,
      "selfServiceRefundable": false,
      "pickedUp": false,
      "nonSelfServiceRefundableReason": "Specified order is past the refund window."
    }
  ],
  "_links": {
    "self": {
      "href": "https://api.amctheatres.com/v1/orders/token-8ada0d8e-25ff-4a35-aa82-1ff11098745a/will-call-check",
      "templated": false
    },
    "refund": {
      "href": "https://api.amctheatres.com/v1/orders/token-8ada0d8e-25ff-4a35-aa82-1ff11098745a/refunds",
      "templated": false
    }
  }
}