Checkout response codes
Response codes
Error codes help you debug issues that occur as a result of sending badly formatted requests. The following tables list the available reason codes and their possible causes.
Successful responses (200-299)
In general, a 200 status code indicates that a request has successfully processed, but does not necessarily mean that the issuer has approved the transaction. For example, if the intent of the request is to authorize a payment, then a successfully processed request will result in a 200 response where the response body will indicate whether the payment was authorized or declined.
| Scenario | HTTP Status | Response Body |
|---|---|---|
| Successfully processed | 200 | API-specific body that indicates the result of the operation. |
Client error responses (400-499)
A 4XX status code indicates that a client-side error has occurred. Additional fields are provided in the body of the response to help identify the error. Address the problem, and then resubmit the request.
Aside from a Forbidden (403) response, all other 4XX status codes contain a Google remote procedure call (GRPC) status in the response body, where the code and message contain actionable explanations.
| Scenario | HTTP Status | Response Body |
|---|---|---|
| Missing request fields or provided format is incorrect | 400 | { "code": 3, // INVALID_ARGUMENT "message": ".merchant.v1.SetupCheckoutIntentRequest.reference: length must be at most 22 but got: 29 - Got \"Xsdfsdfd1G5VZMxplIm1tRRcrC85o\", } |
| Merchant ID does not match identity provider accessToken or merchant has not been boarded | 403 | Invalid JWT. Denying request. |
Server error responses (500-599)
A 5XX status code indicates that an error has occurred within the J.P. Morgan (or acquirer) environment during the request. Additional fields are provided in the body of the response to identify the error.
| Scenario | HTTP Status | Response Body |
|---|---|---|
| Internal server error | 500 | { "code": 13, // INTERNAL "message": "There was a server error trying to handle an exception", } |
| Service unavailable | 503 | Service is unavailable. |