Transaction Statuses
Overview
The TransactionStatus enumeration, defined in the uz.devops.bmcore.enumeration package, represents the various statuses a transaction can have within a payment system. Each status is associated with multilingual labels (in Uzbek, Russian, and English) using the SharedI18n class, allowing for internationalization. This enumeration is used in the Payment API to indicate the state of check and pay operations, as well as other transaction-related processes.
The class includes a utility method fromText to retrieve a TransactionStatus value by its name and marks UNKNOWN as the default value for JSON deserialization using @JsonEnumDefaultValue.
Enum Values
The following table lists all possible TransactionStatus values along with their English labels and descriptions:
NEW
NEW
Indicates a newly created transaction.
CHECK_OK
CHECK_OK
The check operation was successful, confirming the payment is feasible.
CHECKING
CHECKING
The check operation is in progress.
CHECK_FAIL
CHECK_FAIL
The check operation failed, indicating the payment cannot proceed.
WAITING
WAITING
The transaction is in a waiting state, typically for asynchronous services.
PAYING
PAYING
The payment operation is in progress.
SUCCESS
SUCCESS
The payment operation was completed successfully.
SUCCESS_WITHOUT_COMMISSION
SUCCESS WITHOUT COMMISSION
The payment was successful without any commission applied.
SUCCESS_WITHOUT_PERFORM
SUCCESS WITHOUT PERFORM
The payment was successful but not fully performed (e.g., partial processing).
SUCCESS_WITHOUT_FISCAL
SUCCESS WITHOUT FISCAL DATA
The payment was successful without sending fiscal data.
FAILED
FAILED
The payment operation failed.
CANCELLED
CANCELLED
The transaction was cancelled.
CANCELLED_WITHOUT_COMMISSION
CANCELLED WITHOUT COMMISSION
The transaction was cancelled without applying a commission.
REVERSED
REVERSED
The transaction was reversed (e.g., funds returned to the sender).
INVOICE_SENDING
INVOICE SENDING
An invoice for payment is being sent.
INVOICE_SENT
INVOICE_SENT
The invoice for payment has been sent.
INVOICE_PAID
INVOICE_PAID
The invoice for payment has been paid.
FINISHED
FINISHED
The transaction has been fully completed.
EXPIRED
EXPIRED
The transaction has expired (e.g., due to a timeout).
INVOICE_REJECTED
INVOICE_REJECTED
The invoice for payment was rejected.
POSTPONED
POSTPONED
The transaction has been postponed.
OTHER
OTHER
A miscellaneous or unspecified status.
DEBITED
DEBITED
Funds have been debited from the sender's account.
CANCEL_FAILED
CANCEL FAILED
The attempt to cancel the transaction failed.
R_CANCEL_FAILED
RECIPIENT CANCEL FAILED
The attempt to cancel the transaction for the recipient failed.
S_CANCEL_FAILED
SENDER CANCEL FAILED
The attempt to cancel the transaction for the sender failed.
RECIPIENT_CANCELLED
RECIPIENT CANCELLED
The transaction was cancelled by the recipient.
SENDER_CANCELLED
SENDER CANCELLED
The transaction was cancelled by the sender.
R_AUTO_CANCELLED
RECIPIENT AUTOMATIC CANCELLED
The recipient's transaction was automatically cancelled after a check.
S_AUTO_CANCELLED
SENDER AUTOMATIC CANCELLED
The sender's transaction was automatically cancelled after a check.
R_AUTO_CANCELLED_FAILED
RECIPIENT AUTOMATIC CANCELLED FAILED
The automatic cancellation for the recipient failed.
S_AUTO_CANCELLED_FAILED
SENDER AUTOMATIC CANCELLED FAILED
The automatic cancellation for the sender failed.
S_NEED_CONFIRM
SENDER NEED CONFIRM
The sender's payment requires confirmation (e.g., by an auto-checker).
R_NEED_CONFIRM
RECIPIENT NEED CONFIRM
The recipient's payment requires confirmation (e.g., manually or by auto-checker).
HOLD_SUCCESS
HOLD SUCCESS
The transaction was successfully placed on hold.
HOLD_ERROR
HOLD ERROR
An error occurred while placing the transaction on hold.
HOLD_WAITING
WAITING HOLD
The transaction is waiting to be placed on hold.
HOLD_CANCELLED
HOLD CANCELLED
The hold on the transaction was cancelled.
HOLD_CONFIRM_ERROR
CONFIRM ERROR
An error occurred during hold confirmation.
HOLD_CONFIRM_CANCELLED
HOLD CONFIRM CANCELLED
The hold confirmation was cancelled.
GATEWAY_SUCCESS
GATEWAY SUCCESS
The gateway processed the transaction successfully.
GATEWAY_FAILED
GATEWAY ERROR
The gateway failed to process the transaction.
GATEWAY_TIMEOUT
GATEWAY TIMEOUT
The gateway timed out while processing the transaction.
NEED_CASHBACK
CASHBACK NEED TO APPLIED AGAIN
The transaction requires a cashback to be applied again.
BLACK_LIST_CHECK_FAILED
TRANSACTION FAILED IN BLACKLIST CHECK
The transaction failed due to a blacklist check.
UNKNOWN
Unknown exception
An unknown or unspecified error occurred (default value for JSON deserialization).
Usage Notes
Accessing Enum Values: Use the
fromTextmethod to retrieve aTransactionStatusby its name (case-insensitive). For example:This returns an
Optional<TransactionStatus>containing theSUCCESSenum value if found, or an emptyOptionalif not.Default Value: The
UNKNOWNstatus is marked with@JsonEnumDefaultValue, meaning it will be used as the default when deserializing an unrecognized status value in JSON.Integration with Payment API: This enumeration is used in the Payment API (e.g., in
CheckResponseandPayResponse) to indicate the status of transactions. Refer to the Payment API Documentation for details on its usage in check and pay operations.
Multilingual Support
Each TransactionStatus value includes labels in three languages (Uzbek, Russian, and English) via the SharedI18n class. This documentation lists only the English labels, but Uzbek and Russian translations are available in the TransactionStatus.java class for internationalization purposes. To access translations in other languages, refer to the class source or request localized documentation.
Last updated