Revolut Disputes
RevolutProvider implements the generic DisputeCapable contract for Merchant disputes. These
endpoints are available only in Revolut’s production environment; calls configured with
environment: 'sandbox' fail with PROVIDER_OPERATION_UNSUPPORTED before an HTTP request is sent.
Operations
listDisputes({ limit })callsGET /api/disputes; the default limit is 100 and the provider caps it at Revolut’s maximum of 500.retrieveDispute(providerDisputeId)callsGET /api/disputes/{dispute_id}.acceptDispute(providerDisputeId, ctx)callsPOST /api/disputes/{dispute_id}/accept. The endpoint does not declareIdempotency-Key, so Payable does not forwardctx.idempotencyKey.
The mapper exposes the dispute id, order id with payment id fallback, state, scheme reason code, amount, creation time, and response deadline. Accepting a dispute is irreversible and resolves it as lost.
Evidence upload and challenge are not part of the generic contract. Revolut requires a separate multipart upload followed by provider-specific challenge reasons and evidence IDs, which is not equivalent to Stripe’s evidence update flow.