Customer Vault Errors
JSON error responses from the Customer Vault API include information in the body of the response similar to the following:
"error":{
"code":"5068",
"message":"Either you submitted a request that is missing a mandatory field or the value of a field does not match the format expected.",
"fieldErrors":[
{
"field":"locale",
"error":"Invalid Locale"
}
],
"links":[
{
"rel":"errorinfo",
"href":"https://developer.paysafe.com/en/rest-api/vault/test-and-go-live/vault-errors/#ErrorCode5068"
}
]
}
"error":{
"code":"7505",
"message":"The merchantCustomerId provided for this profile has already been used for another profile - 2e7daaac-49f1-4aae-befb-e9b03a30cbc8",
"links":[
{
"rel":"errorinfo",
"href":"https://developer.paysafe.com/en/rest-api/vault/test-and-go-live/vault-errors/#ErrorCode7505"
}
]
},
"links":[
{
"rel":"existing_entity",
"href":"https://api.test.paysafe.com/customervault/v1/profiles/2e7daaac-49f1-4aae-befb-e9b03a30cbc8"
}
]
{
"error": {
"code": "7521",
"message": "The merchantCustomerId provided is used in the following number of profiles: 2",
"links": [
{
"rel": "errorinfo",
"href": "https://developer.paysafe.com/en/rest-api/vault/test-and-go-live/vault-errors/#ErrorCode7521"
}
]
},
"links": [
{
"rel": "existing_entity",
"href": "http://localhost:8412/customervault/v1/profiles/656c3c63-978e-42bc-ab86-e589ad246138"
},
{
"rel": "existing_entity",
"href": "http://localhost:8412/customervault/v1/profiles/0c4bd194-415d-44f0-b2be-9fa521cf0185"
}
]
}
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-Status-Code response header. | Yes | |
fieldErrors (Array of field:error pairs) | field | string | If there is an error in a field, the identity of the field. | Optional |
error | string | The error in the field. | Optional | |
links (Array of rel:href pairs) | rel | string | The type of link: "errorinfo". | Yes |
href | string | The URL within the Developer Center that contains a description of the error. | Yes |
If you specify an attribute unique to an existing profile, there is also a separate links object - an array of rel:href pairs - with the following elements:
Element | Type | Description | Required? |
---|---|---|---|
rel | string | The text "existing_entity" | Yes |
href | string | The URL to use to look up the existing profile. | Yes |
To save you having to parse the response body to find the error information, you can retrieve the error code from the X-Application-Status-Code response header.
This is a summary of all errors that could be returned when using the Customer Vault 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. |