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 23 days ago
Did this page help you?
