Refunds & Voids
Reverse terminal transactions with refunds and voids
Terminal refunds and voids work the same way as online payment reversals, but the reversal is processed through the physical terminal.
- The difference between a void and a refund
- How to process each from the dashboard
- Partial refunds
- When the customer needs to present their card again
Void vs Refund
| Void | Refund | |
|---|---|---|
| When | Before settlement (typically same business day) | After settlement |
| Effect | Original charge is cancelled -- never appears on customer's statement | Separate credit transaction appears on customer's statement |
| Amount | Always full amount | Full or partial |
| Card needed | No -- processed without the card | May be required depending on terminal configuration |
| Speed | Instant -- charge disappears | 3-10 business days for the credit to appear |
RevKeen automatically determines whether a void or refund is appropriate based on the transaction's settlement status. The dashboard will show only the available options.
Processing a Void
If the original transaction has not yet settled (typically before the end of the business day):
- Open the transaction in the dashboard
- Click Void
- The void command is sent to the terminal -- no card is needed
- The original charge is cancelled and never appears on the customer's statement
The progress overlay will show the void status in real time, similar to a payment.
Processing a Refund
For transactions that have already settled:
- Open the transaction in the dashboard
- Click Refund (full or partial amount)
- The refund command is sent to the terminal
- The customer may need to present their card again (depending on terminal configuration)
- The refund appears as a separate transaction linked to the original sale
Partial Refunds
To refund only part of the original amount:
- Open the transaction and click Refund
- Enter the amount to refund (must be less than or equal to the original amount)
- Optionally enter a reason for the refund
- Confirm the refund
You can issue multiple partial refunds against the same transaction, as long as the total refunded does not exceed the original amount.
Card-Present Refunds
Some payment processors require the customer's card to be present for a refund. If prompted:
- Ask the customer to present the same card used for the original transaction
- The terminal will process the refund and display the result
- The refund amount is credited back to the same card
If the customer no longer has the original card, contact your payment processor about alternative refund methods.
Via the API
Developers can process refunds and voids programmatically:
// Full refund
await revkeen.terminalPayments.refund('tpa_xxxxxxxx');
// Partial refund
await revkeen.terminalPayments.refund('tpa_xxxxxxxx', {
amount_minor: 2500, // Refund £25.00
reason: 'Customer return',
});
// Void
await revkeen.terminalPayments.void('tpa_xxxxxxxx', {
reason: 'Duplicate charge',
});See the Terminal Payments API for full documentation.
Related
- Processing Payments -- Initiating terminal sales
- Payments and Refunds -- Online payment refund workflows
- Disputes -- Handle chargebacks on terminal transactions