openapi: 3.1.0
info:
version: '6'
x-publicVersion: true
title: Adyen Account acceptDispute Capture 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: Capture
paths:
/capture:
post:
tags:
- Capture
summary: Adyen Capture an Authorisation
description: 'Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it''s also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.
Payment methods that are captured automatically after authorisation don''t need to be captured. However, submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.
For more information refer to [Capture](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/capture).
> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/{paymentPspReference}/captures`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/{paymentPspReference}/captures) endpoint on Checkout API instead.
'
operationId: post-capture
x-sortIndex: 1
x-methodName: capture
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
capture:
$ref: '#/components/examples/post-capture-capture'
schema:
$ref: '#/components/schemas/CaptureRequest'
responses:
'200':
content:
application/json:
examples:
capture:
$ref: '#/components/examples/post-capture-capture-200'
schema:
$ref: '#/components/schemas/ModificationResult'
description: OK - the request has succeeded.
'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:
schema:
$ref: '#/components/schemas/ServiceError'
examples:
post-capture403Example:
summary: Default post-capture 403 response
x-microcks-default: true
value:
additionalData: {}
errorCode: CODE123
errorType: standard
message: example_value
pspReference: REF-001
status: 500
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
examples:
post-capture422Example:
summary: Default post-capture 422 response
x-microcks-default: true
value:
additionalData: {}
errorCode: CODE123
errorType: standard
message: example_value
pspReference: REF-001
status: 500
description: Unprocessable Entity - a request validation error.
'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:
examples:
generic-401:
summary: Response code 401. Unauthorized.
value:
status: 401
errorCode: '000'
message: HTTP Status Response - Unauthorized
errorType: security
generic-400:
summary: Response code 400. Bad request.
value:
status: 400
errorCode: '702'
message: 'Unexpected input: ", expected: }'
errorType: validation
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-capture-capture-200:
summary: Example response for request 'capture'
value:
pspReference: 861617892359057J
response: '[capture-received]'
post-capture-capture:
summary: Capture an authorised payment
value:
originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
modificationAmount:
value: 500
currency: EUR
reference: YOUR_REFERENCE
merchantAccount: YOUR_MERCHANT_ACCOUNT
schemas:
AdditionalDataRiskStandalone:
properties:
PayPal.CountryCode:
description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes.
type: string
PayPal.EmailId:
description: Shopper's email.
type: string
PayPal.FirstName:
description: Shopper's first name.
type: string
PayPal.LastName:
description: Shopper's last name.
type: string
PayPal.PayerId:
description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.'
type: string
PayPal.Phone:
description: Shopper's phone number.
type: string
PayPal.ProtectionEligibility:
description: 'Allowed values:
* **Eligible** — Merchant is protected by PayPal''s Seller Protection Policy for Unauthorized Payments and Item Not Received.
* **PartiallyEligible** — Merchant is protected by PayPal''s Seller Protection Policy for Item Not Received.
* **Ineligible** — Merchant is not protected under the Seller Protection Policy.'
type: string
PayPal.TransactionId:
description: Unique transaction ID of the payment.
type: string
avsResultRaw:
description: 'Raw AVS result received from the acquirer, where available. Example: D'
type: string
bin:
description: The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).
type: string
cvcResultRaw:
description: 'Raw CVC result received from the acquirer, where available. Example: 1'
type: string
riskToken:
description: Unique identifier or token for the shopper's card details.
type: string
threeDAuthenticated:
description: 'A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true'
type: string
threeDOffered:
description: 'A Boolean value indicating whether 3DS was offered for this payment. Example: true'
type: string
tokenDataType:
description: 'Required for PayPal payments only. The only supported value is: **paypal**.'
type: string
type: object
AdditionalDataLodging:
properties:
lodging.checkInDate:
description: 'The arrival date.
* Date format: **yyyyMmDd**. For example, for 2023 April 22, **20230422**.'
type: string
lodging.checkOutDate:
description: 'The departure date.
* Date format: **yyyyMmDd**. For example, for 2023 April 22, **20230422**.'
type: string
lodging.customerServiceTollFreeNumber:
description: 'The toll-free phone number for the lodging.
* Format: numeric
* Max length: 17 characters.
* For US and CA numbers must be 10 characters in length
* Must not start with a space
* Must not contain any special characters such as + or -
*Must not be all zeros.'
type: string
lodging.fireSafetyActIndicator:
description: 'Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Must be ''Y'' or ''N''.
* Format: alphabetic
* Max length: 1 character'
type: string
lodging.folioCashAdvances:
description: 'The folio cash advances, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters'
type: string
lodging.folioNumber:
description: 'The card acceptor’s internal invoice or billing ID reference number.
* Max length: 25 characters.
* Must not start with a space
*Must not be all zeros.'
type: string
lodging.foodBeverageCharges:
description: 'Any charges for food and beverages associated with the booking, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters'
type: string
lodging.noShowIndicator:
description: "Indicates if the customer didn't check in for their booking.\n Possible values: \n* **Y**: the customer didn't check in \n* **N**: the customer checked in"
type: string
lodging.prepaidExpenses:
description: 'The prepaid expenses for the booking.
* Format: numeric
* Max length: 12 characters'
type: string
lodging.propertyPhoneNumber:
description: 'The lodging property location''s phone number.
* Format: numeric.
* Min length: 10 characters
* Max length: 17 characters
* For US and CA numbers must be 10 characters in length
* Must not start with a space
* Must not contain any special characters such as + or -
*Must not be all zeros.'
type: string
lodging.room1.numberOfNights:
description: 'The total number of nights the room is booked for.
* Format: numeric
* Must be a number between 0 and 99
* Max length: 4 characters'
type: string
lodging.room1.rate:
description: 'The rate for the room, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters
* Must not be a negative number'
type: string
lodging.totalRoomTax:
description: 'The total room tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters
* Must not be a negative number'
type: string
lodging.totalTax:
description: 'The total tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters
* Must not be a negative number'
type: string
travelEntertainmentAuthData.duration:
description: 'The number of nights. This should be included in the auth message.
* Format: numeric
* Max length: 4 characters'
type: string
travelEntertainmentAuthData.market:
description: 'Indicates what market-specific dataset will be submitted. Must be ''H'' for Hotel. This should be included in the auth message.
* Format: alphanumeric
* Max length: 1 character'
type: string
type: object
AdditionalDataCarRental:
properties:
carRental.checkOutDate:
description: 'The pick-up date.
* Date format: `yyyyMMdd`'
type: string
carRental.customerServiceTollFreeNumber:
description: 'The customer service phone number of the car rental company.
* Format: Alphanumeric
* maxLength: 17
* For US and CA numbers must be 10 characters in length
* Must not start with a space
* Must not contain any special characters such as + or -
*Must not be all zeros.'
type: string
carRental.daysRented:
description: 'Number of days for which the car is being rented.
* Format: Numeric
* maxLength: 4
* Must not be all spaces'
type: string
carRental.fuelCharges:
description: 'Any fuel charges associated with the rental, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: Numeric
* maxLength: 12'
type: string
carRental.insuranceCharges:
description: 'Any insurance charges associated with the rental, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: Numeric
* maxLength: 12
* Must not be all spaces
*Must not be all zeros.'
type: string
carRental.locationCity:
description: 'The city where the car is rented.
* Format: Alphanumeric
* maxLength: 18
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.locationCountry:
description: 'The country where the car is rented, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
* Format: Alphanumeric
* maxLength: 2'
type: string
carRental.locationStateProvince:
description: 'The state or province where the car is rented.
* Format: Alphanumeric
* maxLength: 2
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.noShowIndicator:
description: 'Indicates if the customer didn''t pick up their rental car.
* Y - Customer did not pick up their car
* N - Not applicable'
type: string
carRental.oneWayDropOffCharges:
description: 'The charge for not returning a car to the original rental location, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* maxLength: 12'
type: string
carRental.rate:
description: 'The daily rental rate, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: Alphanumeric
* maxLength: 12'
type: string
carRental.rateIndicator:
description: 'Specifies whether the given rate is applied daily or weekly.
* D - Daily rate
* W - Weekly rate'
type: string
carRental.rentalAgreementNumber:
description: 'The rental agreement number for the car rental.
* Format: Alphanumeric
* maxLength: 9
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.rentalClassId:
description: 'The classification of the rental car.
* Format: Alphanumeric
* maxLength: 4
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.renterName:
description: 'The name of the person renting the car.
* Format: Alphanumeric
* maxLength: 26
* If you send more than 26 characters, the name is truncated
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.returnCity:
description: 'The city where the car must be returned.
* Format: Alphanumeric
* maxLength: 18
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.returnCountry:
description: 'The country where the car must be returned, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
* Format: Alphanumeric
* maxLength: 2'
type: string
carRental.returnDate:
description: 'The last date to return the car by.
* Date format: `yyyyMMdd`
* maxLength: 8'
type: string
carRental.returnLocationId:
description: 'The agency code, phone number, or address abbreviation
* Format: Alphanumeric
* maxLength: 10
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.returnStateProvince:
description: 'The state or province where the car must be returned.
* Format: Alphanumeric
* maxLength: 3
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.taxExemptIndicator:
description: 'Indicates if the goods or services were tax-exempt, or if tax was not paid on them.
Values:
* Y - Goods or services were tax exempt
* N - Tax was not collected'
type: string
travelEntertainmentAuthData.duration:
description: 'Number of days the car is rented for. This should be included in the auth message.
* Format: Numeric
* maxLength: 4'
type: string
travelEntertainmentAuthData.market:
description: 'Indicates what market-specific dataset will be submitted or is being submitted. Value should be ''A'' for car rental. This should be included in the auth message.
* Format: Alphanumeric
* maxLength: 1'
type: string
type: object
AdditionalDataLevel23:
properties:
enhancedSchemeData.customerReference:
description: 'The customer code.
* Encoding: ASCII
* Max length: 25 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.destinationCountryCode:
description: 'The three-letter [ISO 3166-1 alpha-3 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) for the destination address.
* Encoding: ASCII
* Fixed length: 3 characters'
type: string
enhancedSchemeData.destinationPostalCode:
description: 'The postal code of the destination address.
* Encoding: ASCII
* Max length: 10 characters
* Must not start with a space'
type: string
enhancedSchemeData.destinationStateProvinceCode:
description: 'Destination state or province code.
* Encoding: ASCII
* Max length: 3 characters
* Must not start with a space'
type: string
enhancedSchemeData.dutyAmount:
description: 'The duty amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Encoding: Numeric
* Max length: 12 characters'
type: string
enhancedSchemeData.freightAmount:
description: 'The shipping amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Encoding: Numeric
*Max length: 12 characters'
type: string
enhancedSchemeData.itemDetailLine[itemNr].commodityCode:
description: 'The [UNSPC commodity code](https://www.unspsc.org/) of the item.
* Encoding: ASCII
* Max length: 12 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].description:
description: 'A description of the item.
* Encoding: ASCII
* Max length: 26 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].discountAmount:
description: 'The discount amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Encoding: Numeric
* Max length: 12 characters'
type: string
enhancedSchemeData.itemDetailLine[itemNr].productCode:
description: 'The product code.
* Encoding: ASCII.
* Max length: 12 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].quantity:
description: 'The number of items. Must be an integer greater than zero.
* Encoding: Numeric
* Max length: 12 characters
* Must not start with a space or be all spaces
'
type: string
enhancedSchemeData.itemDetailLine[itemNr].totalAmount:
description: 'The total amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Max length: 12 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure:
description: 'The unit of measurement for an item.
* Encoding: ASCII
Max length: 3 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].unitPrice:
description: 'The unit price in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Encoding: Numeric
* Max length: 12 characters
* Must not be all zeros.'
type: string
enhancedSchemeData.orderDate:
description: 'The order date.
* Format: `ddMMyy`
* Encoding: ASCII
* Max length: 6 characters'
type: string
enhancedSchemeData.shipFromPostalCode:
description: 'The postal code of the address the item is shipped from.
* Encoding: ASCII
* Max length: 10 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.totalTaxAmount:
description: 'The total tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
*Encoding: Numeric
*Max length: 12 characters
* Must not be all zeros.'
type: string
type: object
CaptureRequest:
properties:
additionalData:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataModifications'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $ref: '#/components/schemas/AdditionalDataTemporaryServices'
- $ref: '#/components/schemas/AdditionalDataWallets'
description: 'This field contains additional data, which may be required for a particular modification request.
The additionalData object consists of entries, each of which includes the key and value.'
type: object
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
modificationAmount:
description: The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.
$ref: '#/components/schemas/Amount'
mpiData:
x-addedInVersion: '46'
description: Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).
$ref: '#/components/schemas/ThreeDSecureData'
originalMerchantReference:
x-addedInVersion: '30'
description: The original merchant reference to cancel.
type: string
originalReference:
description: 'The original pspReference of the payment to modify.
This reference is returned in:
* authorisation response
* authorisation notification
'
type: string
platformChargebackLogic:
x-addedInVersion: '68'
description: Defines how to book chargebacks when using [Adyen for Platforms](https://docs.adyen.com/marketplaces-and-platforms/processing-payments#chargebacks-and-disputes).
$ref: '#/components/schemas/PlatformChargebackLogic'
reference:
description: 'Your reference for the payment modification. This reference is visible in Customer Area and in reports.
Maximum length: 80 characters.'
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For details, refer to [Providing split information](https://docs.adyen.com/marketplaces-and-platforms/processing-payments#providing-split-information).
items:
$ref: '#/components/schemas/Split'
type: array
tenderReference:
x-addedInVersion: '25'
description: The transaction reference provided by the PED. For point-of-sale integrations only.
type: string
uniqueTerminalId:
x-addedInVersion: '25'
description: Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.
type: string
required:
- merchantAccount
- modificationAmount
- originalReference
type: object
AdditionalDataWallets:
properties:
androidpay.token:
description: The Android Pay token retrieved from the SDK.
type: string
masterpass.transactionId:
description: The Mastercard Masterpass Transaction ID retrieved from the SDK.
type: string
payment.token:
description: The Apple Pay token retrieved from the SDK.
type: string
paywithgoogle.token:
description: The Google Pay token retrieved from the SDK.
type: string
samsungpay.token:
description: The Samsung Pay token retrieved from the SDK.
type: string
visacheckout.callId:
description: The Visa Checkout Call ID retrieved from the SDK.
type: string
type: object
SplitAmount:
properties:
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). By default, this is the original payment currency.
maxLength: 3
minLength: 3
type: string
value:
description: The value of the split amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
format: int64
type: integer
required:
- value
type: object
AdditionalDataRatepay:
properties:
ratepay.installmentAmount:
description: Amount the customer has to pay each month.
type: string
ratepay.interestRate:
description: Interest rate of this installment.
type: string
ratepay.lastInstallmentAmount:
description: Amount of the last installment.
type: string
ratepay.paymentFirstday:
description: Calendar day of the first payment.
type: string
ratepaydata.deliveryDate:
description: Date the merchant delivered the goods to the customer.
type: string
ratepaydata.dueDate:
description: Date by which the customer must settle the payment.
type: string
ratepaydata.invoiceDate:
description: Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.
type: string
ratepaydata.invoiceId:
description: Identification name or number for the invoice, defined by the merchant.
# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/openapi/adyen-capture-api-openapi.yml