Are you looking for test card numbers?

Would you like to contact support?

Developer-resource icon

Response handling

After submitting a call, you receive a response message to inform you that your request was received and processed.

Depending on the HTTP status code of the response message, it is helpful to build some logic to handle any errors that a request or the system may return.

HTTP responses

HTTP status code HTTP status message Adyen status message Notes
200 OK Request processed normally

The request message has been successfully processed, and it has produced a response.
The response message varies, depending on the request method and the requested data.

400 Bad Request Problem reading or understanding request

The receiving server cannot understand the request because of malformed syntax.
Do not repeat the request without first modifying it; check the request for errors, fix them and then retry the request.

401 Unauthorized Authentication required

You need to input valid authentication credentials (username/password) to access the resource.

403 Forbidden Insufficient permission to process request You do not have the appropriate user rights to access the request.
Do not repeat the request.
404 Not Found File Not Found It was not possible to retrieve the resource you requested at the specified location.
It may or may not become available again in the future.
Usually, this happens when the URL you pass with the request is incorrect.
You may make subsequent calls.
422 Unprocessable Entity Request validation error The request is formally valid, but semantically incorrect: the receiving server can read it, but it cannot understand it.
500 Internal Server Error Server could not process request The receiving server encountered an unexpected condition that prevents it from fulfilling the request.
Our servers may return a 500 status code also when the request is incorrect, for example because of a missing or not filled in mandatory field.

Handle 200 responses

After receiving an authorisation request, a payment response with an HTTP status is generated. An HTTP 200/OK response status code means that the request was submitted correctly and Adyen processed it successfully.

An HTTP 200 response does not automatically mean that the payment or the modification request was successfully executed.

When the payment response includes a resultCode with a value of Refused or Cancelled, a refusalReason field is added.

Check the refusal reason messages to learn more about the possible issues of the payment or the modification request refusal.

For example:

  • You send a capture payment request.
  • The response to your capture request returns HTTP 200/OK. This means:

    • We received your request.
    • We will execute a payment capture.
    • We still do not know if the capture operation will be successful or not.
    • We'll let you know in the corresponding notification message.
  • If the capture operation fails, for example, because the acquirer declines to accept the shopper's card, the payable amount for the transaction is not collected.
  • Based on your settings, you'll receive a notification message that includes the notification information about this capture example:

    • The  pspReference in this notification is the same as the  pspReference in the capture modification response.
    • The success field value is false, and the reason field includes a short message to explain the cause of the failure.

Handle 4xx and 5xx responses

In the following scenarios, the Adyen payments platform does not accept or store submitted requests:

  • The request does not pass validation.
  • The request violates a security constraint.
  • The request violates a configuration constraint.
  • An internal error occurs on the Adyen payments platform.

In these cases, you receive an error message with an error code containing a description of the problem.
In general, you should handle it as an exception.

There is no charge for rejected payment requests accompanied by an error message.

Debugging APIs

While building your integration into the Adyen APIs, you may need to reach out to our Support Team for additional help.

Get the pspReference returned in header of the API response, and provide this to our Support Team. This pspreference is a unique ID for that specific API request and can be used by our Support Team to identify specific API calls.

Error response parameters

In the case of rejected API requests, the response message contains the following fields: ServiceException.

The following code examples show error/refusal response messages.

    "errorType" : "security",
    "errorCode" : "901",
    "message" : "Invalid Merchant Account",
    "status" : "403"
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="" xmlns:xsd=""xmlns:xsi="">
      <faultstring>security 901 Invalid Merchant Account</faultstring>

Response mapping

See the Adyen refusal reason mapping structure below. In the case of refused payments, these fields are populated.

<faultstring> ::= <type> ' ' <message>
<type> ::= 'validation' | 'security' | 'configuration' | 'internal'
<message> ::= unicode

Error codes

Depending on your integration type, there are a number of error codes you can receive. All integrations can receive Generic error codes.

There are also error codes specific for an integration type or payment method:

If you are unsure how to interpret a specific error, contact the Support Team.

Generic error codes

Error code Error message
000 Unknown
010 Not allowed
100 No amount specified
101 Invalid card number
102 Unable to determine variant
103 CVC is not the right length
104 Billing address problem
105 Invalid paRes from issuer
106 This session was already used previously
107 Recurring is not enabled
108 Invalid bankaccount number
109 Invalid variant
110 BankDetails missing
111 Invalid BankCountryCode specified
112 This bank country is not supported
113 No InvoiceLines provided
114 Received an incorrect InvoiceLine
115 Total amount is not the same as the sum of the lines
116 Invalid date of birth
117 Invalid billing address
118 Invalid delivery address
119 Invalid shopper name
120 ShopperEmail is missing
121 ShopperReference is missing
122 PhoneNumber is missing
123 The PhoneNumber should be mobile
124 Invalid PhoneNumber
125 Invalid recurring contract specified
126 Bank Account or Bank Location Id not valid or missing
127 Account holder missing
128 Card Holder Missing
129 Expiry Date Invalid
130 Reference Missing
131 Billing address problem (City)
132 Billing address problem (Street)
133 Billing address problem (HouseNumberOrName)
134 Billing address problem (Country)
135 Billing address problem (StateOrProvince)
136 Failed to retrieve OpenInvoiceLines
137 Invalid amount specified
138 Unsupported currency specified
139 Recurring requires shopperEmail and shopperReference
140 Invalid expiryMonth[1..12] / expiryYear[>2000], or before now
141 Invalid expiryMonth[1..12] / expiryYear[>2000]
142 Bank Name or Bank Location not valid or missing
143 Submitted total iDEAL merchantReturnUrl length is {0}, but max size is {1} for this request
144 Invalid startMonth[1..12] / startYear[>2000], or in the future
145 Invalid issuer countrycode
146 Invalid social security number
147 Delivery address problem (City)
148 Delivery address problem (Street)
149 Delivery address problem (HouseNumberOrName)
150 Delivery address problem (Country)
151 Delivery address problem (StateOrProvince)
152 Invalid number of installments
153 Invalid CVC
154 No additional data specified
155 No acquirer specified
156 No authorisation mid specified
157 No fields specified
158 Required field {0} not specified
159 Invalid number of requests
160 Not allowed to store Payout Details
161 Invalid iban
162 Inconsistent iban
163 Invalid bic
164 Auto capture delay invalid or out of range
165 MandateId does not match pattern
166 Amount not allowed for this operation
167 Original pspReference required for this operation
168 AuthorisationCode required for this operation
170 Generation Date required but missing
171 Unable to parse Generation Date
172 Encrypted data used outside of valid time period
173 Unable to load Private Key for decryption
174 Unable to decrypt data
175 Unable to parse JSON data
180 Invalid shopperReference
181 Invalid shopperEmail
182 Invalid selected brand
183 Invalid recurring contract
184 Invalid recurring detail name
185 Invalid additionalData
186 Missing additionalData field
187 Invalid additionalData field
188 Invalid pspEchoData
189 Invalid shopperStatement
190 Invalid shopper IP
191 No params specified
192 Invalid field {0}
193 Bin Details not found for the given card number
194 Billing address missing
195 Could not find an account with this key: {0}
196 Invalid Mcc
198 Reference may not exceed 79 characters
199 The cryptographic operation could not proceed, no key configured
200 Invalid country code
205 Missing or invalid networkTxReference
600 No InvoiceProject provided
601 No InvoiceBatch provided
602 No creditorAccount specified
603 No projectCode specified
604 No creditorAccount found
605 No project found
606 Unable to create InvoiceProject
607 InvoiceBatch already exists
608 Unable to create InvoiceBatch
609 InvoiceBatch validity period exceeded
610 No dunning configuration found
611 Invalid dunning configuration
690 Error while storing debtor
691 Error while storing invoice
692 Error while checking if invoice already exists for creditorAccount
693 Error while searching invoices
694 No Invoice Configuration configured for creditAccount
695 Invalid Invoice Configuration configured for creditAccount
700 No method specified
701 Server could not process request
702 Problem parsing request
704 Request already processed
800 Contract not found
801 Too many PaymentDetails defined
802 Invalid contract
803 PaymentDetail not found
804 Failed to disable
805 RecurringDetailReference not available for provided recurring-contract
806 No applicable contractTypes left for this payment-method
901 Invalid Merchant Account
902 Invalid or empty request data
903 Internal error
904 Unable To Process
905 Payment details are not supported
906 Invalid Request: Original pspReference is invalid for this environment
907 US Payment details are not supported
908 Invalid request
912 The TX Variant does not support the redemption type.
950 Invalid AcquirerAccount
951 Configuration Error (acquirerIdentification)
952 Configuration Error (acquirerPassword)
953 Configuration Error (apiKey)
954 Configuration Error (redirectUrl)
955 Configuration Error (AcquirerAccountData)
956 Configuration Error (currencyCode)
957 Configuration Error (terminalId)
958 Configuration Error (serialNumber)
959 Configuration Error (password)
960 Configuration Error (projectId)
961 Configuration Error (merchantCategoryCode)
962 Configuration Error (merchantName)
963 Invalid company registration number
964 Invalid company name
965 Missing company details
966 Configuration Error (privateKeyAlias)
967 Configuration Error (publicKeyAlias)
1000 Card number cannot be specified for Incontrol virtual card requests
1001 Recurring not allowed for Incontrol virtual card requests
1002 Invalid Authorisation Type supplied

Checkout error codes

Error code Error message
14_002 Missing paymentData
14_003 Invalid paymentData
14_004 Missing payment method details
14_005 Invalid payment method details
14_006 paymentMethod object has not been provided in the request
14_007 Invalid payment method data
14_008 Session has expired
14_010 The request contains no sdkVersion although the channel is set to Web
14_011 The provided channel is conflicting the provided parameters. Provide correct token for iOS or Android, or sdkVersion for Web. Do not provide both of them.
14_012 The provided SDK token could not be parsed
14_013 For HTML Response; origin has to be provided
14_014 This end point requires the version to be specified
14_015 Token is missing
14_016 Invalid sdkVersion provided
14_017 The provided SDK Token has an invalid timestamp
14_018 Invalid payload provided
14_019 The request does not contain sdkVersion or token
14_020 No issuer selected
14_021 Unknown terminal
14_022 Missing uniqueTerminalId
14_023 Installments were not configured in setup request
14_024 Invalid open invoice request
14_025 Card holder name is required by configuration, but missing in payment details
14_026 The selected flow is invalid
14_027 The provided returnUrlQueryString is invalid
14_028 3D Auth Data is incomplete. Provide both PaRes and MD
14_029 CVC is required for this payment but not provided

3DS2 error codes

Error code Error message
15_001 deviceChannel shall be present
15_002 Required field FIELD_NAME missing for device channel DEVICE_CHANNEL_NAME
15_003 Field FIELD_NAME should not be present for device channel DEVICE_CHANNEL_NAME
15_004 Invalid value in field FIELD_NAME
15_005 Unexpected field FIELD_NAME
15_006 messageCategory shall be present
15_007 Value of FIELD_NAME is too long (VALUE > MAX_ALLOWED_VALUE)
15_008 Invalid merchant configuration for 3DS 2.0
15_009 threeDS2Token is required
15_010 Invalid deviceChannel value. Must be 'app', 'browser' or 'TRI'.
15_011 pspReference is not a valid pspReference
15_012 Result not present
15_013 Cannot add 3DS2 authentication values because addRawThreeDSecureDetailsResult is not enabled.
15_014 Invalid threeDS2Token
15_015 Invalid browserInfo provided
15_016 language must be a valid tag according to IETF BCP47 definition.
15_017 Cannot perform an authorisation on a 3DS2 transaction more than 12 hours after the transaction began
15_018 colorDepth must be 1, 4, 8, 15, 16, 24, 32 or 48 bit.
15_019 stateOrProvince invalid
15_020 invalid transStatus
15_021 notificationURL cannot be localhost
15_022 invalid authenticationOnly field
15_023 threeDS2RequestData is not supported for threeDS2InMDFlow.
15_024 Result not present - Authentication older than 60 days

Apple Pay error codes

Error code Error message
5_001 Apple Pay token amount-mismatch
5_002 Invalid Apple Pay token
5_003 Incorrect Apple Pay token version
5_004 Could not find Merchant Private Key
5_005 Could not find Merchant Public Key
5_006 Apple Pay signature corrupt
5_007 Missing certificate for Apple Pay signature
5_008 Our Test system does not accept Live tokens

Google Pay error codes

Error code Error message
5_202 Invalid PayWithGoogle token
5_206 PayWithGoogle signature corrupt
5_208 PayWithGoogle token already expired

See also