Skip to main content
Visa Rapid Dispute Resolution (RDR) evaluates incoming disputes against your configured refund rules and issues refunds automatically when eligible. The dispute closes before it ever becomes a chargeback. When the rules don’t match, the dispute proceeds normally and you handle it through your usual chargeback flow. Outcomes arrive on the payment as fraud_prevention.visa_rdr and are always terminal—there is no submitted or pending state.

How RDR works

1

Cardholder files a dispute

The dispute hits Visa’s pre-dispute resolution layer.
2

Visa evaluates against your rules

Your RDR ruleset (configured by PayNext during enrollment) determines whether to auto-refund.
3

Outcome lands on the payment

If eligible, Visa issues the refund and closes the dispute. If not, the dispute proceeds as a regular chargeback.
4

payment_v2.updated webhook fires

The visa_rdr sub-object is written with the terminal outcome and the dispute reason.

Set up

1

Contact PayNext support

Request RDR enrollment for the integrations you want it on.
2

PayNext enrolls your CAID and rules with Visa

PayNext registers your and coordinates rule configuration with Visa.
3

Done

No code changes required. RDR outcomes appear on the fraud_prevention.visa_rdr sub-object of every affected payment.

Subscription handling

When an RDR notification lands on a payment that belongs to an active subscription, PayNext cancels the subscription immediately—regardless of whether Visa accepts or declines the case. A dispute filing is a strong signal that the cardholder no longer wants the charge to recur. The subscription status becomes cancelled. All of the customer’s active subscriptions at your account are acted on. Subscriptions the same customer holds at other merchants are not affected. Track changes via the subscription_v2.cancelled webhook.
Both actions are attributed automatically as fraud_prevention: the auto-refunded payment’s refund_reason and the cancelled subscription’s cancellation_details.reason are set to fraud_prevention, with trigger_payment_id pointing at the disputed payment — so you can distinguish RDR-driven activity from merchant_initiated actions.

visa_rdr payload

Re-decisions

visa_rdr is written only when Visa delivers a new dispute decision. A later decision on the same case overwrites status, reason, and updated_at — last-write-wins.
Once visa_rdr is written, it is never cleared. Only a later RDR decision can change its status.

Webhook events

Updates to visa_rdr are delivered on the payment_v2.updated event. See Webhook event types and the Payment webhook object for the full schema.

Reference