# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # 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. **HTTP 200 status codes** | 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. **HTTP 4XX status codes** | 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. **HTTP 5XX status codes** | 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. |