Refunds & disputes
Refund Revolut Pay payments and handle disputes.
Revolut Pay payments support full and partial refunds through the standard VINR refund API. Disputes follow a different process than card chargebacks.
RefundsAsk
Refund a completed Revolut Pay payment in full or in part. The refunded amount is returned to the customer's Revolut account balance, typically within a few minutes.
import { Vinr } from '@vinr/sdk';
const vinr = new Vinr({ secretKey: process.env.VINR_SECRET_KEY });
const refund = await vinr.refunds.create({
payment: 'pay_ABC123',
amount: 1600, // partial refund of €16.00; omit for full
reason: 'requested_by_customer',
});
// refund.status → "pending" then "completed"Listen for the refund.completed event to confirm the refund has settled:
if (event.type === 'refund.completed') {
const refund = event.data;
await updateOrderStatus(refund.metadata.orderId, 'refunded');
}Refund timing
| State | Timing |
|---|---|
refund.pending | Created immediately |
refund.completed | Typically within minutes; funds arrive in the customer's Revolut account within seconds of completion |
Multiple partial refunds can be issued against the same payment, up to the original payment amount.
DisputesAsk
Revolut Pay disputes differ from card chargebacks. Because the payment is made from a Revolut account balance rather than through a card network, there is no standard chargeback process. Instead, dispute claims are handled directly between Revolut and the merchant through VINR.
When a dispute is opened, a dispute.opened event is fired and the disputed amount is temporarily held from your VINR balance. You can respond to disputes with evidence in the VINR Dashboard under Payments → Disputes.
Revolut Pay disputes that are decided in the customer's favour result in a permanent debit from your VINR balance. Respond to disputes with supporting evidence as early as possible.
See alsoAsk
Accept Revolut Pay
Enable and integrate Revolut Pay.
Disputes & chargebacks
General dispute handling across all payment methods.
Last updated on