Skip to main content

Create a dispute

PUT /dispute
{
"currency"*: "string",
"notification_date"*: "string",
"operation"*: "string",
"has_refund": boolean,
"amount"*: number,
"payment_processor"*: {
"solution"*: "string",
"provider": "string"
},
"reason"*: "string",
"payment"*: {
"currency": "string",
"id"*: "string",
"external_id": "string",
"date": "string",
"card"*: {
"brand"*: "string",
"holder": "string"
},
"is_3d_secure": boolean,
"amount": number
},
"company": {
"name": "string",
"email": "string",
"address": "string",
"url": "string",
"privacy_term_url": "string",
"policy_term_url": "string",
"product": "string",
"registration_number": "string"
},
"external_url": "string",
"customer": {
"name": "string",
"email": "string",
"ip": "string"
},
"dispute_id": "string",
"custom": {
"additionalProp1": {
"label": "string",
"value": "string"
},
"additionalProp2": {
"label": "string",
"value": "string"
},
"additionalProp3": {
"label": "string",
"value": "string"
}
}
}
info

All properties marked with * are mandatory.

If you send the same request twice, it doesn't create a duplicate.

Sending the same request several times and adding data to each request won't generate duplicates. Instead, it will update the dispute.

You can identify a dispute by the account associated with your API Key, the notification date, and the payment ID. If you keep those data immutable, any request with different data will result in an update of the already existing dispute.


Here is a description of each field and additional restrictions (if applicable).

FieldDescriptionObservations
currency*The currency associated with the dispute.Has to be one of the currencies listed in Annex I.
notification_date*The date when the dispute was notified.Valid ISO8601 date format with year, month, date, hours, minutes, seconds, milliseconds, and timezone.
operation*The type of dispute.Allowed values are chargeback and retrieval.
has_refundWhether the dispute has been refunded or not.
amount*The amount associated with the dispute.Does not have to be the same as the payment amount. It has to be greater than 0.
payment_processor.solution*The payment solution associated with the dispute.
payment_processor.providerThe payment provider associated with the dispute.
reason*The dispute reason.This usually is referred to also as “Description”.
payment.currencyThe currency associated with the payment that originated the dispute.Has to be one of the currencies listed in Annex I. It can be a different currency than the one at the root of the document.
payment.id*The ID of the payment associated with the dispute.If you, for example, use the ID of the order to identify the payments. You can provide that ID here.
payment.external_idThe ID of the payment associated with the dispute in an external platform.If you want to provide the ID of the payment that the processor provides you, send it here.
payment.dateThe date when the payment associated with the dispute happened.Valid ISO8601 date format with year, month, date, hours, minutes, seconds, milliseconds, and timezone.
payment.card.brand*The card brand used in the payment associated with the dispute.
payment.card.holderThe cardholder of the payment associated with the dispute.
payment.is_3d_secureWhether the payment associated with the dispute was 3D secure or not.
payment.amountThe amount of the payment associated with the dispute.It can be a different amount than the one at the root of the document.
company.nameThe name of the company owning the dispute.
company.emalThe email of the company owning the dispute.
company.addressThe address of the company owning the dispute.
company.urlThe website of the company owning the dispute.
company.privacy_term_urlThe privacy policy URL of the company owning the dispute.
company.policy_term_urlThe terms and conditions document’s URL of the company owning the dispute.
company.productThe product purchased in the order that generated the dispute.
company.registration_numberThe registration number of the company owning the dispute.
external_urlAn URL to the dispute in the provider’s external CMS or backoffice.
customer.nameThe name of the customer who purchased the product.
customer.emailThe email of the customer who purchased the product.
customer.ipThe IP of the customer at the moment of purchasing the product.
dispute_idThe ID associated with the dispute.

The custom property is special. It allows you to pass extra data that is relevant to you. The only restriction is that each property you pass inside the custom object has to be an object containing the key label and value, both with string values.