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:

Enum Value
English Label
Description

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 fromText method to retrieve a TransactionStatus by its name (case-insensitive). For example:

    This returns an Optional<TransactionStatus> containing the SUCCESS enum value if found, or an empty Optional if not.

  • Default Value: The UNKNOWN status 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 CheckResponse and PayResponse) 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