If your cardholder has a dispute based on non-delivery of goods or services, and they've made efforts to contact the merchant responsible for providing those goods or services without resolution, they can raise a dispute.
Raise a dispute for non-delivery
-
Find the transaction ID for which you want to raise the dispute.
You can find a transaction ID in one of the following locations:- within the Balance Platform Accounting Report
- from the Balance Platform Customer Area
- from Transfer webhooks
-
Make a POST /disputes request, specifying the following parameters:
Parameter Required Type Description description no string Your description for the dispute. The description appears in dispute webhooks as pass-through information. Do not include any personally-identifiable information (PII) in this field. Maximum length, 50 characters. disputedAmount no object The amount for which you dispute the transaction. The disputed amount cannot be greater than the transaction amount. If you do not provide an amount, the entire transaction amount will be disputed. disputedAmount.currency yes string The three-character ISO currency code. Required if the disputedAmount
object is included with the dispute.disputedAmount.value yes integer The amount of the transaction, in minor units. Required if the disputedAmount
object is included with the dispute.notDeliveredInfo yes object The object containing additional information for raising a dispute of type
notDelivered. Required for disputes oftype
notDelivered.notDeliveredInfo.dateOfCancellation no string The date the undelivered goods or services were cancelled in YYYY-MM-DD format. notDeliveredInfo.descriptionOfIssue yes string Your description of the issue for raising a dispute of type
notDelivered. Maximum length, 2500 characters.notDeliveredInfo.lastExpectedDate yes string The date the merchandise or service was expected to be delivered in YYYY-MM-DD format. notDeliveredInfo.whatWasNotDelivered yes string The type of product that you expected to receive. Possible values: goods, services. notDeliveredInfo.whoCancelled no string The party that initiated the cancellation of the transaction. Possible values: merchant, cardholder. transactionId yes string The unique reference of the transaction for which you are raising the dispute. type yes string The type of the dispute. Possible values: notDelivered, fraud. -
Make a note of the dispute id in the response. You need this ID to provide supporting information as an attachment, update the dispute, submit the dispute for non-delivery of goods or services, close the dispute, or follow the lifecycle of the dispute.
The response includes the following additional parameters:
Parameter Type Description arn string The unique Acquirer Reference Number (arn) generated by the card scheme for each capture. You can use the arn to trace the transaction through its lifecycle. id string The unique identifier of the raised dispute. status string The current status of the dispute. You can update a dispute to submitted or closed. Possible values: draft, submitted, closed, won, chargeback, secondChargeback. Adyen sends a balancePlatform.dispute.created webhook to your server for the dispute with a status of draft.
Upload attachments (optional)
We recommend that your cardholder upload supporting documentation, such as receipts, communication with a merchant, or any additional documents that would help the card scheme when they are reviewing the dispute.
-
Make a POST /disputes/{disputeId}/attachments request, specifying the disputeId as a path parameter and the following request parameters.
Parameter name Type Required Description attachmentType string yes The type of information contained in the attachment.
Possible values:- receipt
- correspondence
- other
fileName string yes The name of the attachment, including its filename extension. Minimum length: four characters, Maximum length: 17 characters, including the extension type.
Supported filename extensions:- jpeg
- tiff
- airfare24_03.jpeg
- hotel24_0315.jpeg
content string yes The content of the image. An attachment must be Base64-encoded data. -
In the response, note the attachmentId. You may need the ID if you want to later get the attachment, or delete the attachment.
Parameter name Type Description attachmentId string The unique identifier of the attachment.
Review the dispute
Present the details of the dispute to your cardholder. This allows the cardholder time to make sure they have captured all information correctly before they submit the dispute to the card scheme to review.
-
Make a
GET /disputes/{id}
request, specifying the disputeid
as a request parameter.
Edit dispute details (optional)
If the cardholder wants to make any changes to the information they provided in their dispute, you can make a request to update the dispute.
-
To update information in your dispute, make a PATCH /disputes/{id} request, specifying the dispute id as a path parameter, and supplying updated information in the following request parameters:
You do not have to provide the complete dispute object in your PATCH request.
Parameter Type Description notDeliveredInfo object The object containing additional information for raising a dispute of type
notDelivered. Required for disputes oftype
notDelivered.notDeliveredInfo.dateOfCancellation string The date the undelivered goods or services were cancelled in YYYY-MM-DD format. notDeliveredInfo.descriptionOfIssue string Your description of the issue for raising a dispute of type
notDelivered. Maximum length, 2500 characters.notDeliveredInfo.lastExpectedDate string The date the merchandise or service was expected to be delivered in YYYY-MM-DD format. notDeliveredInfo.whatWasNotDelivered string The type of product that you expected to receive. Possible values: goods, services. notDeliveredInfo.whoCancelled string The party that initiated the cancellation of the transaction. Possible values: merchant, cardholder. status string The status of the dispute. You can update the status of a raised dispute from draft to submitted or closed. Possible values: submitted, closed. -
Present the updated dispute details from the response to your cardholder.
Submit the dispute
If your cardholder is satisfied with the information they provided for the dispute, they can submit the dispute to the card scheme for review and a chargeback, if successful.
When you submit a dispute to the card scheme, you can no longer update the dispute, upload or delete attachments, or close the dispute.
-
Make a PATCH /disputes/{id} request, specifying the dispute id as a path parameter, and include status with a value of submitted as a request parameter.
-
A successful response includes the dispute object, with an updated status of submitted. Adyen also sends your system a balancePlatform.dispute.updated webhook with the updated status.
-
Notify your cardholder that they have successfully submitted their dispute.
Process webhooks for status changes
-
Process balancePlatform.dispute.updated webhooks, looking for changes in the status of your raised dispute.
-
If the
status
of a dispute changes to chargeback or secondChargeback, inspect balancePlatform.transfer.created webhooks for the matching Acquirer Reference Number (arn), and reconcile balances for the cardholder's balance account.Lifecycle of a raised dispute describes in more detail how status changes for disputes are communicated to your system through Adyen webhooks, and how balance mutations are recorded in the Balance Platform Accounting Report.