Chargebacks
A chargeback is the dispute process of the card networks. When your customer contests a transaction (an unauthorized charge, goods that never arrived, a refund that was never credited) and the issue cannot be resolved with the merchant directly, you raise a chargeback against the acquirer through the card network.
Two ways to raise a chargeback
Every card program can raise chargebacks in the portal of the card network: Mastercom for Mastercard and Visa Resolve Online (VROL) for Visa. That route is always available to you and covers the full dispute lifecycle, in the networks' own terms.
Open Fabric Chargeback Management is the alternative for the disputes you handle day in, day out. Your operations team raises and tracks them in the Open Fabric portal, next to the transaction they belong to, and you can automate the same flow end to end through the API.
| Card network tools | Open Fabric Chargeback Management | |
|---|---|---|
| Card networks | Mastercard (Mastercom) and Visa (VROL) | Mastercard |
| How you work | In the network's portal | In the Open Fabric portal, or automated through the API |
| Reason codes | The network's own reason codes, and the evidence rules that come with each of them | A single set of plain Open Fabric reason codes that we map to the network's, with the evidence each one needs listed up front. See Raise a dispute |
| Stages | The full lifecycle, including pre-arbitration and arbitration | Raising the first chargeback and tracking its outcome |
| Tracking | In the network's portal | In the Open Fabric portal, or through a webhook notification, and in clearing and settlement |
The two are not exclusive: a dispute you raise with Open Fabric is a normal case in the network's system, so you can keep working it in Mastercom, which is what you do for the stages Chargeback Management does not cover. Either way, the outcome of each step arrives in your clearing files and settlement reports.
Chargeback Management is available for Mastercard today: chargeback_system on a dispute reads mastercom, and the mapped network reason code is returned as network_reason_code. Visa is not supported yet, so raise those disputes in VROL.
API access to Mastercom is enabled by Mastercard per BIN, so it is set up as part of your card program. Talk to your Open Fabric contact to have it enabled.
The dispute lifecycle
A dispute runs through a sequence of network stages. Each stage that moves money is reflected in your clearing files:
- First presentment: the original transaction. The acquirer presents the merchant's transaction through the card network, and you receive it as an authorization clearing record. This is the transaction that can later be disputed.
- Collaboration: your customer disputes the transaction and you decide to raise a chargeback. Before the chargeback is actually raised, Mastercard tells the merchant that one is coming and gives them a window to settle it themselves, by refunding your customer or by offering them a credit voucher. If the merchant does so, the case ends here and no chargeback, and no chargeback fee, follows. The window is 72 hours by default, but it can differ depending on your setup.
- First chargeback: if the merchant does not respond within the collaboration window, the chargeback is raised. The disputed amount is provisionally credited to you and reflected in an upcoming clearing file with the
chargebackinstruction; you decide when and how to credit your customer. - Second presentment: the acquiring bank receives the chargeback and, by themselves or after consulting the merchant, either accepts it (the case ends there) or challenges it. A challenge takes the credit back and is reflected in the clearing file with the
chargeback_challengeinstruction. - Pre-arbitration: if you disagree with the challenge, you can escalate the case once more. If the merchant accepts liability at this point, the reversal of the second presentment is reflected with the
chargeback_challenge_reversalinstruction. - Arbitration: if the merchant still refuses, the card network rules on the case. A ruling in your customer's favor is reflected with the
chargeback_challenge_reversalinstruction; a ruling in the merchant's favor produces no further clearing records. The losing party pays the network's arbitration fee, which arrives as afee_collection_debit.
Chargebacks take weeks to resolve, merchants have 45 days to challenge, and each stage is less common than the one before it, with arbitration rarely reached because of the fees involved.
Using Open Fabric Chargeback Management
A dispute starts as a draft, collects the evidence its reason code asks for, and is filed with the card network when you submit it. You can run that in the Open Fabric portal or automate it through the API. The rest of this section, and the pages that follow, describe the API.
Chargeback Management covers steps 2 and 3 of the lifecycle above: raising the first chargeback, attaching evidence, and tracking what the network reports back, including the outcomes of the later stages. Escalating a case to pre-arbitration or arbitration is done in Mastercom, in either integration.
| Component | Owned by | Role |
|---|---|---|
| Your backend | You | Holds your Open Fabric OAuth credentials; creates and manages disputes, uploads evidence, submits to the card network. |
| Open Fabric | Open Fabric | Validates the dispute against the clearing record of the disputed transaction, tracks the evidence checklist, files the chargeback with the card network at submit, and keeps the dispute in sync with the network outcome and the settled amounts. |
| Card network dispute system | Card network | The case-management system of the card network (Mastercom for Mastercard). Receives the claim and evidence at submit, and drives the outcome that is reflected back on the dispute. |
Dispute statuses
A single status field covers the whole journey:
| Status | Meaning |
|---|---|
draft | Created, evidence can be added or removed. Not yet visible to the card network. |
submitted | Filed with the card network. Evidence is now immutable. |
refunded | The merchant refunded your customer during collaboration, resolving the case before it became a chargeback. |
voucher_offered | The merchant offered a credit voucher instead of a refund during collaboration. |
voucher_accepted | You accepted the offered voucher, resolving the case without a chargeback. |
chargeback | The first chargeback was accepted by the card network. |
chargeback_declined | The card network declined the chargeback. |
chargeback_challenged | The acquirer or merchant challenged the chargeback (second presentment). |
chargeback_reversed | The chargeback was reversed after the challenge. |
chargeback_challenge_reversed | The challenge itself was reversed, in your customer's favor. |
pre_arbitration / arbitration | The case was escalated for further network review. Raised in Mastercom, observed here. |
pre_compliance / compliance | The case was escalated on a rules-compliance basis. Raised in Mastercom, observed here. |
closed | Terminal. No further network action expected. |
is_open tells you whether the case is still active at the card network, independent of status; a dispute can reach a chargeback* status while is_open is already false.
How the case is reflected in clearing and settlement
The dispute tracks the case; your clearing files and settlement reports track the money. Both stay linked to the same transaction:
| Clearing instruction | What it means for the dispute |
|---|---|
chargeback | The first chargeback cleared, so you can credit your customer. |
chargeback_reversal | The first chargeback was reversed. |
chargeback_challenge | The merchant challenged (second presentment), so the credit is taken back. |
chargeback_challenge_reversal | The challenge was reversed in your customer's favor. |
refund / refund_reversal | The merchant resolved (or reverted) the case with a refund instead. |
Each of these clearing records is also folded onto the dispute itself as a network_settlement entry, together with a settlement rollup (state, latest_clearing_type, net_amount, last_settled_at). See Track the outcome.
See Clearing Reports and Settlement for the full set of instructions and how to process them.
Prerequisites
- Chargeback Management enabled on your card program. See Availability above.
- Open Fabric API credentials for your backend. See Authentication.
- The
disputes.create,disputes.read, anddisputes.updatescopes on your API client. - A disputed transaction that is still within the filing window of the reason code. Raise a dispute returns
404if the transaction has no eligible clearing record.
Integration steps
- Raise a dispute: create a draft against the disputed transaction and adjust it before filing, if needed.
- Manage evidence: attach the documents the reason code requires, and review, replace, or remove them while the dispute is still a draft.
- Submit and track: file the chargeback, then follow its status as the card network resolves the case.