Skip to main content

Detailed decline reasons reference

This section details the business logic failure codes returned in transaction responses and webhooks when a status is FAILED. These are distinct from HTTP Error Codes (e.g., 401, 500).

A. Payment Decline Reasons

Used for customer payments (POST /payments, GET /transactions/{id}).

CodeDescriptionLikely CauseRecommended Action
CURRENCY_NOT_SUPPORTEDUnsupported CurrencyThe transaction currency is not enabled for this method.Check supported currencies for the specific APM.
METHOD_NOT_SUPPORTEDMethod Not SupportedThe selected payment method is unavailable.Switch to a different payment method type.
INVALID_AMOUNTInvalid AmountAmount is too low, exceeds limits, or format is wrong.Verify amount in minor units (no decimals).
INVALID_ACCOUNT_DETAILSInvalid Account DataIncorrect UPI ID, Phone Number, or Bank Account.Verify customer input and retry with corrected data.
INVALID_CUSTOMER_DETAILSInvalid Customer InfoMissing required customer fields (KYC/Email).Ensure all mandatory customer details are provided.
LIMIT_EXCEEDEDTransaction Limit ReachedDaily/Monthly limit hit by cardholder/user.Split transaction or wait for period reset.
CHANNEL_DOWNChannel DownTemporary connectivity issue with the APM provider.Retry after 1 minute
CHANNEL_OVERLOADEDChannel overloadedThe channel is overloaded or lacks liquidityRetry later
BANK_REJECTEDBank RejectionThe issuing bank blocked the transaction.Contact support; user may need to contact their bank.
KYC_BLOCKEDKYC Verification FailedUser identity verification failed or is pending.Prompt user to complete KYC in your app.
TIMEOUT_EXPIREDSession TimeoutUser did not complete action within validity window.Initiate a new payment request.
INTERNAL_ERRORInternal Gateway ErrorUnexpected error during processing.Retry the request; contact support if persistent.

B. Payout Decline Reasons

Used for merchant withdrawals (POST /payouts, GET /payouts/{id}).

CodeDescriptionLikely CauseRecommended Action
CURRENCY_NOT_SUPPORTEDUnsupported CurrencyPayout currency does not match wallet currency.Ensure payout currency matches merchant balance currency.
METHOD_NOT_SUPPORTEDMethod Not SupportedThe withdrawal method is unavailable for this region.Check supported payout methods for your account type.
INVALID_AMOUNTInvalid AmountAmount exceeds minimum/maximum thresholds.Adjust amount to fall within allowed limits.
INVALID_ACCOUNT_DETAILSInvalid Account DataRecipient bank account or IBAN is incorrect.Verify recipient details with the beneficiary.
INSUFFICIENT_BALANCEInsufficient BalanceMerchant wallet does not have enough funds.Fund the merchant wallet before requesting payout.
LIMIT_EXCEEDEDTransaction Limit ReachedPayout limit hit by account restrictions.Split into multiple transactions or request limit increase.
CHANNEL_DOWNChannel DownClearing house or bank system is offline.Retry later (typically T+1).
CHANNEL_OVERLOADEDChannel overloadedThe channel is overloaded or lacks liquidityRetry later
BANK_REJECTEDBank RejectionRecipient's bank rejected the incoming transfer.Verify account number and contact recipient bank.
FRAUD_SUSPECTEDFraud FlaggedTransaction triggered security rules.Contact Tradex World Support for review.
INTERNAL_ERRORInternal Gateway ErrorUnexpected error during processing.Retry the request; contact support if persistent.