Skip to main content
When a transaction fails, the Error code link in the dashboard’s transaction details jumps to the matching entry here.

Customer needs to fix input

19 error codes

Customer needs a new payment method

26 error codes

Transient issues — retry later

23 error codes

Terminal — no action available

5 error codes

Other

1 error codes

Where failures happen

Every failure code maps to a stage of the payment journey. The category boxes below link to the matching sections on this page. For subscription renewals the customer isn’t present — the saved payment method is charged automatically:

Customer needs to fix input

Your customer needs to correct something on the checkout (card details, CVV, address, OTP, etc.) and retry.
CodeMeaningWhy it failedRecommended action
CARD_ABNORMAL_CARDNUMBERInvalid card numberCause: The card number entered is invalid or does not existAsk the customer to re-enter it.
CARD_ABNORMAL_NOTACTIVATEDCard not yet activatedCause: The customer’s card hasn’t been activatedAsk them to activate it with their bank.
CARD_ABNORMAL_NOTACTIVATED_ACCOUNTBank account not activatedCause: The customer’s bank account is inactiveAsk them to contact their bank.
CARD_AMOUNTOVERLIMITExceeds card transaction limitCause: Amount exceeds the card’s per-transaction or daily limitCustomer may split the charge or use another card.
CARD_AUTHENTICATION_FAILEDCard details verification failedCause: Couldn’t initiate bank verification with the card detailsAsk the customer to recheck number, expiry, and CVV.
CARD_AUTHENTICATION_FAILED_ADDRESSBilling address mismatchCause: The billing address doesn’t match the issuer’s recordsAsk the customer to correct it.
CARD_AUTHENTICATION_FAILED_CVV2Incorrect CVVCause: The card’s security code is wrongAsk the customer to re-enter it.
CARD_AUTHENTICATION_FAILED_NEED_ADDITIONAL_AUTHAdditional verification requiredCause: The bank requires extra verificationThe customer should contact their bank or complete verification on retry.
CARD_AUTHENTICATION_FAILED_VERIFICATIONDATAVerification data mismatchCause: Information provided during verification didn’t match the issuer’s recordsAsk the customer to retry.
CARD_AUTHENTICATION_FAILED_VERIFICATIONDATA3-D Secure data mismatchCause: Information provided during 3-D Secure didn’t match the issuer’s recordsAsk the customer to retry.
CARD_AUTHENTICATION_FAILED_VERIFICATIONDATAOne-time code incorrectCause: The customer’s one-time verification code from the bank was wrongAsk them to request a new code and retry.
CARD_BANK_REJECT_ISSUER_CONTACTIssuer requires customer contactCause: The customer’s bank wants them to call to verify or lift a restriction before retryingAsk the customer to contact their bank.
CARD_BANK_REJECT_ISSUER_URGENTBank flagged abnormalityCause: The customer’s bank flagged something and wants them to call immediatelyAsk the customer to contact their bank right away.
CARD_OVERLIMITExceeds bank limitCause: Amount exceeds the customer’s credit limit or per-transaction capSuggest splitting the charge or using another card.
CARD_PIN_INVALIDPIN or CVV incorrectCause: The PIN or CVV entered was wrongAsk the customer to re-verify.
EXCEED_DAILY_LIMITDaily limit reachedCause: The customer’s daily spending hit the bank’s capSuggest retrying tomorrow or using another card.
INITIATE_AUTHENTICATION_FAILEDVerification could not startCause: Couldn’t start bank verification with this card numberAsk the customer to recheck the card number.
USER_CPF_INVALIDBrazilian Tax ID (CPF) invalidCause: The Brazilian Tax ID the customer entered is malformed or doesn’t existAsk them to correct it.
CREATE_ORDER_EXPIRED_TOKENCheckout page expiredCause: The customer took too long on the checkout pageAsk them to start a new checkout.

Customer needs a new payment method

This card can’t be used. Ask the customer to use a different card or payment method.
CodeMeaningWhy it failedRecommended action
CARD_ABNORMALCard in abnormal statusCause: The customer’s card has been reported lost or frozenAsk them to use another payment method.
CARD_ABNORMAL_CLOSEDBank account closedCause: The customer’s bank account is closedAsk them to use another payment method.
CARD_ABNORMAL_CLOSED_FROMACCOUNTSource account closedCause: The funding account linked to the customer’s card is closedAsk them to use another method.
CARD_ABNORMAL_EXPIREDCard expiredCause: The customer’s card has expiredAsk them to update it or use a different card.
CARD_ABNORMAL_FRAUDIssuer flagged as fraudCause: The customer’s bank blocked this on fraud suspicionAsk them to contact the bank or use another card.
CARD_ABNORMAL_ISSUERIssuer not registeredCause: The customer’s bank isn’t registered with the card networkAsk them to use a different card.
CARD_ABNORMAL_LOSTCard reported lostCause: The customer’s card was reported lostAsk them to use another payment method.
CARD_ABNORMAL_NOCREDITNo linked credit accountCause: Couldn’t find a credit account tied to the customer’s cardAsk them to verify or use another card.
CARD_ABNORMAL_STOLENCard reported stolenCause: The customer’s card has been reported lost or stolenAsk them to use another payment method.
CARD_BANK_REJECT_BLOCKBank account blockedCause: The customer’s bank account is frozenAsk them to use another method or contact the bank.
CARD_BANK_REJECT_FRAUDBank blocked for fraudCause: The customer’s bank flagged this transaction as fraud and blocked itAsk them to use another method.
CARD_BANK_REJECT_LAWAccount restricted by lawCause: The customer’s account is legally restricted from transactionsAsk them to use another method.
CARD_BANK_REJECT_REVOKEALL_ACCOUNTAccount access revokedCause: The customer’s account access has been fully revokedAsk them to use another method.
CARD_INSUFFICIENT_BALANCEInsufficient fundsCause: The customer’s card doesn’t have enough fundsAsk them to top up or use another card.
CARD_INVALID_TRANSACTIONCard type not supportedCause: The customer’s card doesn’t support this transaction typeAsk them to use a different card.
CARD_PAYMENT_RETRY_LIMITRetry limit reachedCause: Too many failed attempts on this card; the network has blocked further retriesAsk the customer to use a different card.
CARD_ABNORMAL_NOCHECKINGCard couldn’t be verifiedCause: The issuer flagged the customer’s card as abnormal and couldn’t verify itAsk them to use another card.
CARD_ABNORMAL_RESTRICTEDCard restricted in this regionCause: The customer’s card is restricted or locked in this regionAsk them to use another method.
CARD_NOTALLOWED_TXNTransaction type not allowedCause: The issuer prohibits this transaction type on this card (e.g. cross-border)Ask the customer to use a different card.
PAYMENT_REJECTIONBlocked by Waffo riskCause: This transaction was blocked by Waffo’s risk rulesContact support if you think this is wrong.
PAYMENT_CHANNEL_REJECTIONPayment rejectedCause: The payment service rejected this transaction on its own risk rulesAsk the customer to use another method.
PAYMENT_CHANNEL_REJECTIONSubscription charge rejectedCause: The saved payment method for this subscription has not been verifiedAsk the customer to verify it in the customer portal.
PAYMENT_CHANNEL_REJECTIONSubscription charge failed: card expiredCause: The card on file for this subscription has expiredAsk the customer to update it in the customer portal.
PAYMENT_CHANNEL_REJECTIONInvalid mobile numberCause: The customer’s mobile number format is invalidAsk them to correct it.
CREATE_ORDER_FAILEDPayment service under maintenanceCause: The payment service is undergoing maintenanceAsk the customer to retry later.
CREATE_ORDER_FAILEDPayment service declinedCause: The payment service rejected this transaction on its own risk rulesAsk the customer to use another method.

Transient issues — retry later

A temporary glitch in the bank, card network, or payment service. The customer can usually retry in a few minutes.
CodeMeaningWhy it failedRecommended action
CARD_AUTHENTICATION_ERRORVerification protocol errorCause: A protocol or communication issue occurred during verificationAsk the customer to retry shortly.
CARD_BANK_REJECT_REVOKE_SINGLEBank revoked this transactionCause: The customer’s bank revoked this specific authorizationAsk them to retry.
CARD_BANK_REJECT_SECURITYBlocked by bank securityCause: The customer’s bank blocked this for securityAsk them to retry later or contact the bank.
CARD_COUNTOVERLIMITToo many attemptsCause: The customer’s card has hit a frequency limitAsk them to retry later.
ISSUE_BANK_DECLINEIssuer declined (no reason)Cause: The customer’s bank declined without specifying whyAsk them to retry later.
RISK_TRANSACTION_LIMITWaffo risk control triggeredCause: Waffo’s amount or velocity rules blocked this transactionAsk the customer to retry later or use another card.
TIMEOUT_CHANNEL_CLOSECustomer didn’t complete the payment in the payment channel in timeCause: The customer confirmed the payment at checkout and was handed off to the payment channel, but never finished paying there (e.g. the QR code was not scanned or confirmed). The transaction closed automatically when the payment window expiredThis is not a platform or checkout failure. If the customer still wants to purchase, have them start a new payment.
CARD_BANK_REJECTBank declinedCause: The customer’s bank declined this without a specific reasonAsk them to retry later.
CARD_GENERAL_ERRORBank generic errorCause: The bank returned a non-specific errorAsk the customer to retry or switch methods.
CARD_ORG_OTHER_ERRORCard network errorCause: The card network (Visa, Mastercard, etc.) returned an internal errorAsk the customer to retry.
CARD_SYSTEMERRORBank temporarily downCause: The customer’s bank is having transient issuesAsk them to retry shortly.
CREATE_ORDER_ERRORPayment initiation timed outCause: Network timeout when creating the transactionAsk the customer to retry.
PAYMENT_CHANNEL_ERRORPayment service communication errorCause: An unexpected error occurred communicating with the payment serviceAsk the customer to retry.
PAYMENT_CHANNEL_ERRORPayment service network errorCause: The network connection to the payment service failedAsk the customer to retry.
PAYMENT_CHANNEL_ERRORPayment service communication errorCause: An unexpected error occurred communicating with the payment serviceAsk the customer to retry.
PAYMENT_CHANNEL_ERRORUnexpected payment service responseCause: The payment service returned an unparseable responseAsk the customer to retry.
PAYMENT_FAILEDPayment failedCause: See the transaction detail for the specific reasonContact support if unclear.
PAYMENT_FAILEDCustomer abandoned checkoutCause: The customer left the checkout page without finishingReach out if you want to recover the sale.
PAYMENT_FAILEDPayment service notification failedCause: The payment may have succeeded but the notification didn’t arriveCheck the order status again later.
PAYMENT_FAILEDPayment service errorCause: The payment service didn’t give specific detailsAsk the customer to retry or switch methods.
SYSTEM_ERRORInternal system errorCause: A transient internal error in WaffoAsk the customer to retry; contact support if persistent.
UNKNOWN_ERRORUnknown errorCause: An undefined exception occurredAsk the customer to retry; contact support if it keeps happening.
UNSPECIFIED_PAYMENT_FAILUREPayment failed (no specific reason)Cause: The bank or payment service didn’t give a specific reasonAsk the customer to try another method.

Terminal — no action available

The payment never went through and the transaction is closed. No remediation is possible; you can still reach out to the customer if you want to recover the sale.
CodeMeaningWhy it failedRecommended action
CANCEL_CLOSEOrder closedCause: This order was closedNo action needed.
TIMEOUT_CLOSECustomer payment timeoutCause: The customer didn’t pay in time and the order was closedSend a new payment link if needed.
USER_CANCEL_CLOSECustomer canceledCause: The customer canceled this orderReach out if you want to recover the sale.
CARD_CARDHOLDER_REJECTCustomer declined at bankCause: The customer canceled the payment at their bankReach out if you want to recover the sale.
MERCHANT_ORDER_TIMEOUTOrder expiredCause: The order’s expiration passed without payment and was auto-closedSend a new payment link if needed.

Other

Bank-side duplicate detection.
CodeMeaningWhy it failedRecommended action
CARD_BANK_REJECT_DUPLICATEDuplicate transactionCause: The bank detected this as a duplicate and blocked it to prevent double-chargingThe customer should contact the bank if it isn’t.