Hosted Errors

JSON error responses from the Hosted API include information in the body of the response similar to the following:

"error":{
   "code":"400",
   "message":"Invalid currency"
}
{
   "error":{
      "code":401,
      "message":"Not authorised"
   }
}

The error object consists of the following elements:

Element Type Description Required?
code string The error code. Yes
message string The error message describing the error. Also shown in the X-Application-Error response header. Yes

To save you having to parse the response body to find the error information, you can retrieve the error message from the X-Application-Error response header.

This is a summary of all errors that could be returned when using the Hosted Payments API, including HTTP Status Codes.

HTTP Status Code Summary

Code Range Description
1xx: Informational Communicates transfer protocol–level information.
2xx: Success Indicates that the client’s request was accepted.
3xx: Redirection Indicates that the client must take some additional action in order to complete the request.
4xx: Client Error Indicates that the client has made an error with the request.
5xx: Server Error Indicates that an error occurred on the server side.

Common HTTP Response Status Codes

Code Description
200 OK Everything worked as expected.
201 Created The request was successful. Paysafe created a new resource and the response body contains the representation.
202 Accepted This indicates that the client’s request will be handled asynchronously. It tells the client that the request appears valid, but it still may have problems once it is processed.
204 No Content This is usually returned in response to a PUT, POST, or DELETE request when the REST API declines to send back any status message or representation in the body of the response message.
304 Not Modified The client's cached version of the representation is still up to date.
400 Bad Request This often indicates that a required parameter is missing or that a parameter is invalid. This is a generic client-side error status, used when no other 4xx error code is appropriate.
401 Unauthorized This indicates that the client tried to operate on a protected resource without providing the proper authorization. They may have provided the wrong credentials or none at all.
402 Payment Required The parameters were valid but the request failed.
404 Not Found The requested resource does not exist.
405 Method Not Allowed The client tried to POST or PUT to a resource that would not accept it.
415 Unsupported Media Type

The request is in a format not supported by the requested resource for the requested method.

429 Too Many Requests The application is sending too many simultaneous requests.
500 Internal Server Error An error occurred with an internal server.
502 External Server Error We received an invalid response from the upstream gateway in attempting to fulfill the request.

Hosted Payment Errors

HTTP Status Code Description
400 "Cannot update transaction" You are attempting to update a transaction that cannot be updated. E.g., you are attempting to update a rebill for which the dueDate has passed.
400 "Duplicate merchant reference" You are attempting a transaction using a merchantRefNum that has already been used.
402 "Duplicate merchantCustomerId - Existing profile id XXXX" You are attempting to create a profile using a merchantCustomerId that has already been used.
400 "You submitted an expired credit card number with your request. Please verify this parameter and retry the request." The cardExpiryYear and cardExpiryMonth parameters indicate that the card has expired.
400 "Invalid Id" You have provided an invalid ID with your request.
400 "Invalid profileId" A profile could not be loaded for the profileId provided.
401 "Not authorized" You have provided an invalid API key with your request.
400 "Authorization denied" The authorization was denied because both a payment token and a credit card number were submitted with the request.
400 "Amount exceeds refundable amount" You are attempting to refund an amount that is greater than the original transaction amount (minus the sum of any existing refunds against the transaction).
400 "Request validation failed: currency_code invalid: ' ' is not a valid ISO 4217 currency code" You have provided an invalid currencyCode parameter with your request.
400 "Request validation failed: merchant_ref_num invalid: required field" You have provided an invalid merchantRefNum parameter with your request.
400 "Request validation failed: total_amount invalid: required field" or "Request validation failed: total_amount invalid : '10.00' not an integer" You have provided an invalid totalAmount parameter with your request.
400 "Resend callback failed" Your attempt to resend a callback failed.
402 "Time for completing payment has expired" You are attempting to complete a payment for which the orderTimeout period has expired.
531 "Transaction already processed" You are attempting to make a second payment against a completed order.
400 "Transaction not yet processed" You are attempting to refund is a transaction that has not been processed.
Did you find this page useful?