Manage errors
Error codes
This table describes generic error codes that Amazon Pay API endpoints can return.
HTTP status code
|
Reason code
|
Description
|
400 BAD_REQUEST
|
InvalidHeaderValue
|
You submitted an invalid value for at least one of the header parameters of your API call For details, check the message element in the API response |
400 BAD_REQUEST
|
InvalidParameterValue
|
You submitted an invalid value for at least one of the parameters of your API call For details, check the message element in the API response |
400 BAD_REQUEST
|
InvalidRequestFormat
|
You submitted a request in invalid JSON format. Validate request body format
|
400 BAD_REQUEST
|
MissingHeaderValue
|
One of the header parameters is missing in the API call For details, check the message element in the API response |
400 BAD_REQUEST
|
MissingParameterValue
|
One of the mandatory request parameters is missing in the API call For details, check the message element in the API response |
400 BAD_REQUEST
|
UnrecognizedField
|
You have passed an invalid field in the request body For details, check the message element in the API response |
400 BAD_REQUEST
|
InvalidSandboxSimulationSpecified
|
You have attempted an invalid operation for the Sandbox environment For details, check the message element in the API response |
400 BAD_REQUEST
|
DuplicateIdempotencyKey
|
The IdempotencyKey that you have specified in this request was already used in a different request, and cannot be reused
|
400 BAD_REQUEST
|
CurrencyMismatch
|
Currency code provided in Charge does not match the currency set during checkout
|
400 BAD_REQUEST
|
InvalidAPIVersion
|
You have either attempted to use an unsupported API version or the API object version is incompatible with the API request version
|
401 UNAUTHORIZED
|
UnauthorizedAccess
|
The specified merchant account is not authorized to execute this request For example, you attempted to make a request using delegated authorization that you aren't authorized to execute |
403 FORBIDDEN
|
InvalidAccountStatus
|
Your account or merchant's account is not in an appropriate state to execute this request For example, your account has been suspended or you have not completed registration. Visit Seller Central for more information |
403 FORBIDDEN
|
InvalidRequestSignature
|
The signature in the Authorization header of your API call is invalid For details, check the message element in the API response |
404 NOT_FOUND
|
ResourceNotFound
|
Couldn’t find requested resource
|
405 METHOD_NOT_ALLOWED
|
UnsupportedOperation
|
Operation not supported
|
405 METHOD_NOT_ALLOWED
|
RequestNotSupported
|
HTTP method not supported For details, check the message element in the API response |
426 UPGRADE_REQUIRED
|
TLSVersionNotSupported
|
TLS version not supported. Upgrade to the latest SSL/TLS version
|
429 TOO_MANY_REQUESTS
|
TooManyRequests
|
The request is throttled, due to too many requests in a given amount of time You should retry the request |
500 INTERNAL_SERVER_ERROR
|
InternalServerError
|
There was an unknown error in the service Retry the request. However, retry does not guarantee a successful response |
503 SERVICE_UNAVAILABLE
|
ServiceUnavailable
|
The service is currently unable to handle the request, due to a temporary overloading or maintenance Retry the request |
Retrying errors
You should immediately retry a request if you receive a response with a 408, 429, 500, or 503 HTTP status code. If you want to retry multiple times, we recommend that you implement an exponential backoff approach up to a defined limit, and then log the error and proceed with a manual follow-up and investigation. For example, you can time your retries in the following time spacing: 1s, 2s, 4s, 10s, and 30s. The actual backoff times and limit will depend on your business processes.