Managing Refunds

When processing refunds via API this will only add a record of the transaction in ROLLER and does not actually refund the guest.

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#0052FF', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#0A1128', 'lineColor': '#0052FF', 'secondaryColor': '#E8F0FE', 'tertiaryColor': '#E8F0FE', 'mainBkg': '#0052FF', 'clusterBkg': '#E8F0FE', 'edgeLabelBackground': '#0A1128', 'fontFamily': 'Montserrat, sans-serif', 'fontSize': '14px', 'actorBkg': '#0A1128', 'actorBorder': '#0052FF', 'actorTextColor': '#ffffff', 'actorLineColor': '#0A1128', 'signalColor': '#0052FF', 'signalTextColor': '#0052FF', 'labelBoxBkgColor': '#E8F0FE', 'labelTextColor': '#0A1128', 'loopTextColor': '#0052FF', 'noteBkgColor': '#E8F0FE', 'noteTextColor': '#0A1128', 'noteBorderColor': '#0052FF', 'activationBorderColor': '#FF3B30', 'activationBkgColor': '#E8F0FE'}, 'themeCSS': '.node rect, .cluster rect, rect.actor { rx: 10px; ry: 10px; } .labelBox, .note { rx: 8px; ry: 8px; } .edgeLabel rect, .activation0, .activation1, .activation2 { rx: 4px; ry: 4px; } .nodeLabel, .edgeLabel, .label, .cluster-label, text, tspan, span, p { font-family: Montserrat, sans-serif; }'}}%%
flowchart TD
    A["Booking created<br/>with payment"] --> B{Payment method?}
    B -->|ROLLER Payments| C["Refund via<br/>Venue Manager"]
    B -->|External processor| D["Refund via<br/>Payment gateway portal"]
    C --> E["Record refund in ROLLER<br/>via API"]
    D --> E
    E --> F["Create refund transaction<br/>using Payments or<br/>Cancel Booking endpoint"]
    F --> G{Refund<br/>complete}

This must still be actioned separately. If the original payment was taken via:

  • ROLLER Payments: It must be refunded via Venue Manager. Help centre article here.
  • An external payment processor: It must be refunded via that payment gateway's portal.

Bookings can be refunded via the API in two ways:

  1. Using the payments endpoint.
  2. Using the cancel a booking endpoint.
🚧

When processing refunds via API

  • Ensure you do not refund more than the amount already paid on the booking
  • Refunding payments made via ROLLER Payments is currently unsupported.

Examples

Example 1

  1. A guest books and pays $30 via your external payment system, or ROLLER Payments via API.
  2. You create the booking via API and include the payment transaction details.
  3. Later the booking is cancelled:
    1. You refund the $30 externally.
    2. You then cancel the booking via cancel a booking and include the refund transaction details, which logs the refund in ROLLER.

Example 2

  1. A guest books and pays $20 through a ROLLER Checkout (ROLLER Payments)
  2. Later you add a $10 upsell via API and collect that $10 using your external payment system.
  3. Later a full refund is requested:
    1. The $20 refund must be processed manually within ROLLER (as it was taken via ROLLER Payments).
    2. The $10 refund can be refunded either manually or via API, as long as it is also refunded via the external payment gateway's portal.

Did this page help you?