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 includeSUCCESS,DENIED, orERROR.SUCCESSmeans the request was approved by the issuer or completed successfully.ERRORis only returned for4XXor5XXresponses.responseCode: This field contains a shorter description of the processing result. For200responses, 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. ThehostMessageis mapped to J.P. Morgan’s response fields, but the unaltered message is returned, if received. For5XXresponses, the presence of this field indicates where the error exists.
Successful responses (200-299)
In general, a 200 status code indicates that a request has successfully processed.
| 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 | Transaction declined — 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 | System error |
| 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 | 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 | 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 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 | ALREADY_CAPTURED | Payment has already been captured |
| 400 | ERROR | ALREADY_VOIDED | Transaction already voided |
| 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 cannot 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_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_ENABLED | Transaction type is not enabled |
| 400 | ERROR | INVALID_DATA | Invalid data passed in the request |
| 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 | 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). |
| 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 |
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 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
| 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
| 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 |