# Reason codes (https://docs.chargeflow.io/docs/reference/concepts/reason-codes)



Every dispute carries a **reason code** that explains why the cardholder is contesting the charge. Each network maintains its own list of codes, and the same underlying complaint can have a different code on Visa, Mastercard, Amex, and Discover. To make disputes consistent and actionable, Chargeflow maps each network reason code to a single set of **reason categories**. Chargeflow then combines the category with transaction signals and your evidence to build the most effective rebuttal.

## Chargeflow reason categories [#chargeflow-reason-categories]

| Category                     | Description                                                                                                                              |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `fraud`                      | The cardholder says they did not authorize or participate in the transaction.                                                            |
| `not_received`               | The cardholder says they never received the goods or service.                                                                            |
| `not_as_described`           | The cardholder says the goods or services are materially different from what was advertised or expected.                                 |
| `canceled_recurring_billing` | The cardholder says they canceled a subscription but were still charged.                                                                 |
| `duplicate_charge`           | The cardholder says they were charged more than once for the same purchase.                                                              |
| `credit_not_processed`       | The cardholder says a promised refund or credit was not applied.                                                                         |
| `other`                      | Any reason that does not fit the categories above. Network reason codes vary and may include merchant-specific or region-specific cases. |

## How network reason codes map to categories [#how-network-reason-codes-map-to-categories]

Networks group their codes into a few broad themes: fraud, authorization, processing errors, and consumer disputes. Chargeflow normalizes those into the categories above. The table below shows representative network codes and the Chargeflow category each maps to. Codes and their exact meanings are defined by each network and change over time, so treat these as illustrative rather than exhaustive.

| Chargeflow category          | Visa                         | Mastercard       | American Express   | Discover               |
| ---------------------------- | ---------------------------- | ---------------- | ------------------ | ---------------------- |
| `fraud`                      | 10.1, 10.2, 10.3, 10.4, 10.5 | 4837, 4849, 4863 | F24, F29, F30, F31 | UA01, UA02, UA05, UA06 |
| `not_received`               | 13.1                         | 4855             | C08                | RG, AA                 |
| `not_as_described`           | 13.3, 13.5                   | 4853             | C31, C32           | RM, C18                |
| `canceled_recurring_billing` | 13.2                         | 4841             | C28                | AP                     |
| `duplicate_charge`           | 12.6.1                       | 4834             | P08                | DP                     |
| `credit_not_processed`       | 13.6, 13.7                   | 4860             | C02, C05           | RN2, AW                |

<Callout type="info" title="Codes are network-defined">
  Networks revise their reason-code lists, and the same code can carry slightly different
  requirements by region. Always confirm the current definition with the network or your PSP.
  Chargeflow keeps the mapping current so you work from stable categories instead of tracking every
  code change.
</Callout>

## Why categories matter [#why-categories-matter]

The category drives strategy. A `fraud` dispute is won with authentication and prior-transaction evidence, often through [Compelling Evidence 3.0](https://docs.chargeflow.io/docs/reference/concepts/ce-3.0-eligibility). A `not_received` dispute is won with delivery proof. A `canceled_recurring_billing` dispute is won with the subscription terms and the cancellation record. Chargeflow uses the category to decide which evidence to gather and how to present it. See [Representment and evidence](https://docs.chargeflow.io/docs/reference/concepts/representment-and-evidence).

## Interactive explorer [#interactive-explorer]

<ComingSoon href="/docs/reference/concepts/reason-codes">
  An interactive reason-code explorer is coming. Search any network reason code to see its
  Chargeflow category, the evidence that wins it, and the applicable response window.
</ComingSoon>

## Next steps [#next-steps]

<Cards>
  <Card title="Representment and evidence" href="/docs/reference/concepts/representment-and-evidence">
    The evidence each category needs.
  </Card>

  <Card title="CE 3.0 eligibility" href="/docs/reference/concepts/ce-3.0-eligibility">
    Winning fraud disputes with prior-transaction data.
  </Card>

  <Card title="Dispute state machine" href="/docs/reference/concepts/dispute-state-machine">
    How reasoned disputes move through stages and statuses.
  </Card>

  <Card title="Network timelines" href="/docs/reference/concepts/network-timelines">
    Response windows, which vary by reason code.
  </Card>
</Cards>
