Skip to main content

New payment decline codes added to OrderTransactionErrorCode enum

We're adding new error codes to the OrderTransactionErrorCode enum to provide more granular detail about the transaction failure. You can use this more detailed response to improve customer interactions.

What's new

These error codes enable precise identification of transaction issues:

Error CodeDescription
AMOUNT_TOO_LARGEThe transaction amount exceeds the maximum amount allowed.
AMOUNT_TOO_SMALLThe transaction amount is below the minimum amount allowed.
AUTHENTICATION_FAILEDThe 3D Secure authentication failed.
AUTHENTICATION_REQUIREDThe transaction requires 3D Secure authentication but was attempted without authentication.
AUTHORIZATION_EXPIREDThe authorization has expired.
CANCELLED_PAYMENTThe transaction was cancelled.
CARD_TESTINGThe transaction was declined due to suspected card testing activity.
DO_NOT_HONORThe issuer declined the transaction without providing a specific reason.
FRAUD_SUSPECTEDThe transaction was declined due to suspected fraudulent activity.
INSUFFICIENT_FUNDSThere are insufficient funds available to complete the transaction.
INSTRUMENT_DECLINEDThe payment instrument was declined by the payment processor.
INVALID_CURRENCYThe currency isn't supported.
INVALID_PAYMENT_METHODThe payment method is invalid or not found.
INVALID_PURCHASE_TYPEThis payment method doesn't support the requested transaction type.
MERCHANT_ACCOUNT_ERRORThe transaction couldn't be processed due to an issue with the merchant account.
MERCHANT_RULEThe transaction was blocked due to the merchant's custom payment risk rule.
PAYMENT_METHOD_UNSUPPORTEDThe payment method isn't supported.
PAYMENT_PROVIDER_ERRORThe transaction couldn't be processed due to an unexpected error with the payment provider.
RETRY_DECLINEDThe transaction retry attempt was declined.
TRANSACTION_LIMIT_EXCEEDEDThe payment instrument has exceeded the processing frequency limit.

What's changed

The RISKY error code is deprecated. When a transaction is declined due to suspected fraud, you'll now receive FRAUD_SUSPECTED. The RISKY value remains in the enum for backward compatibility but won't be returned anymore.

We've also updated descriptions for some existing error codes to improve clarity.

What you need to do

Update your error handling logic to leverage these specific error codes for more precise customer messaging. You can now provide targeted responses based on the specific decline reason.

For more information, refer to the OrderTransactionErrorCode enum reference.

Was this section helpful?