How are reason codes organised?
Every recognised code belongs to one card scheme and one of five categories. The category is the useful thing: it tells you which of the three defence dimensions the case turns on before you read the code text at all.
A code you receive that is not in the tables below comes through as
0000/00 / Not available —
see the last question on this page.
Visa reason codes
Fraud-related
10.4 is the one most online merchants see: the cardholder denies a card-not-present transaction.
Authorization Errors
Processing Errors
12.6 is the code to check first when a cardholder says they were charged twice — it is often
answerable with the two authorisation records alone.
Customer Disputes
13.2 and 13.7 are the subscription and cancellation codes: what decides them is your
cancellation record and the policy the buyer accepted, not proof of delivery.
Mastercard reason codes
Fraud-related
4837 is the code that drives the Mastercard fraud-rate card in Chargeback Analytics — see
Portal analytics — so it is the one with a compliance
consequence attached, not just a financial one.
Authorization Errors
Processing Errors
Customer Disputes
Miscellaneous
Two schemes use similar-looking codes. How do I read mine correctly?
Always read the code together with the card scheme on the case. The codes are only unique within a scheme, and Waffo resolves a code by scheme precisely to avoid the ambiguity — so a code looked up against the wrong scheme can land you on the wrong claim and the wrong evidence. The case record carries both; use both.My case shows an unknown or unhelpful reason. What do I do?
A code Waffo does not recognise, or a case that arrives without one, is represented as0000/00
with the reason Not available. It is a real state, not a data error — some raising sides do not
pass a code through.
It changes nothing about the deadline and nothing about your ability to defend. What it changes is
how you build the submission: with no code to aim at, send the fallback combination in the
Chargeback Evidence Guide and, where you can, find out
what the actual claim is before you submit.
What is Reported Fraud, and is it the same as a chargeback?
No — they are separate records and one does not imply the other.
A transaction can be reported as fraud and never charged back, or be charged back and never
reported. Both matter for compliance ratios, and one of the ratio cards deliberately combines
them — see Portal analytics for exactly which card counts
what.
The practical point: Reported Fraud is a signal, not a liability. It costs you nothing
directly and there is no action to take on an individual record, but a rising volume is the early
warning that chargebacks and a monitoring-programme problem are coming. Read it as a trend.
How do I query Reported Fraud?
Through/api/v1/fraud-report/list — a paged POST. There is no Reported Fraud list page in the
Portal, so the API is the only place to get the individual records.
The date range filters on when the fraud was reported, which is later — often much later —
than when the transaction happened. A window that looks empty for a period you know had fraud is
usually a window aimed at transaction dates.
What does each Reported Fraud record contain?
Two things to note when you build against it.
fraudReasonCode is the scheme’s fraud
taxonomy, which is a different code space from the chargeback reason codes on this page — do not
look one up in the other’s table. And the identifier that is populated tells you which flow the
transaction came from: a record with subscriptionId set and paymentRequestId empty is a
subscription charge, which usually means the useful evidence is the subscription’s consent and
billing history rather than a single order.
Why does one of my cases have no Defend button?
The action on a dispute row reads Defend only when both of these hold, and reads View otherwise:- The case is in a status that accepts a response — one of
EVIDENCE_REQUIRED,ACTION_REQUIRED, orSECOND_CYCLE_RESPONSE_REQUIRED. A case in a final status, an expired case, and a case still inUNDER_REVIEWall show View. - Your Portal user has the dispute-update permission. Without it every case shows View, no matter what state it is in. This is the cause people miss — if a colleague can defend a case you cannot, it is permissions, not the case. Ask your account administrator.
INCOMPLETE until Waffo completes it. INCOMPLETE is not a respondable status,
so it shows View — the case will move to ACTION_REQUIRED and become defensible, or be closed
out, without you doing anything. Its deadline clock does not start while it is incomplete.
What decides whether I can close a customer dispute myself?
Two conditions, both on the case:- The status is one that still accepts action —
UNDER_REVIEW, or one of the response-required statuses. - Compulsory Channel Review is false. Where the raising side requires the case to go through its own review, you cannot close it out yourself; the Close action is not offered. What Compulsory Channel Review means is in the Chargeback field reference.
UNDER_REVIEW, in a response-required status, and even in CLOSED, where the case itself allows
replies. That is why a closed customer dispute can still show an unread count.
Code you cannot find, or a Reported Fraud record you cannot tie to an order? Contact support with the
acquiringOrderId.