# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # Online Payments response codes Error codes help you debug issues that occur as a result of sending badly formatted requests. The `responseMessage` is a short string that provides a brief explanation. The following tables list the available reason codes, as well as their possible causes. The following fields are in the body of the response: - responseStatus: Valid values include SUCCESS, DENIED, or ERROR. SUCCESS means the request was approved by the issuer or completed successfully. ERROR is only returned for 4XX or 5XX responses. - responseCode: This field contains a shorter description of the processing result. For 200 responses, this may be displayed to the consumer. - responseMessage: This field contains a longer, more descriptive message. These messages are not intended to be displayed to the consumer. - hostMessage: The term "host" refers to the system from which J.P. Morgan has received a response. The hostMessage is mapped to J.P. Morgan’s response fields, but the unaltered message is returned, if received. For 5XX responses, the presence of this field indicates where the error exists. > The `responseStatus`, `responseCode`, and `responseMessage`** **fields are required. > ## Successful responses (200-299) In general, a `200`** **status code indicates that a request has successfully processed. > To determine whether a transaction was approved or declined, you will need to review the `responseStatus` field to identify whether or not the issuer has approved the transaction (`SUCCESS` or `DENIED`). > **HTTP 200 status codes** | HTTP Status | responseStatus | responseCode | responseMessage | | --- | --- | --- | --- | | 200 | SUCCESS | ACCEPTED | Transaction accepted | | 200 | SUCCESS | ACCEPTED | Request completed | | 200 | SUCCESS | APPROVED | Transaction approved by issuer | | 200 | SUCCESS | APPROVED | Transaction approved | | 200 | SUCCESS | APPROVED | Transaction approved. Honor with ID. | | 200 | SUCCESS | PARTIAL_APPROVAL | Transaction partially approved by issuer | | 200 | SUCCESS | CUSTOMER_PENDING | Pending the completion of the payment by the consumer | | 200 | SUCCESS | ACCEPTED | Requested action is completed | | 200 | PENDING | PERFORM_AUTHENTICATION | Perform authentication (orchestrated 3-D Secure (3DS)) | | 200 | DENIED | CONSUMER_ABORTED | Consumer aborted the transaction | | 200 | DENIED | DECLINED | Consumer cancelled the transaction | | 200 | DENIED | DECLINED | Transaction declined - invalid merchant | | 200 | DENIED | DECLINED | Transaction declined - invalid transaction | | 200 | DENIED | DECLINED | Transaction declined - invalid amount | | 200 | DENIED | DECLINED | Transaction declined - invalid issuer | | 200 | DENIED | DECLINED | Transaction declined - retry | | 200 | DENIED | DECLINED | Transaction declined - duplicate transmission detected | | 200 | DENIED | DECLINED | Transaction declined - exceeds pre-authorized amount | | 200 | DENIED | DECLINED | Transaction declined - stop payment order | | 200 | DENIED | DECLINED | Transaction declined - revocation of authorization order | | 200 | DENIED | DECLINED | Transaction declined - revocation of all authorizations order | | 200 | DENIED | DECLINED | Surcharge amount not permitted on Visa cards (U.S. acquirers only) | | 200 | DENIED | CONSUMER_DECLINED | Consumer declined the transaction | | 200 | DENIED | INSUFFICIENT_FUNDS | Transaction declined due to insufficient funds | | 200 | DENIED | CARD_EXPIRED | Transaction declined due to expired card | | 200 | DENIED | DECLINED_DO_NOT_CONTACT_ISSUER | Transaction declined - do not contact issuer | | 200 | DENIED | DECLINED_REFER_TO_ISSUER | Transaction declined - refer to issuer | | 200 | DENIED | DECLINED_INVALID_CVV | Transaction declined by the issuer due to invalid card verification value (CVV) | | 200 | DENIED | DECLINED_CVV | Transaction declined due to CVV | | 200 | DENIED | DECLINED_AVS_CVV | Transaction declined due to address verification service (AVS) result and CVV | | 200 | DENIED | CALL_ISSUER_ID_REQUIRED | Transaction declined - call issuer, positive ID required | | 200 | DENIED | DECLINED_NOT_SUPPORTED | Transaction declined by issuer | | 200 | DENIED | LOST_STOLEN_CARD | Transaction declined - lost or stolen card | | 200 | DENIED | PICK_UP_CARD | Transaction declined - Pick up card | | 200 | DENIED | DO_NOT_HONOR | Do not honor | | 200 | DENIED | CARD_NOT_ACTIVE | Transaction declined - card not active | | 200 | DENIED | ACCOUNT_CLOSED | Transaction declined - account is closed | | 200 | DENIED | NEW_CARD_ISSUED | Transaction declined - new card issued | | 200 | DENIED | INVALID_ACCOUNT | Transaction declined - Invalid Account | | 200 | DENIED | USE_IS_RESTRICTED | Transaction declined - Use Is Restricted | | 200 | DENIED | DECLINED_BY_PROCESSOR | Issuer approved, but processor declined the request | | 200 | DENIED | USE_IS_RESTRICTED | Domestic debit transaction not allowed (regional use only) | | 200 | DENIED | DECLINED | Cryptographic failure | | 200 | DENIED | DECLINED | Unable to route transaction | | 200 | DENIED | DECLINED | Transaction cannot be completed - violation of law | | 200 | DENIED | DECLINED | Transaction declined by issuer | | 200 | DENIED | DECLINED | Invalid authorization life | | 200 | DENIED | DECLINED | Transaction not permitted to acquirer/terminal | | 200 | DENIED | DECLINED | Security violation | | 200 | DENIED | DECLINED | Transaction does not fulfill anti-money laundering (AML) requirement | | 200 | DENIED | DECLINED | Visa transactions: credit issuer available. Private label: invalid date | | 200 | DENIED | DECLINED | Format error | | 200 | DENIED | DECLINED | Exceeds withdrawal amount limit | | 200 | DENIED | DECLINED | Personal identification number (PIN) not changed | | 200 | DENIED | DECLINED | Allowable number of PIN tries exceeded | | 200 | DENIED | DECLINED | PIN validation not possible | | 200 | DENIED | DECLINED | Unacceptable PIN - transaction declined - retry | | 200 | DENIED | DECLINED | Transaction declined | | 200 | DENIED | ACCOUNT_CLOSED | Account closed | | 200 | DENIED | DECLINED | Transaction declined | | 200 | DENIED | PAYMENT_REQUEST_EXPIRED | Transaction declined due to payment request expiry. | | 200 | DENIED | ACCOUNT_CLOSED | Account closed | | 200 | DENIED | INVALID_ACCOUNT | Bad account number data (ACH) | | 200 | DENIED | DECLINED_NOT_SUPPORTED | Invalid international ACH | | 200 | DENIED | INVALID_ACCOUNT | Invalid account number format (ACH) | | 200 | DENIED | INVALID_ACCOUNT | Transaction Declined - Token ineligible for PINless debit | | 200 | DENIED | DECLINED | Customer advises not authorized (ACH) | | 200 | DENIED | DECLINED | Authorization revoked by customer (ACH) | | 200 | DENIED | DECLINED | ACH non-participant | | 200 | DENIED | DECLINED | Customer opt-out (ACH) | | 200 | DENIED | DECLINED | Account frozen (ACH) | | 200 | DENIED | DECLINED | Beneficiary deceased (ACH) | | 200 | DENIED | DECLINED | Accountholder deceased (ACH) | | 200 | DENIED | NO_ACCOUNT_FOUND | No account/unable to locate (ACH) | | 200 | DENIED | DECLINED | Invalid account type (ACH) | | 200 | DENIED | DECLINED | Missing name (ACH) | | 200 | DENIED | DECLINED | Transit routing number unknown (ACH) | | 200 | DENIED | DECLINED | Invalid transit routing number (ACH) | | 200 | DENIED | DECLINED | Electronic processing not supported (ACH) | | 200 | DENIED | DECLINED | On negative file (ACH) | | 200 | DENIED | DECLINED | Electronic check processing (ECP) account verification decline (ACH) | | 200 | DENIED | DECLINED | No information found (ACH) | | 200 | DENIED | DECLINED | Not ACH eligible | | 200 | DENIED | DECLINED | Account verification/account owner authorization (AOA) decline (ACH) | ## Client error responses (400-499) A `4XX`** **status code indicates that an error has occurred during a request, and provides a list of specific codes. Additional fields are provided in the body of the response to help identify the error. Address the problem and resubmit the request. **HTTP 4XX status codes** | HTTP Status | responseStatus | responseCode | responseMessage | | --- | --- | --- | --- | | 400 | ERROR | VALIDATION_ERROR | Request contains validation error | | 400 | ERROR | SANCTIONS_SCREENED | The request originated from a sanctioned country or person | | 400 | ERROR | INVALID_CONTENT | Request cannot be parsed | | 400 | ERROR | INVALID_DATA | Invalid data passed in the request | | 400 | ERROR | MISSING_FIELD | Customer phone and email are required for the method of payment | | 400 | ERROR | UNSUPPORTED_ACTION | Refund is not allowed for the referenced transaction | | 400 | ERROR | UNSUPPORTED_ACTION | Requested action is not supported for the method of payment | | 400 | ERROR | UNSUPPORTED_ACTION | Requested state change is not allowed | | 400 | ERROR | UNSUPPORTED_ACTION | Request contains missing or invalid query parameter | | 400 | ERROR | UNSUPPORTED_ACTION | Merchant category code (MCC) is not supported for requested action | | 400 | ERROR | UNSUPPORTED_ACTION | At least one auto close schedule is required | | 400 | ERROR | UNSUPPORTED_ACTION | Recurring is not supported on an auth only request | | 400 | ERROR | UNSUPPORTED_ACTION | Transaction cannot be voided | | 400 | ERROR | ALREADY_CAPTURED | Payment has already been captured | | 400 | ERROR | ALREADY_VOIDED | Transaction already voided | | 400 | ERROR | AMOUNT_EXCEEDED | Requested amount is greater than the ceiling limit | | 400 | ERROR | INVALID_AMOUNT | Amount is greater than original transaction amount | | 400 | ERROR | INVALID_AMOUNT | Total refunded amount cannot exceed the referenced purchase amount | | 400 | ERROR | INVALID_AMOUNT | Amount cannot be zero | | 400 | ERROR | INVALID_AMOUNT | Tax amount can not exceed transaction amount | | 400 | ERROR | INVALID_AMOUNT | Amount is greater than remaining authorization amount | | 400 | ERROR | INVALID_AMOUNT | Amount is greater than tolerance amount | | 400 | ERROR | INVALID_AMOUNT | Amount is not allowed | | 400 | ERROR | INVALID_AMOUNT | Total healthcare amount cannot exceed total amount for healthcare eligible card | | 400 | ERROR | INVALID_AMOUNT | Increasing the amount is not allowed | | 400 | ERROR | INVALID_EXPIRY | Expiry month and year combination is not valid | | 400 | ERROR | INCORRECT_CURRENCY | Incorrect currency value passed in the request | | 400 | ERROR | UNSUPPORTED_CURRENCY | Merchant not configured to support provided currency | | 400 | ERROR | UNSUPPORTED_INDUSTRY_TYPE | Merchant configuration does not support the industry type | | 400 | ERROR | UNSUPPORTED_CARD_TYPE | Merchant not configured to accept provided card type | | 400 | ERROR | INVALID_MCC | Merchant not configured to support provided MCC | | 400 | ERROR | PAYMENT_TYPE_NOT_SUPPORTED | Card bank identification number (BIN) range not supported by card brand | | 400 | ERROR | MERCHANT_NOT_CONFIGURED | Merchant is invalid or not configured | | 400 | ERROR | INVALID_APP_ID | Application not allowed to process for the merchant | | 400 | ERROR | VOID_NOT_ALLOWED | Transaction already cleared | | 400 | ERROR | TRANSACTION_TYPE_NOT_SUPPORTED | Transaction type is not supported | | 400 | ERROR | TRANSACTION_TYPE_NOT_SUPPORTED | Account verification or $0 auth is not supported | | 400 | ERROR | TRANSACTION_TYPE_NOT_SUPPORTED | Incremental not allowed on this transaction | | 400 | ERROR | TRANSACTION_TYPE_NOT_ENABLED | Transaction type is not enabled | | 400 | ERROR | INVALID_DATA | Invalid data passed in the request | | 400 | ERROR | INVALID_DATA | Request contains invalid data | | 400 | ERROR | UNSUPPORTED_CARD_TYPE | Merchant configuration does not support the provided card type | | 400 | ERROR | INVALID_AMOUNT | Amount sent was zero, unreadable, or exceeds maximum allowable amount | | 400 | ERROR | INVALID_AMOUNT | Amount details does not equal total authorization amount | | 400 | ERROR | UNSUPPORTED_ACTION | threeDSAuthentication not supported on merchant-initiated transactions (orchestrated 3DS). | | 400 | ERROR | INVALID_AMOUNT | Authentication amount is less than transaction amount (orchestrated 3DS). | | 400 | ERROR | VALIDATION_ERROR | Invalid data passed in the request installmentCount cannot be greater than 1 for orchestrated authentication (orchestrated 3DS). | | 400 | ERROR | VALIDATION_ERROR | Request is missing the originalNetworkTransactionId field | | 400 | ERROR | INVALID_DATA | authenticationId is not supported with SCAExemptionReason (orchestrated 3DS). | | 400 | ERROR | INVALID_DATA | authenticationId is not supported with threeDS object values (orchestrated 3DS). | | 400 | ERROR | ALREADY_AUTHENTICATED | Authentication has already been completed (orchestrated 3DS). | | 400 | ERROR | PREVIOUSLY_PROCESSED_TRANSACTION | Transaction was not re-authorized because it was previously processed | | 401 | ERROR | UNAUTHORIZED | Authorization credentials are missing or invalid | | 403 | ERROR | FORBIDDEN | Merchant not authorized to access the resource | | 403 | ERROR | FORBIDDEN | Incorrect combination of application ID and merchant ID in the header | | 403 | ERROR | FORBIDDEN | Incorrect application ID in the header | | 404 | ERROR | NOT_FOUND | Transaction was not found | | 404 | ERROR | NOT_FOUND | Request was not found | | 404 | ERROR | NOT_FOUND | Path to the resource is not found | | 409 | ERROR | IN_PROGRESS | This request is still in progress | | 409 | ERROR | DUPLICATE | Duplicate transaction | | 409 | ERROR | DUPLICATE | Request ID has already been used for a different transaction | ## Server error responses (500-599) A `5XX`** **status code indicates that an error has occurred within the J.P. Morgan (or acquirer) environment during a request. Additional fields are provided in the body of the response to identify the error. **HTTP 5XX status codes** | HTTP Status | responseStatus | responseCode | responseMessage | | --- | --- | --- | --- | | 500 | ERROR | SERVER_ERROR | Server error, please retry | | 500 | ERROR | SERVER_ERROR | Processing error within the device wallet service | | 503 | ERROR | HOST_ERROR | Unrecognized response from the host | | 503 | ERROR | HOST_ERROR | Unspecified error at the host | | 503 | ERROR | HOST_ERROR | Acquirer error occurred processing the transaction | | 503 | ERROR | SERVICE_UNAVAILABLE | Service is unavailable | | 504 | ERROR | ISSUER_TIMEOUT | Issuer is unavailable | | 504 | ERROR | TIMEOUT | Request timeout | ## Standard Address Verification Service (AVS) responses **Standard AVS responses** | addressVerificationResult | Description | | --- | --- | | ADDRESS_POSTALCODE_MATCH | Street address and zip/postal code were matched | | POSTALCODE_MATCH | Zip/postal code matched. Street address not matched. | | ADDRESS_MATCH | Street address matched | | SERVICE_NOT_SUPPORTED | Service is currently not supported by acquirer or merchant | | NOT_VERIFIED | AVS could not be verified for an international transaction | | SERVICE_NOT_AVAILABLE_RETRY | Issuer system is unavailable. Retry may be attempted | | NOT_AVAILABLE | No data is available from the issuer, or AVS data is not supported for the transaction | | NO_MATCH | No match | | NOT_REQUESTED | AVS not requested | | NAME_MATCH | Cardholder name matched | | NAME_ADDRESS_MATCH | Cardholder name and address matched | | NAME_POSTALCODE_MATCH | Cardholder name and zip/postal code matched | | NAME_ADDRESS_POSTALCODE_MATCHED | Cardholder name, address, and zip/postal code matched | ## Standard Card Verification Value (CVV) responses **Standard CVV responses** | cardVerificationResult | Description | | --- | --- | | MATCH | Valid or matched | | NOT_PRESENT | Merchant indicated that CVV is not present on card | | NOT_PROCESSED | Not processed | | NOT_SUPPORTED | Card issuer is not registered and/or certified | | NO_MATCH | Invalid or not matched | ## Related [Online Payments API specification](/api/commerce/online-payments/online-payments/online-payments)