Cycle Logo

Key Enums

A reference for the various enums used throughout the Cycle Android SDK.

ReaderType

Defines supported external card reader models.

TypeDescription
DSPREAD_D60Cycle One device with built-in printer
...Additional types are supported, but not yet in South Africa.

ReaderEvent

Defines events emitted by the card reader during its lifecycle and transaction flow.

TypeDescription
CONNECTEDThe card reader has successfully connected.
DISCONNECTEDThe card reader has been disconnected.
START_INITInitialization of the card reader has started.
INIT_SUCCESSFULLYInitialization completed successfully.
INIT_FAILEDInitialization failed.
EJECT_CARD_TIMEOUTTimeout due to card not being ejected or inactivity.
SWIPE_CARDMagnetic stripe swipe detected.
EMV_TRANSACTION_STARTEDA chip card transaction has started.
NFC_TRANSACTION_STARTEDAn NFC (contactless) transaction has started.
WAITING_FOR_CARDAwaiting card input (swipe, insert, or tap).
PAYMENT_CANCELEDTransaction was cancelled by the user.
EJECT_CARDCard must be ejected (typically after an error).
BAD_SWIPEFailed to read magnetic stripe.
LOW_BATTERYReader battery level is below 10%.
CARD_TIMEOUTCard input timed out.
CARD_INFO_RECEIVEDCard information successfully read.
PIN_TIMEOUTTimeout waiting for PIN entry.

PaymentInputType

Specifies the source and context of the payment method.

TypeDescription

Physical Card Input Types

SWIPEPayment using magnetic stripe.
CHIPPayment using chip (EMV) card.
NFCContactless (NFC) payment.

Payment Source Types

PREPAIDPrepaid payment method.
CREDITCredit-based payment.
CASHPayment made in cash.
OTHERPayment via an external method (e.g., payment link).
OUTER_CARDCard payment processed by an external POS terminal.

PaymentError

Defines error types that may occur during the lifecycle of a transaction.

TypeDescription
CONNECTION_ERRORFailed to connect to Cycle servers.
SERVER_ERRORError occurred while processing the transaction server-side.
TRANSACTION_NULL_OR_EMPTYNo valid transaction was formed or provided.
NO_SUCH_TRANSACTIONTransaction not found or is ambiguous.
EMV_ERRORGeneric EMV error.
EMV_TERMINATEDTransaction was forcefully terminated.
EMV_DECLINEDTransaction was declined by the issuer.
EMV_CANCELTransaction was cancelled.
EMV_CARD_ERRORCard-related error during EMV operation.
EMV_DEVICE_ERRORCard reader device error.
EMV_CARD_NOT_SUPPORTEDCard type is not supported by reader or SDK.
EMV_NOT_ALLOWEDChip-based payment is not permitted.
EMV_ZERO_TRAN_EMVAttempted a chip transaction with a 0-value amount.
NFC_NOT_ALLOWEDNFC (contactless) payment not permitted.
INVALID_AMOUNTRefund or cancellation amount exceeds transaction balance.
STANDALONE_FAILEDError occurred during a TTK standalone payment.
NFC_LIMIT_EXCEEDEDAmount exceeds contactless transaction limit.
TTK_FAILEDError in external payment via TTK protocol.
EXT_APP_FAILEDExternal app integration failure during transaction.
SWIPE_NOT_ALLOWEDMagnetic stripe payments not supported.
RESUBMIT_FAILEDFailed to confirm transaction on resubmission.
DEFERRED_FAILEDError generating deferred transaction data.
INTERNAL_ERRORGeneric internal error in SDK during transaction.

RegularRepeatType

Defines the recurrence pattern for scheduled (recurring) payments.

TypeDescription
NeverExecutes only once (non-recurring).
WeeklyExecutes every week on the same day.
MonthlyExecutes once a month.
QuarterlyExecutes once every 3 months.
AnnualExecutes once a year.
ArbitraryDaysExecutes on specific, user-defined days.

RegularEndType

Defines how a recurring payment schedule should be terminated.

TypeDescription
BY_QUANTITYEnds after a predefined number of executions.
BY_DAYEnds on a specified calendar date.

ReverseAction

Specifies the action to be performed when reversing or cancelling a recurring payment.

TypeDescription
CANCELCancels the future scheduled payments.
RETURNIssues a return/refund for a completed payment.

PrintResult

Describes the result of a print attempt during receipt generation.

TypeDescription
SUCCESSThe receipt printed successfully.
NO_PAPERNo paper loaded in the printer.
WRONG_CMDAn invalid or unsupported command was issued to the printer.
OVERHEATThe printer head has overheated.
TIMEOUTNo response received from the printer within timeout limit.
PRINTER_ERRORA general printer error has occurred.

PaymentMethod

Enumerates the available methods for executing a payment.

TypeDescription
CARDStandard bank card payment (debit or credit).
CREDITCredit payment method.
CASHCash payment recorded manually.
OTHERPayment made via online payment link.
LINKED_CARDPayment using a previously linked card token.
OUTER_CARDPayment processed externally via an integrated POS system.
PREPAIDPrepaid method or wallet payment.