A chargeback reaches the merchant.
But the merchant has evidence that the original transaction was legitimate.
So what happens next?
Does the merchant simply accept the financial loss?
Not necessarily.
In the previous edition of Systems Explained Simply, we looked at how chargebacks fit into the card-payment dispute flow.
Now we're following that transaction one step further.
This time, we're looking at the merchant-facing side of the dispute lifecycle.
That's where representment comes in.
First: What Is Representment?
In simple terms:
Representment is the process through which the merchant side challenges a chargeback by submitting evidence supporting the original transaction.
Conceptually, we've moved from this:
Cardholder
│
│ Raises dispute
▼
Issuing Bank
│
▼
Card Network
│
▼
Acquirer / Payment Provider
│
▼
Merchant
to this:
Merchant
│
│ Evidence / Response
▼
Acquirer / Payment Provider
│
▼
Card Network
│
▼
Issuing Side
The exact flow and terminology depend on the network and dispute, but the important idea is:
The merchant isn't simply saying, "I disagree."
The merchant needs to respond to the specific reason for the dispute with relevant evidence.
And that's where things get interesting from a systems perspective.
A Chargeback Is Not Just a Chargeback
Suppose two ₦50,000 transactions are disputed.
They may have the same:
amount = 50000
status = CHARGEBACK
But that doesn't mean they're the same type of dispute.
One customer might say:
"I didn't authorize this transaction."
Another might say:
"I paid, but the product never arrived."
Those claims require very different responses.
Conceptually:
Chargeback
│
▼
Identify Dispute Reason
│
├── Unauthorized Transaction
│ ▼
│ Relevant fraud/authentication evidence
│
├── Goods Not Received
│ ▼
│ Relevant fulfilment/delivery evidence
│
└── Duplicate Processing
▼
Relevant transaction records
This is why reason codes matter.
Reason Codes Drive the Response
Card networks use reason codes or dispute categories to describe why a transaction is being challenged.
Those codes aren't just labels for reporting.
They help determine:
- What the dispute is actually alleging
- What rules apply
- What evidence may be relevant
- What deadlines apply
- How the merchant should respond
For example, a dispute alleging fraud may require evidence very different from a dispute alleging that merchandise wasn't received.
So a merchant-facing dispute system shouldn't be designed around:
chargeback_received = true
followed by:
send_generic_evidence()
A better mental model is:
Chargeback Received
│
▼
Identify Reason Code
│
▼
Determine Requirements
│
▼
Gather Relevant Evidence
│
▼
Validate Response
│
▼
Submit Representment
The reason for the dispute should influence the evidence strategy.
What Evidence Might Matter?
Evidence depends on the dispute.
For a goods-not-received claim, useful information might include:
- Delivery confirmation
- Tracking information
- Delivery address
- Customer communication
- Fulfilment records
For a duplicate-processing claim, the merchant may need transaction records demonstrating that the charges correspond to separate legitimate purchases.
For another dispute category, completely different information may be relevant.
The important engineering lesson isn't to memorize every possible evidence type.
It's this:
Evidence should be contextual.
A generic evidence packet for every chargeback is a poor model for a system dealing with multiple dispute categories.
Representment as a Workflow
From an engineering perspective, representment isn't simply a button labelled:
CHALLENGE CHARGEBACK
It's a workflow with state.
A simplified model could look like:
CHARGEBACK_RECEIVED
↓
UNDER_REVIEW
↓
EVIDENCE_REQUIRED
↓
EVIDENCE_COLLECTED
↓
REPRESENTMENT_SUBMITTED
↓
AWAITING_OUTCOME
And eventually:
┌───────────────┐
│ │
▼ ▼
ACCEPTED REJECTED
Real implementations and network terminology vary, but modelling the process as a lifecycle helps us understand an important point:
A dispute evolves over time.
It isn't a single synchronous API request.
Deadlines Are Part of the System
There's another constraint payment engineers need to think about:
time.
Dispute processes operate within defined timeframes.
That means a merchant may have evidence proving the transaction was legitimate...
but still need to submit it within the applicable deadline.
From a system-design perspective, that introduces requirements around:
- Timestamps
- Due dates
- Notifications
- Escalations
- Workflow queues
- SLA monitoring
A dispute-management platform therefore needs to know not only:
WHAT happened?
but also:
WHEN must the next action happen?
Traceability Becomes Critical
Now think back to the original transaction.
It may have happened weeks earlier.
Yet the representment process may need information from that original payment.
So the system needs to connect:
Original Payment
│
▼
Dispute
│
▼
Chargeback
│
▼
Reason Code
│
▼
Evidence
│
▼
Representment
This is why identifiers and audit trails matter so much in payment architecture.
If those records are fragmented across multiple systems, assembling a reliable dispute response becomes much harder.
Representment Also Has Financial Consequences
Remember our earlier discussion about reconciliation?
A chargeback can create a financial adjustment against the merchant side.
If the merchant successfully challenges that chargeback, another financial event may need to be reflected.
Conceptually:
Original Payment +₦50,000
Chargeback -₦50,000
Successful Challenge +₦50,000
Again, the exact accounting treatment depends on the system and process.
But the architectural point remains:
Dispute events affect more than the dispute-management application.
They can affect:
- Merchant balances
- Settlement
- Ledgers
- Reconciliation
- Reporting
So representment needs to integrate cleanly with the wider payment platform.
Chargeback vs Representment
The easiest way to separate them is:
Chargeback
The cardholder disputes a completed card transaction through the issuer, potentially creating a financial adjustment against the merchant side.
Representment
The merchant side responds to the chargeback with evidence supporting the original transaction.
So:
Payment
↓
Dispute
↓
Chargeback
↓
Reason Code
↓
Evidence
↓
Representment
And this reveals something important about payment-system design:
The transaction record alone isn't enough.
You also need the history around the transaction.
Who challenged it?
Why?
When?
What evidence was provided?
What financial adjustments occurred?
What is its current dispute state?
What Should Engineers Take Away?
Representment highlights several useful design principles.
1. Model disputes as workflows, not booleans.
is_disputed = true tells you very little about where the case actually is.
2. Reason codes should influence system behaviour.
Different dispute reasons require different responses and evidence.
3. Evidence needs structure and traceability.
Documents and transaction data should remain connected to the dispute they support.
4. Time matters.
Deadlines, notifications and SLA tracking are part of the workflow.
5. Financial events need reconciliation.
Chargebacks and subsequent dispute outcomes can affect merchant balances and financial records.
6. Preserve the audit trail.
Weeks later, the system should still be able to reconstruct what happened from the original payment through the dispute lifecycle.
The Bigger Picture
Our payment system is no longer simply:
POST /payments
↓
SUCCESS
We've now followed:
Authorization
↓
Clearing
↓
Settlement
↓
Payout
↓
Reconciliation
And then the events that can happen later:
Payment
↓
┌─────────────────┐
│ Refund │
│ Reversal │
│ Dispute │
│ Chargeback │
│ Representment │
└─────────────────┘
The further we go, the clearer something becomes:
A successful payment is a state in a much longer financial lifecycle.
And representment still isn't necessarily the end.
What happens if the cardholder side and merchant side still don't agree after the merchant responds?
That's where the dispute can move into later stages.
We'll continue from there in the next edition of Systems Explained Simply.
Systems Explained Simply is my series breaking down the infrastructure, workflows, and engineering concepts behind systems we interact with every day.
Eunice Explains
Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.