Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.paynext.com/llms.txt

Use this file to discover all available pages before exploring further.

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.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 standard subscription.updated webhook.

visa_rdr payload

{
  "visa_rdr": {
    "status": "accepted",
    "case_id": "3d2ec10c-8a6c-4ef2-b7e9-0c7b1a9f23ea",
    "reason": {
      "code": "10.4",
      "name": "Other Fraud — Card Absent Environment",
      "category": "fraud"
    },
    "updated_at": "2026-04-23T12:45:51Z"
  }
}
FieldTypeDescription
statusstringTerminal RDR outcome. Closed enum: accepted (Visa refunded per your rule), declined (rule didn’t match; dispute proceeds).
case_idstring (UUID)Stable identifier for the RDR case.
reason.codestringVisa dispute reason code (e.g. 10.4). Open enum—new codes pass through with name: null and category: null.
reason.namestring | nullHuman-readable reason name, derived from reason.code at write time. null for codes not yet in the catalog.
reason.categorystring | nullReason category. Open enum: fraud, authorization, processing, consumer. null for codes not yet in the catalog.
updated_atstring (ISO-8601)Timestamp of the RDR outcome, UTC with Z suffix.

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.
Visa eventEffect on visa_rdr
New decision, acceptedstatus: "accepted"
New decision, declinedstatus: "declined"
Retraction, timeout, or update without a new outcomeNo change
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.updated event. See Webhook event types and the Payment webhook object for the full schema.

Reference

CodeName
10.1EMV Liability Shift Counterfeit Fraud
10.2EMV Liability Shift Non-Counterfeit Fraud
10.3Other Fraud — Card Present Environment
10.4Other Fraud — Card Absent Environment
10.5Visa Fraud Monitoring Program
CodeName
11.1Card Recovery Bulletin
11.2Declined Authorization
11.3No Authorization
CodeName
12.1Late Presentment
12.2Incorrect Transaction Code
12.3Incorrect Currency
12.4Incorrect Account Number
12.5Incorrect Amount
12.6.1Duplicate Processing
12.6.2Paid by Other Means
12.7Invalid Data
CodeName
13.1Merchandise/Services Not Received
13.2Cancelled Recurring
13.3Not as Described or Defective Merchandise/Services
13.4Counterfeit Merchandise
13.5Misrepresentation
13.6Credit Not Processed
13.7Cancelled Merchandise/Services
13.8Original Credit Transaction Not Accepted
13.9Non-Receipt of Cash or Load Transaction Value