openapi: 3.1.0 info: version: '6' x-publicVersion: true title: Adyen Account acceptDispute Reversals API description: "This API is used for the classic integration. If you are just starting your implementation, refer to our [new integration guide](https://docs.adyen.com/marketplaces-and-platforms) instead.\n\nThe Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and verification-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/marketplaces-and-platforms/classic).\n## Authentication\nYour Adyen contact will provide your API credential and an API key. To connect to the API, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using basic authentication. For example:\n\n```\ncurl\n-U \"ws@MarketPlace.YOUR_PLATFORM_ACCOUNT\":\"YOUR_WS_PASSWORD\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nWhen going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder\n```" x-timestamp: '2023-05-30T15:27:20Z' termsOfService: https://www.adyen.com/legal/terms-and-conditions contact: name: Adyen Developer Experience team url: https://github.com/Adyen/adyen-openapi servers: - url: https://cal-test.adyen.com/cal/services/Account/v6 tags: - name: Reversals paths: /payments/{paymentPspReference}/reversals: post: tags: - Reversals summary: Adyen Refund or Cancel a Payment description: '[Refunds](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/refunds) a payment if it has already been captured, and [cancels](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/cancels) a payment if it has not yet been captured. Returns a unique reference for this request. You get the outcome of the request asynchronously, in a [**CANCEL_OR_REFUND** webhook](https://docs.adyen.com/online-payments/reverse#cancel-or-refund-webhook). The reversed amount is always the full payment amount. > Do not use this request for payments that involve multiple partial captures. For more information, refer to [Reversal](https://docs.adyen.com/online-payments/reversal).' operationId: post-payments-paymentPspReference-reversals x-sortIndex: 5 x-methodName: refundOrCancelPayment security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: examples: reversal: $ref: '#/components/examples/post-payments-paymentPspReference-reversals-reversal' schema: $ref: '#/components/schemas/PaymentReversalRequest' parameters: - description: 'The [`pspReference`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments__resParam_pspReference) of the payment that you want to reverse. ' name: paymentPspReference in: path required: true schema: type: string - $ref: '#/components/parameters/Idempotency-Key' responses: '201': content: application/json: examples: reversal: $ref: '#/components/examples/post-payments-paymentPspReference-reversals-reversal-201' schema: $ref: '#/components/schemas/PaymentReversalResponse' description: Created - the request has been fulfilled and has resulted in one or more new resources being created. headers: Idempotency-Key: $ref: '#/components/headers/Idempotency-Key' '400': content: application/json: examples: generic: $ref: '#/components/examples/generic-400' schema: $ref: '#/components/schemas/ServiceError' description: Bad Request - a problem reading or understanding the request. '401': content: application/json: examples: generic: $ref: '#/components/examples/generic-401' schema: $ref: '#/components/schemas/ServiceError' description: Unauthorized - authentication required. '403': content: application/json: examples: generic: $ref: '#/components/examples/generic-403' schema: $ref: '#/components/schemas/ServiceError' description: Forbidden - insufficient permissions to process the request. '422': content: application/json: examples: generic: $ref: '#/components/examples/generic-422' schema: $ref: '#/components/schemas/ServiceError' description: Unprocessable Entity - a request validation error. headers: Idempotency-Key: $ref: '#/components/headers/Idempotency-Key' '500': content: application/json: examples: generic: $ref: '#/components/examples/generic-500' schema: $ref: '#/components/schemas/ServiceError' description: Internal Server Error - the server could not process the request. x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: ApplicationInfo: properties: adyenLibrary: description: Adyen-developed software, such as libraries and plugins, used to interact with the Adyen API. For example, Magento plugin, Java API library, etc. $ref: '#/components/schemas/CommonField' adyenPaymentSource: description: Adyen-developed software to get payment details. For example, Checkout SDK, Secured Fields SDK, etc. $ref: '#/components/schemas/CommonField' externalPlatform: description: Third-party developed platform used to initiate payment requests. For example, Magento, Zuora, etc. $ref: '#/components/schemas/ExternalPlatform' merchantApplication: description: Merchant developed software, such as cashier application, used to interact with the Adyen API. $ref: '#/components/schemas/CommonField' merchantDevice: description: Merchant device information. $ref: '#/components/schemas/MerchantDevice' shopperInteractionDevice: description: Shopper interaction device, such as terminal, mobile device or web browser, to initiate payment requests. $ref: '#/components/schemas/ShopperInteractionDevice' type: object CommonField: properties: name: description: Name of the field. For example, Name of External Platform. type: string version: description: Version of the field. For example, Version of External Platform. type: string type: object ShopperInteractionDevice: properties: locale: description: Locale on the shopper interaction device. type: string os: description: Operating system running on the shopper interaction device. type: string osVersion: description: Version of the operating system on the shopper interaction device. type: string type: object MerchantDevice: properties: os: description: Operating system running on the merchant device. type: string osVersion: description: Version of the operating system on the merchant device. type: string reference: description: Merchant device reference. type: string type: object PaymentReversalRequest: properties: applicationInfo: description: Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions). $ref: '#/components/schemas/ApplicationInfo' merchantAccount: description: The merchant account that is used to process the payment. type: string reference: description: 'Your reference for the reversal request. Maximum length: 80 characters.' type: string required: - merchantAccount type: object PaymentReversalResponse: properties: merchantAccount: description: The merchant account that is used to process the payment. type: string paymentPspReference: description: 'The [`pspReference`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments__resParam_pspReference) of the payment to reverse. ' type: string pspReference: description: Adyen's 16-character reference associated with the reversal request. type: string reference: description: Your reference for the reversal request. type: string status: description: The status of your request. This will always have the value **received**. enum: - received type: string required: - status - merchantAccount - pspReference - paymentPspReference type: object ServiceError: properties: additionalData: x-addedInVersion: '46' additionalProperties: type: string description: Contains additional information about the payment. Some data fields are included only if you select them first. Go to **Customer Area** > **Developers** > **Additional data**. type: object errorCode: description: The error code mapped to the error message. type: string errorType: description: The category of the error. type: string message: description: A short explanation of the issue. type: string pspReference: description: The PSP reference of the payment. type: string status: description: The HTTP response status. format: int32 type: integer type: object ExternalPlatform: properties: integrator: description: External platform integrator. type: string name: description: Name of the field. For example, Name of External Platform. type: string version: description: Version of the field. For example, Version of External Platform. type: string type: object parameters: Idempotency-Key: description: A unique identifier for the message with a maximum of 64 characters (we recommend a UUID). example: 37ca9c97-d1d1-4c62-89e8-706891a563ed name: Idempotency-Key in: header schema: type: string examples: generic-500: summary: Response code 500. Internal server error. value: status: 500 errorCode: '905' message: Payment details are not supported errorType: configuration pspReference: '8516091485743033' post-payments-paymentPspReference-reversals-reversal: summary: Reverse (cancel or refund) a payment description: Example request to reverse a payment value: reference: YOUR_UNIQUE_REFERENCE merchantAccount: YOUR_MERCHANT_ACCOUNT generic-401: summary: Response code 401. Unauthorized. value: status: 401 errorCode: '000' message: HTTP Status Response - Unauthorized errorType: security post-payments-paymentPspReference-reversals-reversal-201: summary: Payment reversal requested description: Example response when a payment reversal was requested value: merchantAccount: YOUR_MERCHANT_ACCOUNT paymentPspReference: 993617894903480A reference: YOUR_UNIQUE_REFERENCE pspReference: 993617894906488A status: received generic-400: summary: Response code 400. Bad request. value: status: 400 errorCode: '702' message: 'Unexpected input: ", expected: }' errorType: validation generic-403: summary: Response code 403. Forbidden. value: status: 403 errorCode: '901' message: Invalid Merchant Account errorType: security pspReference: 881611827877203B generic-422: summary: Response code 422. Unprocessable entity. value: status: 422 errorCode: '14_030' message: Return URL is missing. errorType: validation pspReference: '8816118280275544' headers: Idempotency-Key: description: The idempotency key used for processing the request. Present if the key was provided in the request. schema: type: string securitySchemes: ApiKeyAuth: in: header name: X-API-Key type: apiKey BasicAuth: scheme: basic type: http x-groups: - Account holders - Accounts - Verification