DevLearn
Back to Payments & Banking
payments

Chargebacks

Dispute lifecycle, reason codes, representment, and prevention

Chargebacks — Overview

Dispute lifecycle, reason codes, representment, and prevention

Chargebacks reverse settled transactions when cardholders dispute. Reason codes (Visa 10.4, 13.1; Mastercard 4837) trigger representment windows. Merchants submit evidence (receipts, delivery proof). Win rates depend on compelling evidence and 3DS liability shift.

// Chargeback lifecycle
// 1. Cardholder disputes → Issuer raises chargeback
// 2. Acquirer debits merchant account + chargeback fee
// 3. Merchant representment (21-45 days window)
// 4. Pre-arbitration → Arbitration (network decides)

// Reason codes (examples)
Visa 10.4 — Other Fraud (CNP)
Visa 13.1 — Merchandise Not Received
MC 4837 — No Cardholder Authorization

// Prevention
if (auth.is3dsAuthenticated() && auth.getLiabilityShift()) {
  // Merchant protected from fraud chargebacks
}

// Representment evidence package
ChargebackResponse response = ChargebackResponse.builder()
  .deliveryTracking(trackingId)
  .customerSignature(pod)
  .orderDetails(order)
  .build();
Tip: Verifi Order Insight and Ethoca Alerts provide pre-chargeback notification — resolve before formal dispute.