Skip to content

Refunds and disputes

These routes read refunds and disputes. They do not start or answer them. See Keep your data in sync first.

There are three kinds of payment, so there are three pairs of routes. Each needs lastSyncedAt.

Payment Refunds Disputes Points to
Orders /partners/sync/booking-refunds /partners/sync/booking-disputes bookingId
Paylinks /partners/sync/paylink-refunds /partners/sync/paylink-disputes paylinkId
Online table payments /partners/sync/table-booking-refunds /partners/sync/table-booking-disputes tableBookingId

Refunds

{
  "newRefunds": [
    {
      "id": "12121212-1212-4121-8121-121212121212",
      "bookingId": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb",
      "amount": 29.1,
      "refundReason": "Guest could not attend",
      "refundStatus": "SUCCESS",
      "createdAt": "2026-11-03T15:00:00.000Z",
      "updatedAt": "2026-11-03T15:00:04.000Z"
    }
  ],
  "updatedRefunds": [],
  "syncedAt": "2026-11-05T12:00:00.000Z",
  "meta": { "venueId": "11111111-1111-4111-8111-111111111111", "newCount": 1, "updatedCount": 0 }
}

newRefunds were created at or after the checkpoint. updatedRefunds were created earlier and changed at or after it.

Field Meaning
id The refund
bookingId, paylinkId or tableBookingId What was refunded. Only the id: the record itself is not in the answer.
amount The amount, in the venue's currency
refundReason The text staff wrote
refundStatus REQUESTED, INPROGRESS, SUCCESS or FAILED. See Refunds.
affectedItems On order refunds: the bookingHasItem ids this refund covers
createdAt, updatedAt ISO 8601 in UTC

Count a refund only when refundStatus is SUCCESS.

Disputes

{
  "newDisputes": [
    {
      "id": "34343434-3434-4343-8343-343434343434",
      "bookingId": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb",
      "amount": 58.2,
      "status": "NEEDS_RESPONSE",
      "createdAt": "2026-11-03T15:00:00.000Z",
      "updatedAt": "2026-11-03T15:00:00.000Z"
    }
  ],
  "updatedDisputes": [],
  "syncedAt": "2026-11-05T12:00:00.000Z",
  "meta": { "venueId": "11111111-1111-4111-8111-111111111111", "newCount": 1, "updatedCount": 0 }
}

newDisputes were created at or after the checkpoint. updatedDisputes were created earlier and changed at or after it.

Field Meaning
id The dispute
bookingId, paylinkId or tableBookingId What it is about
amount The amount, in the venue's currency
status See Disputes
createdAt, updatedAt ISO 8601 in UTC

Other columns can appear. Do not rely on them.