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:
- Using the payments endpoint.
- 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
- A guest books and pays $30 via your external payment system, or ROLLER Payments via API.
- You create the booking via API and include the payment transaction details.
- Later the booking is cancelled:
- You refund the $30 externally.
- You then cancel the booking via cancel a booking and include the refund transaction details, which logs the refund in ROLLER.
Example 2
- A guest books and pays $20 through a ROLLER Checkout (ROLLER Payments)
- Later you add a $10 upsell via API and collect that $10 using your external payment system.
- Later a full refund is requested:
- The $20 refund must be processed manually within ROLLER (as it was taken via ROLLER Payments).
- 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.
Updated 3 months ago
Did this page help you?
