| Code | Meaning | Why it failed | Recommended action |
|---|---|---|---|
CARD\_ABNORMAL\_CARDNUMBER |
Invalid card number | **Cause:** The card number entered is invalid or does not exist | Ask the customer to re-enter it. |
CARD\_ABNORMAL\_NOTACTIVATED |
Card not yet activated | **Cause:** The customer's card hasn't been activated | Ask them to activate it with their bank. |
CARD\_ABNORMAL\_NOTACTIVATED\_ACCOUNT |
Bank account not activated | **Cause:** The customer's bank account is inactive | Ask them to contact their bank. |
CARD\_AMOUNTOVERLIMIT |
Exceeds card transaction limit | **Cause:** Amount exceeds the card's per-transaction or daily limit | Customer may split the charge or use another card. |
CARD\_AUTHENTICATION\_FAILED |
Card details verification failed | **Cause:** Couldn't initiate bank verification with the card details | Ask the customer to recheck number, expiry, and CVV. |
CARD\_AUTHENTICATION\_FAILED\_ADDRESS |
Billing address mismatch | **Cause:** The billing address doesn't match the issuer's records | Ask the customer to correct it. |
CARD\_AUTHENTICATION\_FAILED\_CVV2 |
Incorrect CVV | **Cause:** The card's security code is wrong | Ask the customer to re-enter it. |
CARD\_AUTHENTICATION\_FAILED\_NEED\_ADDITIONAL\_AUTH |
Additional verification required | **Cause:** The bank requires extra verification | The customer should contact their bank or complete verification on retry. |
CARD\_AUTHENTICATION\_FAILED\_VERIFICATIONDATA |
Verification data mismatch | **Cause:** Information provided during verification didn't match the issuer's records | Ask the customer to retry. |
CARD\_AUTHENTICATION\_FAILED\_VERIFICATIONDATA |
3-D Secure data mismatch | **Cause:** Information provided during 3-D Secure didn't match the issuer's records | Ask the customer to retry. |
CARD\_AUTHENTICATION\_FAILED\_VERIFICATIONDATA |
One-time code incorrect | **Cause:** The customer's one-time verification code from the bank was wrong | Ask them to request a new code and retry. |
CARD\_BANK\_REJECT\_ISSUER\_CONTACT |
Issuer requires customer contact | **Cause:** The customer's bank wants them to call to verify or lift a restriction before retrying | Ask the customer to contact their bank. |
CARD\_BANK\_REJECT\_ISSUER\_URGENT |
Bank flagged abnormality | **Cause:** The customer's bank flagged something and wants them to call immediately | Ask the customer to contact their bank right away. |
CARD\_OVERLIMIT |
Exceeds bank limit | **Cause:** Amount exceeds the customer's credit limit or per-transaction cap | Suggest splitting the charge or using another card. |
CARD\_PIN\_INVALID |
PIN or CVV incorrect | **Cause:** The PIN or CVV entered was wrong | Ask the customer to re-verify. |
EXCEED\_DAILY\_LIMIT |
Daily limit reached | **Cause:** The customer's daily spending hit the bank's cap | Suggest retrying tomorrow or using another card. |
INITIATE\_AUTHENTICATION\_FAILED |
Verification could not start | **Cause:** Couldn't start bank verification with this card number | Ask the customer to recheck the card number. |
USER\_CPF\_INVALID |
Brazilian Tax ID (CPF) invalid | **Cause:** The Brazilian Tax ID the customer entered is malformed or doesn't exist | Ask them to correct it. |
CREATE\_ORDER\_EXPIRED\_TOKEN |
Checkout page expired | **Cause:** The customer took too long on the checkout page | Ask them to start a new checkout. |
| Code | Meaning | Why it failed | Recommended action |
|---|---|---|---|
CARD\_ABNORMAL |
Card in abnormal status | **Cause:** The customer's card has been reported lost or frozen | Ask them to use another payment method. |
CARD\_ABNORMAL\_CLOSED |
Bank account closed | **Cause:** The customer's bank account is closed | Ask them to use another payment method. |
CARD\_ABNORMAL\_CLOSED\_FROMACCOUNT |
Source account closed | **Cause:** The funding account linked to the customer's card is closed | Ask them to use another method. |
CARD\_ABNORMAL\_EXPIRED |
Card expired | **Cause:** The customer's card has expired | Ask them to update it or use a different card. |
CARD\_ABNORMAL\_FRAUD |
Issuer flagged as fraud | **Cause:** The customer's bank blocked this on fraud suspicion | Ask them to contact the bank or use another card. |
CARD\_ABNORMAL\_ISSUER |
Issuer not registered | **Cause:** The customer's bank isn't registered with the card network | Ask them to use a different card. |
CARD\_ABNORMAL\_LOST |
Card reported lost | **Cause:** The customer's card was reported lost | Ask them to use another payment method. |
CARD\_ABNORMAL\_NOCREDIT |
No linked credit account | **Cause:** Couldn't find a credit account tied to the customer's card | Ask them to verify or use another card. |
CARD\_ABNORMAL\_STOLEN |
Card reported stolen | **Cause:** The customer's card has been reported lost or stolen | Ask them to use another payment method. |
CARD\_BANK\_REJECT\_BLOCK |
Bank account blocked | **Cause:** The customer's bank account is frozen | Ask them to use another method or contact the bank. |
CARD\_BANK\_REJECT\_FRAUD |
Bank blocked for fraud | **Cause:** The customer's bank flagged this transaction as fraud and blocked it | Ask them to use another method. |
CARD\_BANK\_REJECT\_LAW |
Account restricted by law | **Cause:** The customer's account is legally restricted from transactions | Ask them to use another method. |
CARD\_BANK\_REJECT\_REVOKEALL\_ACCOUNT |
Account access revoked | **Cause:** The customer's account access has been fully revoked | Ask them to use another method. |
CARD\_INSUFFICIENT\_BALANCE |
Insufficient funds | **Cause:** The customer's card doesn't have enough funds | Ask them to top up or use another card. |
CARD\_INVALID\_TRANSACTION |
Card type not supported | **Cause:** The customer's card doesn't support this transaction type | Ask them to use a different card. |
CARD\_PAYMENT\_RETRY\_LIMIT |
Retry limit reached | **Cause:** Too many failed attempts on this card; the network has blocked further retries | Ask the customer to use a different card. |
CARD\_ABNORMAL\_NOCHECKING |
Card couldn't be verified | **Cause:** The issuer flagged the customer's card as abnormal and couldn't verify it | Ask them to use another card. |
CARD\_ABNORMAL\_RESTRICTED |
Card restricted in this region | **Cause:** The customer's card is restricted or locked in this region | Ask them to use another method. |
CARD\_NOTALLOWED\_TXN |
Transaction type not allowed | **Cause:** The issuer prohibits this transaction type on this card (e.g. cross-border) | Ask the customer to use a different card. |
PAYMENT\_REJECTION |
Blocked by Waffo risk | **Cause:** This transaction was blocked by Waffo's risk rules | Contact support if you think this is wrong. |
PAYMENT\_CHANNEL\_REJECTION |
Payment rejected | **Cause:** The payment service rejected this transaction on its own risk rules | Ask the customer to use another method. |
PAYMENT\_CHANNEL\_REJECTION |
Subscription charge rejected | **Cause:** The saved payment method for this subscription has not been verified | Ask the customer to verify it in the customer portal. |
PAYMENT\_CHANNEL\_REJECTION |
Subscription charge failed: card expired | **Cause:** The card on file for this subscription has expired | Ask the customer to update it in the customer portal. |
PAYMENT\_CHANNEL\_REJECTION |
Invalid mobile number | **Cause:** The customer's mobile number format is invalid | Ask them to correct it. |
CREATE\_ORDER\_FAILED |
Payment service under maintenance | **Cause:** The payment service is undergoing maintenance | Ask the customer to retry later. |
CREATE\_ORDER\_FAILED |
Payment service declined | **Cause:** The payment service rejected this transaction on its own risk rules | Ask the customer to use another method. |
| Code | Meaning | Why it failed | Recommended action |
|---|---|---|---|
CARD\_AUTHENTICATION\_ERROR |
Verification protocol error | **Cause:** A protocol or communication issue occurred during verification | Ask the customer to retry shortly. |
CARD\_BANK\_REJECT\_REVOKE\_SINGLE |
Bank revoked this transaction | **Cause:** The customer's bank revoked this specific authorization | Ask them to retry. |
CARD\_BANK\_REJECT\_SECURITY |
Blocked by bank security | **Cause:** The customer's bank blocked this for security | Ask them to retry later or contact the bank. |
CARD\_COUNTOVERLIMIT |
Too many attempts | **Cause:** The customer's card has hit a frequency limit | Ask them to retry later. |
ISSUE\_BANK\_DECLINE |
Issuer declined (no reason) | **Cause:** The customer's bank declined without specifying why | Ask them to retry later. |
RISK\_TRANSACTION\_LIMIT |
Waffo risk control triggered | **Cause:** Waffo's amount or velocity rules blocked this transaction | Ask the customer to retry later or use another card. |
TIMEOUT\_CHANNEL\_CLOSE |
Payment service timed out | **Cause:** The payment service didn't respond in time, so this attempt was auto-closed | Ask the customer to retry. |
CARD\_BANK\_REJECT |
Bank declined | **Cause:** The customer's bank declined this without a specific reason | Ask them to retry later. |
CARD\_GENERAL\_ERROR |
Bank generic error | **Cause:** The bank returned a non-specific error | Ask the customer to retry or switch methods. |
CARD\_ORG\_OTHER\_ERROR |
Card network error | **Cause:** The card network (Visa, Mastercard, etc.) returned an internal error | Ask the customer to retry. |
CARD\_SYSTEMERROR |
Bank temporarily down | **Cause:** The customer's bank is having transient issues | Ask them to retry shortly. |
CREATE\_ORDER\_ERROR |
Payment initiation timed out | **Cause:** Network timeout when creating the transaction | Ask the customer to retry. |
PAYMENT\_CHANNEL\_ERROR |
Payment service communication error | **Cause:** An unexpected error occurred communicating with the payment service | Ask the customer to retry. |
PAYMENT\_CHANNEL\_ERROR |
Payment service network error | **Cause:** The network connection to the payment service failed | Ask the customer to retry. |
PAYMENT\_CHANNEL\_ERROR |
Payment service communication error | **Cause:** An unexpected error occurred communicating with the payment service | Ask the customer to retry. |
PAYMENT\_CHANNEL\_ERROR |
Unexpected payment service response | **Cause:** The payment service returned an unparseable response | Ask the customer to retry. |
PAYMENT\_FAILED |
Payment failed | **Cause:** See the transaction detail for the specific reason | Contact support if unclear. |
PAYMENT\_FAILED |
Customer abandoned checkout | **Cause:** The customer left the checkout page without finishing | Reach out if you want to recover the sale. |
PAYMENT\_FAILED |
Payment service notification failed | **Cause:** The payment may have succeeded but the notification didn't arrive | Check the order status again later. |
PAYMENT\_FAILED |
Payment service error | **Cause:** The payment service didn't give specific details | Ask the customer to retry or switch methods. |
SYSTEM\_ERROR |
Internal system error | **Cause:** A transient internal error in Waffo | Ask the customer to retry; contact support if persistent. |
UNKNOWN\_ERROR |
Unknown error | **Cause:** An undefined exception occurred | Ask the customer to retry; contact support if it keeps happening. |
UNSPECIFIED\_PAYMENT\_FAILURE |
Payment failed (no specific reason) | **Cause:** The bank or payment service didn't give a specific reason | Ask the customer to try another method. |
| Code | Meaning | Why it failed | Recommended action |
|---|---|---|---|
CANCEL\_CLOSE |
Order closed | **Cause:** This order was closed | No action needed. |
TIMEOUT\_CLOSE |
Customer payment timeout | **Cause:** The customer didn't pay in time and the order was closed | Send a new payment link if needed. |
USER\_CANCEL\_CLOSE |
Customer canceled | **Cause:** The customer canceled this order | Reach out if you want to recover the sale. |
CARD\_CARDHOLDER\_REJECT |
Customer declined at bank | **Cause:** The customer canceled the payment at their bank | Reach out if you want to recover the sale. |
MERCHANT\_ORDER\_TIMEOUT |
Order expired | **Cause:** The order's expiration passed without payment and was auto-closed | Send a new payment link if needed. |
| Code | Meaning | Why it failed | Recommended action |
|---|---|---|---|
CARD\_BANK\_REJECT\_DUPLICATE |
Duplicate transaction | **Cause:** The bank detected this as a duplicate and blocked it to prevent double-charging | The customer should contact the bank if it isn't. |
{plan.price} /{plan.period}
Thank you for your purchase. You now have access to all features.
Go to DashboardYour current plan: {user.plan}
{/* Dashboard content */}