Manage Issuing disputes
Last updated: March 26, 2025
If your cardholder notices an unfamiliar transaction on a card you've issued and questions its validity, you can raise a dispute to reclaim the funds from the merchant. For example, when there are concerns about fraud, or the quality or delivery of a purchase.
For acquiring disputes, see Process disputes.
Information
If you're a certified issuer with card schemes, you can use the Issuing Disputes API set out on this page.
Non-issuers must contact Checkout.com to raise and manage disputes at [email protected].
Disputes go through four standard stages in their lifecycle to reach resolution:
- Chargeback:
- You raise a dispute with the card scheme and request a chargeback from the merchant. The funds are returned to the cardholder.
- If the merchant accepts or does not respond to the chargeback, you win the dispute.
- Representment:
- If the merchant rejects the chargeback, they can provide evidence and send a representment. The funds are reversed to the merchant.
- If you accept or do not respond to the representment, the merchant wins the dispute.
- Pre-arbitration:
- If you reject the representment, you can escalate the dispute to pre-arbitration and provide more evidence.
- If the merchant accepts or does not respond to pre-arbitration, you win the dispute and the funds are returned to the cardholder.
- Arbitration:
- If the merchant rejects pre-arbitration, you can escalate to arbitration from the card scheme.
- The scheme's decision is final and the funds go to the winning party.
- Set up an authentication mechanism for your API requests, using OAuth 2.0 or API keys.
- Prepare to handle the Issuing dispute statuses.
- Set up your webhook receiver and prepare to handle Issuing dispute webhooks.
- Check that the transaction is eligible for dispute.
- Create a dispute. If you decide not to proceed, you can cancel the dispute.
- Submit the dispute.
- Monitor the dispute and consider the merchant's response. You can optionally:
- Retrieve the report.
- Retrieve the dispute details.
- Download evidence files.
- Escalate to pre-arbitration if you reject the merchant's representment.
- Escalate to arbitration if the merchant rejects pre-arbitration.
Before you raise a dispute, check that the transaction is eligible. You cannot dispute an ineligible transaction.
Ensure that the cardholder has tried all other ways of resolving the issue with the merchant directly.
For example, by trying to return any products they received, cancel ongoing services, or seek a refund.
Collect documentation of these attempts as evidence for the dispute.Confirm that the transaction status is
cleared
and not alreadyrefunded
.Ensure you are within the card scheme's chargeback time limit, which can be 30 to 120 days after the billing date, depending on the dispute reason code you provide.
Note
If the dispute reason is fraud, you cannot use the Issuing Disputes API.
Contact us to raise and manage the dispute at [email protected].
Card schemes apply time limits to each stage of the dispute lifecycle:
Dispute stage | Time limit |
---|---|
You raise a dispute | Within 30, 90, or 120 days after the transaction Central Site Business Date (CSBD), depending on the dispute reason code |
Merchant responds to the dispute or sends representment | Within 45 calendar days after the chargeback date, or you win the dispute |
You escalate to pre-arbitration | Within 30 calendar days after the representment date, or the merchant wins the dispute |
Merchant responds to pre-arbitration | Within 30 calendar days after the representment date, or you win the dispute |
You escalate to arbitration | Within 15 calendar days after the merchant rejects pre-arbitration, or the merchant wins the dispute |
You can raise a dispute for only part of the original transaction amount. For example, if part of the transaction is not disputed or has already been refunded.
Dispute outcomes can also be partial. Following pre-arbitration or arbitration, you may win only part of the disputed amount back.
Call the Create an issuing dispute endpoint and provide the following:
Cko-Idempotency-Key
header – Your idempotency key so you can retry this request without creating duplicate disputestransaction_id
field – The unique identifier for the disputed transactionreason
field – If Checkout.com is your issuing processor, a four-digit scheme-specific reason code
Optionally, you can provide:
evidence
object – Evidence according to the card scheme's requirementsamount
field – The chargeback amount (if lower than the cleared transaction amount), in the minor unit of the transaction currencypresentment_message_id
field – The unique identifier for the disputed presentment from the Presentment received webhook (if the transaction has multiple presentments)justification
field – Your justification for the chargebackis_ready_for_submission
boolean – To create the dispute and submit it:- Immediately – Set to
true
. - Later – Set to
false
.
- Immediately – Set to
Providing evidence is optional, but it may improve your chances of winning the dispute.
Upload a single evidence file or a single ZIP file containing multiple evidence files.
Documents and images must meet the following requirements:
- File name – Maximum 16 alphanumeric English characters, with no spaces or special characters
- File format – JPEG, TIFF, or PDF
- File size – Maximum 14.5MB or 14,500,000 Bytes and maximum 19 pages
- File resolution – Maximum 300 X 300 DPI
- Pixel count – Maximum 30,000,000 pixels
- Not too many graphics or too much color
post
https://api.checkout.com/issuing/disputes
1{2"transaction_id": "trx_aayhhfwbdyxwcaeyhhfwbd4xga",3"reason": "4855",4"evidence": [5{6"name": "evidence.pdf",7"content": "string",8"description": "Goods were not received."9}10],11"amount": 100,12"presentment_message_id": "msg_fa6psq242dcd6fdn5gifcq1491",13"justification": "string",14"is_ready_for_submission": false15}
The response returns:
- The unique identifier for the dispute in the
id
field - The dispute
status
andstatus_reason
– See Chargeback statuses. - Information about the transaction and the merchant
- Placeholder objects for each stage in the dispute lifecycle
Note
If the transaction is ineligible for dispute, you receive a 422
error response code.
1{2"id": "idsp_fa6psq242dcd6fdn5gifcq1491",3"reason": "4855",4"disputed_amount": {5"amount": 100,6"currency": "USD"7},8"status": "created",9"status_reason": "chargeback_processed",10"transaction_id": "trx_aayhhfwbdyxwcaeyhhfwbd4xga",11"presentment_message_id": "msg_fa6psq242dcd6fdn5gifcq1491",12"merchant": {13"id": "(*)123456789",14"name": "Software Company",15"city": "London",16"state": "",17"country_code": "UK",18"category_code": 5734,19"evidence": [20"file_6lbss42ezvoufcb2beo76rvwly"21]22},23"created_on": null,24"modified_on": null,25"chargeback": {26"submitted_on": "2019-09-10T10:11:12Z",27"reason": "4855",28"amount": {29"amount": 100,30"currency": "USD"31},32"evidence": [33{34"file_id": "file_6lbss42ezvoufcb2beo76rvwly",35"description": "Goods were not received."36}37],38"justification": "string"39},40"second_presentment": {41"received_on": null,42"evidence": [43{44"file_id": "file_6lbss42ezvoufcb2beo76rvwly",45"description": "Goods were not received."46}47]48},49"pre_arbitration": {50"submitted_on": "2019-09-10T10:11:12Z",51"evidence": [52{53"file_id": "file_6lbss42ezvoufcb2beo76rvwly",54"description": "Goods were not received."55}56],57"amount": {58"amount": 100,59"currency": "USD"60},61"justification": "string",62"merchant_responded_on": null,63"merchant_evidence": [64{65"file_id": "file_6lbss42ezvoufcb2beo76rvwly",66"description": "Goods were not received."67}68]69},70"arbitration": {71"submitted_on": "2019-09-10T10:11:12Z",72"amount": {73"amount": 100,74"currency": "USD"75},76"justification": "string",77"decided_on": "string"78},79"_links": {80"self": {81"href": "string",82"actions": [],83"types": []84},85"card": {86"href": "string",87"actions": [],88"types": []89},90"cardholder": {91"href": "string",92"actions": [],93"types": []94},95"transaction": {96"href": "string",97"actions": [],98"types": []99},100"submit": {101"href": "string",102"actions": [],103"types": []104},105"escalate": {106"href": "string",107"actions": [],108"types": []109}110}111}
If you decide not to proceed with a dispute, you can cancel it either before you submit it, or while the status
is processing
with status_reason
: chargeback_pending
or chargeback_processed
.
Note
You cannot reactivate a canceled dispute. You can create a new dispute if needed.
Call the Cancel an issuing dispute endpoint, and provide:
{disputeId}
path parameter – The unique identifier for the dispute – for example,idsp_fa6psq242dcd6fdn5gifcq1491
Cko-Idempotency-Key
header – Your idempotency key
post
https://api.checkout.com/issuing/disputes/{disputeId}/cancel
If the dispute:
- Can no longer be canceled – You receive a
409
error response code. - Is successfully canceled – You receive a
202
response code and the dispute has"status":"canceled"
and"status_reason":"chargeback_reversed"
.
After creating a dispute, call the Submit an issuing dispute endpoint, and provide the following:
{disputeId}
path parameter – The unique identifier for the dispute – for example,idsp_fa6psq242dcd6fdn5gifcq1491
Cko-Idempotency-Key
header – Your idempotency key
Optionally, you can update the reason
or disputed amount
fields, and the evidence
object following the card scheme's requirements.
Note
After submitting the dispute, you cannot change your evidence files or add more files.
post
https://api.checkout.com/issuing/disputes/{disputeId}/submit
1{2"reason": "4855",3"evidence": [4{5"name": "evidence.pdf",6"content": "string",7"description": "Goods were not received."8}9],10"amount": 8011}
The response returns the status
and status_reason
. See Chargeback statuses.
1{2"id": "idsp_fa6psq242dcd6fdn5gifcq1491",3"reason": "4855",4"disputed_amount": {5"amount": 80,6"currency": "USD"7},8"status": "created",9"status_reason": "chargeback_processed",10"transaction_id": "trx_aayhhfwbdyxwcaeyhhfwbd4xga",11"presentment_message_id": "msg_fa6psq242dcd6fdn5gifcq1491",12"merchant": {13"id": "(*)123456789",14"name": "Software Company",15"city": "London",16"state": "",17"country_code": "UK",18"category_code": 5734,19"evidence": [20"file_6lbss42ezvoufcb2beo76rvwly"21]22},23"created_on": null,24"modified_on": null,25"chargeback": {26"submitted_on": "2019-09-10T10:11:12Z",27"reason": "4855",28"amount": {29"amount": 100,30"currency": "USD"31},32"evidence": [33{34"file_id": "file_6lbss42ezvoufcb2beo76rvwly",35"description": "Goods were not received."36}37],38"justification": "string"39},40"second_presentment": {41"received_on": null,42"evidence": [43{44"file_id": "file_6lbss42ezvoufcb2beo76rvwly",45"description": "Goods were not received."46}47]48},49"pre_arbitration": {50"submitted_on": "2019-09-10T10:11:12Z",51"evidence": [52{53"file_id": "file_6lbss42ezvoufcb2beo76rvwly",54"description": "Goods were not received."55}56],57"amount": {58"amount": 100,59"currency": "USD"60},61"justification": "string",62"merchant_responded_on": null,63"merchant_evidence": [64{65"file_id": "file_6lbss42ezvoufcb2beo76rvwly",66"description": "Goods were not received."67}68]69},70"arbitration": {71"submitted_on": "2019-09-10T10:11:12Z",72"amount": {73"amount": 100,74"currency": "USD"75},76"justification": "string",77"decided_on": "string"78},79"_links": {80"self": {81"href": "string",82"actions": [],83"types": []84},85"card": {86"href": "string",87"actions": [],88"types": []89},90"cardholder": {91"href": "string",92"actions": [],93"types": []94},95"transaction": {96"href": "string",97"actions": [],98"types": []99},100"submit": {101"href": "string",102"actions": [],103"types": []104},105"escalate": {106"href": "string",107"actions": [],108"types": []109}110}111}
You can receive the following webhooks:
- Issuing chargeback processed – When the scheme processes the chargeback
- Issuing representment received – When you the merchant rejects the chargeback and sends a representment
You can monitor the progress of the dispute in the following ways:
This report helps you monitor events during the lifecycle of all disputes on your cards during a selected timeframe. It includes transaction amounts and currencies, dispute reasons, and your justifications.
For full details and how to retrieve the report, see Dispute Lifecycle Report.
To retrieve the details of a dispute, call the Get an issuing dispute endpoint, and provide the dispute id
as the {disputeId}
path parameter.
For example, idsp_fa6psq242dcd6fdn5gifcq1491
.
get
https://api.checkout.com/issuing/disputes/{disputeId}
The response returns the full details of the dispute.
If you or the merchant have uploaded evidence, you can download the files using the fileId
from the evidence
object in the relevant stage. For example, file_6lbss42ezvoufcb2beo76rvwly
.
1{2"id": "idsp_fa6psq242dcd6fdn5gifcq1491",3"reason": "4855",4"disputed_amount": {5"amount": 80,6"currency": "USD"7},8"status": "created",9"status_reason": "chargeback_processed",10"transaction_id": "trx_aayhhfwbdyxwcaeyhhfwbd4xga",11"presentment_message_id": "msg_fa6psq242dcd6fdn5gifcq1491",12"merchant": {13"id": "(*)123456789",14"name": "My Merchant",15"city": "Paris",16"state": "",17"country_code": "FR",18"category_code": 5331,19"evidence": [20"file_6lbss42ezvoufcb2beo76rvwly"21]22},23"created_on": null,24"modified_on": null,25"chargeback": {26"submitted_on": "2019-09-10T10:11:12Z",27"reason": "4855",28"amount": {29"amount": 100,30"currency": "USD"31},32"evidence": [33{34"file_id": "file_6lbss42ezvoufcb2beo76rvwly",35"description": "Goods were not received."36}37],38"justification": "string"39},40"second_presentment": {41"received_on": null,42"evidence": [43{44"file_id": "file_6lbss42ezvoufcb2beo76rvwly",45"description": "Goods were not received."46}47]48},49"pre_arbitration": {50"submitted_on": "2019-09-10T10:11:12Z",51"evidence": [52{53"file_id": "file_6lbss42ezvoufcb2beo76rvwly",54"description": "Goods were not received."55}56],57"amount": {58"amount": 80,59"currency": "USD"60},61"justification": "string",62"merchant_responded_on": null,63"merchant_evidence": [64{65"file_id": "file_6lbss42ezvoufcb2beo76rvwly",66"description": "Goods were not received."67}68]69},70"arbitration": {71"submitted_on": "2019-09-10T10:11:12Z",72"amount": {73"amount": 100,74"currency": "USD"75},76"justification": "string",77"decided_on": "string"78},79"_links": {80"self": {81"href": "string",82"actions": [],83"types": []84},85"card": {86"href": "string",87"actions": [],88"types": []89},90"cardholder": {91"href": "string",92"actions": [],93"types": []94},95"transaction": {96"href": "string",97"actions": [],98"types": []99},100"submit": {101"href": "string",102"actions": [],103"types": []104},105"escalate": {106"href": "string",107"actions": [],108"types": []109}110}111}
To download an evidence file that you or the merchant uploaded, you need the fileId
from the evidence
object in the relevant stage of the Get an issuing dispute response.
Call the Get file information endpoint, and provide the fileId
as the {file_id}
path parameter. For example, file_6lbss42ezvoufcb2beo76rvwly
.
get
https://api.checkout.com/files/{file_id}
The response returns the file details and a temporary download
URL where you can download the file.
1{2"id": "file_6lbss42ezvoufcb2beo76rvwly",3"filename": "receipt.png",4"purpose": "dispute_evidence",5"size": 1024,6"uploaded_on": "2016-05-17T16:48:52.000Z",7"_links": {8"self": {9"href": "https://api.sandbox.checkout.com/files/file_6lbss42ezvoufcb2beo76rvwly"10},11"download": {12"href": "https://checkout-file-upload.s3.eu-west-2.amazonaws.com/ucdac/ucdac/6lbss42ezvoufcb2beo76rvwly?X-Amz-Expires=3600&x-amz-security-token=FQoDYXdzENL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEa"13}14}15}
If you reject the merchant's representment, escalate the dispute to pre-arbitration within 45 calendar days after the representment date or you lose the dispute.
Call the Escalate an issuing dispute endpoint, and provide the following:
{disputeId}
path parameter – The unique identifier for the dispute – for example,idsp_fa6psq242dcd6fdn5gifcq1491
Cko-Idempotency-Key
header – Your idempotency key
Optionally, you can update the justification
or disputed amount
fields, and the additional_evidence
object following the card scheme's requirements.
Note
This is your last chance to submit evidence for the dispute. However, if the dispute proceeds to arbitration, any evidence you upload with this request is ignored.
You cannot cancel a pre-arbitration.
post
https://api.checkout.com/issuing/disputes/{disputeId}/escalate
1{2"additional_evidence": [3{4"name": "evidence.pdf",5"content": "string",6"description": "Goods were not received."7}8],9"amount": 80,10"justification": "string"11}
If successful, Checkout.com sends the pre-arbitration to the card scheme for processing.
Check the status
and status_reason
using the API or the Dispute Lifecycle Report. See Pre-arbitration statuses.
When the scheme processes the pre-arbitration, you receive an Issuing pre-arbitration processed webhook.
If the merchant rejects pre-arbitration, review their evidence. You can then choose to escalate to arbitration from the card scheme. The scheme's decision is final and the funds go to the winning party.
Your time limit for submitting your request is within 75 days after the representment date, except for dispute reason codes 4808
and 4834
for which the limit is 45 days.
Note
- Arbitrations can take a long time to resolve. The costs may outweigh the disputed amount and are debited from the losing party.
- You cannot cancel an arbitration.
- The card scheme ignores any
additional_evidence
you upload at this stage.
Call the Escalate an issuing dispute endpoint, and provide the following:
{disputeId}
path parameter – The unique identifier for the dispute – for example,idsp_fa6psq242dcd6fdn5gifcq1491
Cko-Idempotency-Key
header – Your idempotency key
Optionally, you can update the disputed amount
or justification
fields.
post
https://api.checkout.com/issuing/disputes/{disputeId}/escalate
1{2"amount": 100,3"justification": "string"4}
If successful, Checkout.com sends the arbitration to the card scheme for processing.
Check the status
and status_reason
using the API or the Dispute Lifecycle Report. See Arbitration statuses.