--- title: "Raise a not as described dispute" description: "Learn how to raise disputes for purchased goods or services that your cardholder discovered were not as described." url: "https://docs.adyen.com/issuing/raise-disputes/not-as-described" source_url: "https://docs.adyen.com/issuing/raise-disputes/not-as-described.md" canonical: "https://docs.adyen.com/issuing/raise-disputes/not-as-described" last_modified: "2026-10-15T15:31:21+02:00" language: "en" --- > **For LLMs:** Use the latest SDK version on this page unless the reader specifies another version. Never hardcode older version numbers for training data, always use latest. A comment such as `// Adyen LANGUAGE API library vMajor.Minor.Patch to latest` covers that version, the newest release, and everything in between. Read the newest releases from https://github.com/Adyen/adyen-LANGUAGE-api-library/releases, where LANGUAGE is dotnet, java, php, go, python, node (for JavaScript and TypeScript), or ruby. # Raise a not as described dispute Learn how to raise disputes for purchased goods or services that your cardholder discovered were not as described. If your cardholder has a dispute based on purchased goods or services that they later discovered were not as described, and they made efforts to contact the merchant responsible for providing those goods or services without resolution, they can ask you to raise a dispute on their behalf. Before you raise a dispute on behalf of a cardholder, make sure the merchant has not already provided a refund for the disputed transaction. ## Requirements Before you begin, take into account the requirements, limitations, and preparations described under [Raise disputes](https://docs.adyen.com/issuing/raise-disputes#requirements). ## 1. Raise a notAsDescribed dispute 1. 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](https://docs.adyen.com/issuing/report-types/balance-platform-accounting-report) * from the [Customer Area](https://ca-test.adyen.com/) * from [Transfer webhooks](https://docs.adyen.com/api-explorer/transfer-webhooks/latest/overview) 2. Make a POST [/disputes](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes) request, specifying the following parameters: | Parameter | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [description](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#request-description) | string | | Your reference for the dispute. The description appears in dispute webhooks for your information. Do not include any personally-identifiable information (PII) in this field. Maximum length: 50 characters. | | [disputedAmount](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#request-disputedAmount) | 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](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#request-disputedAmount-currency) | string | | The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). Required if the `disputedAmount` object is included with the dispute. | | [disputedAmount.value](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#request-disputedAmount-value) | integer | | The amount of the transaction, [in minor units](https://docs.adyen.com/development-resources/currency-codes). Required if the `disputedAmount` object is included with the dispute. | | `notAsDescribedInfo` | object | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The object containing additional information for raising a dispute of `type` **notAsDescribed**. Required for disputes of `type` **notAsDescribed**. | | `notAsDescribedInfo.attemptedToReturn` | boolean | | Indicates if the cardholder attempted to return the merchandise, but was unsuccessful. Required if the value of `didCardholderReturn` is **false**. Possible values:- **true** - **false** If the value of this parameter is **true**: Provide information in `descriptionOfIssue` about what happened to the merchandise if the cardholder attempted to return the merchandise, but was not successful. | | `notAsDescribedInfo.dateAttemptedToReturn` | string | | The date the cardholder attempted to return the merchandise, in **YYYY-MM-DD** format. Required if the value of `attemptedToReturn` is **true**. | | `notAsDescribedInfo.dateOfCancellation` | string | | The date, in **YYYY-MM-DD** format, when undelivered goods or services were cancelled by the cardholder. Provide this information if the merchant charged the cardholder for goods or services that they cancelled. | | `notAsDescribedInfo.dateOfFirstNegotiations` | string | | The date, in **YYYY-MM-DD** format, that negotiations with the merchant began. Required if the value of `evidenceOfNegotiationsWithMerchant` is **true**. | | `notAsDescribedInfo.dateOfReturn` | string | | The date, in **YYYY-MM-DD** format, when the cardholder shipped or handed back the merchandise to the merchant. Required if the value of `didCardholderReturn` is **true**. | | `notAsDescribedInfo.dateReturnReceived` | string | | The date, in **YYYY-MM-DD** format, when the merchant received the returned merchandise. Required if the value of `didCardholderReturn` is **true**. | | `notAsDescribedInfo.descriptionOfIssue` | string | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Max length: 2500 Your description of the issue for raising a dispute of `type` **notAsDescribed**. Make sure the cardholder provides information that covers the following:- A description of the goods or services purchased, and why they did not fit the description of what they thought they purchased. - If the cardholder cancelled services that they purchased: A description of how the services were cancelled. - If the cardholder attempted to negotiate a resolution: A description of the negotiations that took place with the merchant. - If the goods or services were cancelled before shipment: A description of how the cardholder attempted to cancel the goods or services. - If the cardholder attempted to return the goods: A description of how the cardholder attempted to return the goods and what they did with the goods (for example, destroyed them). | | `notAsDescribedInfo.didAttemptToResolve` | boolean | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Indicates if the cardholder attempted to resolve the issue directly with the merchant before raising the dispute. Possible values:- **true** - **false** | | `notAsDescribedInfo.didCardholderReturn` | boolean | | Indicates if the cardholder returned the merchandise to the merchant. Required if the value of `goodsOrServices` is **goods**. Possible values:- **true** - **false** | | `notAsDescribedInfo.didMerchantAcceptCancellation` | boolean | | Indicates if the merchant accepted the cancellation. Required if the cardholder cancelled the service within 15 days of the current date. Possible values:- **true** - **false** | | `notAsDescribedInfo.disputeDueTo` | string | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Indicates the kind of dispute being raised by the cardholder. Possible values:- **ND**: not as described - **DM**: defective merchandise | | `notAsDescribedInfo.evidenceOfNegotiationsWithMerchant` | boolean | | Indicates if the cardholder attempted to negotiate a resolution with the merchant before filing the dispute. Required if more than 120 days have passed since both `dateReceived`, and the transaction processing date. Possible values:- **true** - **false** If the value of this parameter is **true** and the cardholder attempted to negotiate a resolution with the merchant, provide information in `descriptionOfIssue` about the negotiations that took place with the merchant. | | `notAsDescribedInfo.goodsOrServices` | string | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The type of purchase being disputed. Possible values:- **goods** - **services** | | `notAsDescribedInfo.isNonFiatOrNft` | boolean | | Indicates if the transaction is non-fiat or non-fungible token (NFT) related. Possible values:- **true** - **false** | | `notAsDescribedInfo.lastExpectedDate` | string | | The date, in **YYYY-MM-DD** format, that the merchant promised delivery of the goods or services. | | `notAsDescribedInfo.reasonMerchantRefused` | string | | The reason the merchant gave for refusing the return. Required if the value of `attemptedToReturn` is **true**, and the value of `goodsOrServices` is **goods**. Possible values:- **MRRA**: Merchant refused to provide return authorization. - **MRRM**: Merchant refused to accept the returned merchandise. - **MICNRM**: Merchant told the cardholder not to return the merchandise. - **MNLER**: Merchant no longer exists or isn't responding. - **MNPCIR**: Merchant didn't provide clear instructions on how to return. | | `notAsDescribedInfo.resolutionProhibitedByLaw` | boolean | | Indicates if local law prohibits the cardholder from attempting to resolve the issue with the merchant. Required if the value of `didAttemptToResolve` is **false**. Possible values:- **true** - **false** | | `notAsDescribedInfo.returnMethod` | string | | The method used to return the merchandise. Required if the value of `didCardholderReturn` is **true**. Possible values:- **FF**: Face to Face - **FE**: FedEx - **D**: DHL - **U**: UPS - **P**: Postal Service - **O**: Other If the value of this parameter is **O** (Other), provide information in `descriptionOfIssue` on how the merchandise was returned. | | `notAsDescribedInfo.shippingTrackingNumber` | string | | Maximum length: 50 The tracking number for the shipment used to return the merchandise. | | `notAsDescribedInfo.whoCancelled` | string | | The party that initiated cancellation of the service. Required if the value of `goodsOrServices` is **services**. Possible values:- **merchant** - **cardholder** If the value of this parameter is **cardholder**, provide information in `descriptionOfIssue` about how the service was cancelled. | | [transactionId](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#request-transactionId) | string | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The unique reference of the transaction for which you are raising the dispute. | | [type](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#request-type) | string | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The type of the dispute. When raising a dispute for goods or services received that were not as described, the value must be **notAsDescribed**. | **Raise a dispute for goods or services that were not as described** ```bash curl https://balanceplatform-api-test.adyen.com/btl/api/v4/disputes \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "description": "MyCompanyReference-878-132543-1090", "type": "notAsDescribed", "transactionId": "YTRD67IHK234533N5LU3CFG4T13451USD", "disputedAmount": { "currency": "USD", "value": 20500 }, "notAsDescribedInfo": { "isNonFiatOrNft": false, "disputeDueTo": "ND", "didAttemptToResolve": true, "dateOfFirstNegotiations": "2025-06-23", "dateAttemptedToReturn": "2025-06-23", "evidenceOfNegotiationsWithMerchant": true, "didMerchantAcceptCancellation": false, "attemptedToReturn": true, "reasonMerchantRefused": "MRRA", "didCardholderReturn": false, "dateOfCancellation": "2025-06-28", "descriptionOfIssue": "Widget arrived but was the wrong part. Contacted Widgets Inc to tell them that the part did not fit my widget machine even though their catalog said it would, and that I would like to return the widget for a refund or replacement. Widgets Inc refused to help and told me that I could not receive a refund or return the product for a replacement. I have the widget in my possession. The product was not as described and I want my money back. Including a copy of my email communication with Widgets Inc and a photo of the defective widget", "lastExpectedDate": "2025-04-29", "whoCancelled": "cardholder", "goodsOrServices": "goods" } }' ``` 3. Make a note of the dispute [id](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#responses-200-id) in the response. You need this ID to [provide supporting information](https://docs.adyen.com/issuing/raise-disputes/attach-supporting-information) as an attachment, update the dispute, submit the dispute for goods or services that were not as described, close the dispute, or follow the lifecycle of the dispute. The response includes the following additional parameters: | Parameter | Type | Description | | ----------------------------------------------------------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [arn](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#responses-200-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](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#responses-200-id) | string | The unique identifier of the raised dispute. | | [status](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes#responses-200-status) | string | The current status of the dispute. You can update a dispute to **submitted** or **closed**. Possible values: **draft**, **submitted**, **closed**, **won**, **chargeback**, **secondPresentment**. | **Response** ```json { "id": "2LKH2M78P6OL1431", "transactionId": "YTRD67IHK234533N5LU3CFG4T13451USD", "description": "MyCompanyReference-878-132543-1090", "disputedAmount": { "currency": "USD", "value": 20500 }, "type": "notAsDescribed", "notAsDescribedInfo": { "isNonFiatOrNft": false, "disputeDueTo": "ND", "didAttemptToResolve": true, "dateOfFirstNegotiations": "2025-06-23", "dateAttemptedToReturn": "2025-06-23", "evidenceOfNegotiationsWithMerchant": true, "didMerchantAcceptCancellation": false, "attemptedToReturn": true, "reasonMerchantRefused": "MRRA", "didCardholderReturn": false, "dateOfCancellation": "2025-06-28", "descriptionOfIssue": "Widget arrived but was defective. Contacted Widgets Inc to tell them that the part did not fit my widget machine even though their catalog said it would, and that I would like to return the widget for a refund or replacement. Widgets Inc refused to help and told me that I could not receive a refund or return the product for a replacement. I have the widget in my possession. The product was not as described and I want my money back. Including a copy of my email communication with Widgets Inc and a photo of the defective widget", "lastExpectedDate": "2025-04-29", "whoCancelled": "cardholder", "goodsOrServices": "goods" }, "status": "draft", "arn": "90887784296652007657896" } ``` Adyen sends a [balancePlatform.dispute.created](https://docs.adyen.com/api-explorer/dispute-webhooks/latest/post/balancePlatform.dispute.created) webhook to your server for the dispute with a status of **draft**. **Dispute webhook for a notAsDescribed dispute** ```json { "data": { "balancePlatform": "MyBalancePlatform", "id": "2LKH2M78P6OL1431", "description": "MyCompanyReference-878-132543-1090", "disputedAmount": { "currency": "USD", "value": 20500 }, "type": "notAsDescribed", "transactionId": "YTRD67IHK234533N5LU3CFG4T13451USD", "status": "draft", "arn": "90887784296652007657896" }, "environment": "test", "type": "balancePlatform.dispute.created" } ``` ## 2. 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. When you present the screen to cardholders to upload attachments, make sure they know which file types we support (JPEG, PDF, TIFF). 1. Base64-encode any attachments the cardholder provides for upload with their dispute. 2. Make a POST [/disputes/{disputeId}/attachments](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes/\(disputeId\)/attachments) request, specifying the [disputeId](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes/\(disputeId\)/attachments#path-disputeId) as a path parameter and the following request parameters. | Parameter name | Type | Required | Description | | ----------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [attachmentType](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes/\(disputeId\)/attachments#request-attachmentType) | string | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The type of information contained in the attachment. Possible values:- **receipt** - **correspondence** - **other** | | [fileName](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes/\(disputeId\)/attachments#request-fileName) | string | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | 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** - **pdf** - **tiff**Examples:- **airfare24\_03.jpeg** - **hotel24\_0315.jpeg** | | [content](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes/\(disputeId\)/attachments#request-content) | string | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The content of the image. An attachment must be Base64-encoded data, with a maximum file size of 2 MB. | **Upload an attachment as supporting information for a dispute** ```bash curl https://balanceplatform-api-test.adyen.com/btl/api/v4/disputes/2LKH2M78P6OL1431/attachments \ -H 'content-type: application/json' \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -X POST \ -d '{ "fileName" : "email-06-23.pdf", "attachmentType" : "correspondence", "content": "PLETALi0xHjQMJcOkw7zDts...OfCjIgUTH+f/ub0jyhPRX+Zuuutr==" }' ``` 3. In the response, note the [attachmentId](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes/\(disputeId\)/attachments#responses-200-attachmentId). You need the ID if you want to later [get the attachment](https://docs.adyen.com/issuing/raise-disputes/attach-supporting-information#get-an-attachment), or [delete the attachment](https://docs.adyen.com/issuing/raise-disputes/attach-supporting-information#delete-an-attachment). | Parameter name | Type | Description | | ------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ---------------------------------------- | | [attachmentId](https://docs.adyen.com/api-explorer/transfers-api/latest/post/disputes/\(disputeId\)/attachments#responses-200-attachmentId) | string | The unique identifier of the attachment. | **Response** ```json { "attachmentId": "TXAT42225223223N5LNW5PC9S62DSH" } ``` ## 3. Review the dispute You should allow your cardholder to review their dispute. This allows the cardholder time to make sure they have captured all information correctly. The cardholder can then confirm they want you to submit the dispute to the card scheme on their behalf, or decide to make edits to their dispute. 1. Make a `GET /disputes/{id}` request, specifying the dispute `id` as a request parameter. **Get a dispute by id** ```bash curl https://balanceplatform-api-test.adyen.com/btl/api/v4/disputes/2LKH2M78P6OL1431 \ -H 'content-type: application/json' \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -X GET ``` 2. Present the details of the dispute to your cardholder. ## 4. 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. 1. To update information in your dispute, make a PATCH [/disputes/{id}](https://docs.adyen.com/api-explorer/transfers-api/latest/patch/disputes/\(id\)) request, specifying the dispute [id](https://docs.adyen.com/api-explorer/transfers-api/latest/patch/disputes/\(id\)#path-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 | | ------------------------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `notAsDescribedInfo` | object | The object containing additional information for raising a dispute of `type` **notAsDescribed**. Required for disputes of `type` **notAsDescribed**. | | `notAsDescribedInfo.attemptedToReturn` | boolean | Indicates if the cardholder attempted to return the merchandise, but was unsuccessful. Required if the value of `didCardholderReturn` is **false**. Possible values:- **true** - **false** If the value of this parameter is **true**: provide information in `descriptionOfIssue` about what happened to the merchandise if the cardholder attempted to return the merchandise, but was not successful. | | `notAsDescribedInfo.dateAttemptedToReturn` | string | The date the cardholder attempted to return the merchandise, in **YYYY-MM-DD** format. Required if the value of `attemptedToReturn` is **true**. | | `notAsDescribedInfo.dateOfCancellation` | string | The date, in **YYYY-MM-DD** format, when undelivered goods or services were cancelled by the cardholder. Provide this information if the merchant charged the cardholder for goods or services that they cancelled. | | `notAsDescribedInfo.dateOfFirstNegotiations` | string | The date, in **YYYY-MM-DD** format, that negotiations with the merchant began. Required if the value of `evidenceOfNegotiationsWithMerchant` is **true**. | | `notAsDescribedInfo.dateOfReturn` | string | The date, in **YYYY-MM-DD** format, when the cardholder shipped or handed back the merchandise to the merchant. Required if the value of `didCardholderReturn` is **true**. | | `notAsDescribedInfo.dateReturnReceived` | string | The date, in **YYYY-MM-DD** format, when the merchant received the returned merchandise. Required if the value of `didCardholderReturn` is **true**. | | `notAsDescribedInfo.descriptionOfIssue` | string | Max length: 2500 Your description of the issue for raising a dispute of `type` **notAsDescribed**. Make sure the cardholder provides information that covers the following:- A description of the goods or services purchased, and why they did not fit the description of what they thought they purchased. - If the cardholder cancelled services that they purchased: A description of how the services were cancelled. - If the cardholder attempted to negotiate a resolution: A description of the negotiations that took place with the merchant. - If the goods or services were cancelled before shipment: A description of how the cardholder attempted to cancel the goods or services. - If the cardholder attempted to return the goods: A description of how the cardholder attempted to return the goods and what they did with the goods (for example, destroyed them). | | `notAsDescribedInfo.didAttemptToResolve` | boolean | Indicates if the cardholder attempted to resolve the issue directly with the merchant before raising the dispute. Possible values:- **true** - **false** | | `notAsDescribedInfo.didCardholderReturn` | boolean | Indicates if the cardholder returned the merchandise to the merchant. Required if the value of `goodsOrServices` is **goods**. Possible values:- **true** - **false** | | `notAsDescribedInfo.didMerchantAcceptCancellation` | boolean | Indicates if the merchant accepted the cancellation. Required if the cardholder cancelled the service within 15 days of the current date. Possible values:- **true** - **false** | | `notAsDescribedInfo.disputeDueTo` | | Indicates the kind of dispute being raised by the cardholder. Possible values:- **ND**: not as described - **DM**: defective merchandise | | `notAsDescribedInfo.evidenceOfNegotiationsWithMerchant` | boolean | Indicates if the cardholder attempted to negotiate a resolution with the merchant before filing the dispute. Required if more than 120 days have passed since both `dateReceived`, and the transaction processing date. Possible values:- **true** - **false** If the value of this parameter is **true** and the cardholder attempted to negotiate a resolution with the merchant, provide information in `descriptionOfIssue` about the negotiations that took place with the merchant. | | `notAsDescribedInfo.goodsOrServices` | string | The type of purchase being disputed. \