Skip to main content

Overview

The transaction_reason_type enum is used in the Create Transaction and Create Batch request body as the optional reason field. It describes the outcome or cause of a transaction (e.g. decline, failure, limit exceeded). If omitted, the system uses WITHOUT_REASON. The field is optional so existing integrations remain valid.

Full Enum Values

All allowed values (alphabetically):
ValueDescription
ACCOUNT_BLOCKEDAccount is blocked
ACCOUNT_CLOSEDAccount is closed
ACCOUNT_FROZENAccount is frozen
AML_ALERTAML (Anti-Money Laundering) alert
BENEFICIARY_BLOCKEDBeneficiary is blocked
BENEFICIARY_LIMIT_EXCEEDEDBeneficiary limit exceeded
CARD_BLOCKEDCard is blocked
CARD_EXPIREDCard has expired
CARD_LOST_OR_STOLENCard reported lost or stolen
CANCELLED_BY_MERCHANTCancelled by merchant
CANCELLED_BY_SYSTEMCancelled by system
CANCELLED_BY_USERCancelled by user
CHANNEL_NOT_ALLOWEDChannel not allowed
COMPLIANCE_BLOCKCompliance block
CONNECTION_ERRORConnection error
CONTACT_ISSUERContact card issuer
CONVERSION_NOT_ALLOWEDCurrency conversion not allowed
COUNTRY_RESTRICTIONCountry restriction
CURRENCY_NOT_SUPPORTEDCurrency not supported
DAILY_LIMIT_EXCEEDEDDaily limit exceeded
DOCUMENTATION_REQUIREDDocumentation required
DO_NOT_HONORDo not honor (generic decline)
DUPLICATE_TRANSACTIONDuplicate transaction
EXCEEDS_WITHDRAWAL_FREQUENCYExceeds withdrawal frequency
EXPIREDTransaction or resource expired
FRAUD_SUSPECTEDFraud suspected
INSUFFICIENT_FUNDSInsufficient funds
INSUFFICIENT_LIQUIDITYInsufficient liquidity
INVALID_ACCOUNTInvalid account
INVALID_AMOUNTInvalid amount
INVALID_BENEFICIARYInvalid beneficiary
INVALID_CARDInvalid card
INVALID_CREDENTIALSInvalid credentials
INVALID_PINInvalid PIN
KYC_PENDINGKYC pending
KYC_REJECTEDKYC rejected
LIMIT_EXCEEDEDLimit exceeded (generic)
LOST_CARDLost card
MAINTENANCESystem maintenance
MERCHANT_BLOCKEDMerchant blocked
MERCHANT_CATEGORY_BLOCKEDMerchant category blocked
MONTHLY_LIMIT_EXCEEDEDMonthly limit exceeded
OTHEROther reason
PEP_MATCHPEP (Politically Exposed Person) match
PICK_UP_CARDPick up card (retain)
PIN_TRIES_EXCEEDEDPIN tries exceeded
RECURRING_NOT_ALLOWEDRecurring not allowed
REFUSED_BY_ACQUIRERRefused by acquirer
REFUSED_BY_ISSUERRefused by issuer
REQUIRED_FIELD_MISSINGRequired field missing
RESERVATION_FAILEDReservation failed
RESTRICTED_CARDRestricted card
RISK_SCORE_THRESHOLDRisk score threshold exceeded
SANCTIONS_MATCHSanctions list match
STOLEN_CARDStolen card
SYSTEM_ERRORSystem error
TIME_RESTRICTIONTime restriction
TIMEOUTTimeout
TRANSACTION_LIMIT_EXCEEDEDTransaction limit exceeded
VALIDATION_FAILEDValidation failed
WITHOUT_REASONNo specific reason (default when omitted)

Usage

  • Create Transaction: Send reason in the request body with any value from the table above. Omit to use WITHOUT_REASON.
  • Create Batch: Each transaction in the array can include reason; same behavior as Create Transaction.
  • Rules / Conditions: Use the transaction.global.reason field in rule conditions to filter or score by outcome reason.

See Also