Skip to main content
An enum (enumeration) is a data type that restricts a field to a specific set of predefined string values. The Cashfree Payments API uses enums across requests and responses to ensure that only valid, expected values are accepted or returned for a given field. The following are some examples of enum fields in the Cashfree Payments API:
  • The order_status field returns one of ACTIVE, PAID, EXPIRED, or TERMINATED, never a free-form string.
  • The payment_status field returns one of SUCCESS, FAILED, PENDING, CANCELLED, and others.
  • Net banking and wallet codes are fixed numeric identifiers mapped to specific providers.
Because enum values are fixed and predictable, you can use them directly in conditional logic, error handling, and status checks without accounting for unexpected values.

Order states

Order states represent the current status of an order throughout its lifecycle, from creation to a terminal state such as paid or expired. Use these values to determine whether an order is still open for payment or has reached a final state.
An order moves through the following states based on payment outcomes and merchant actions.

Payment states

Payment states indicate the status of an individual payment attempt within an order. An order can have multiple payment attempts, and each attempt progresses through its own states before reaching a terminal outcome such as SUCCESS or FAILED.
Each payment attempt within an order has its own lifecycle. Use these states to handle granular payment scenarios.

Net banking codes

Net banking codes identify the supported net banking providers. Pass the Bank Code value in the payment_method parameter of your API request to initiate a net banking transaction. The TPV Supported column indicates whether the bank supports Third Party Validation (TPV). When TPV is enabled, Cashfree Payments verifies that the customer completes the payment from the specific bank account provided during order creation.
The following table lists the supported banks and their corresponding codes for net banking integrations.

Wallet codes

Wallet codes identify the supported digital wallet providers. Pass the Payment Code value in your API request to collect payments via a specific wallet.
The following table lists the available wallet providers and their corresponding payment codes.

EMI codes

Equated Monthly Instalment (EMI) codes specify the available instalment plans for supported banks and card types. Use these values to present EMI options to customers during checkout. The following attributes apply across all EMI plan tables:
  • card_bank_name: The bank identifier to pass in the API request parameter.
  • Tenure: The duration of the instalment plan, expressed in months.
  • Annual Interest Rate: The yearly interest rate applied to the transaction amount, expressed as a percentage.
Verify that the transaction amount falls within the Minimum Amount and Maximum Amount range specified for the selected plan and tenure before making the API request.
Credit card EMI lets customers split a large payment into fixed monthly instalments charged to their credit card. This is the most widely supported EMI type and is available across major Indian banks.
The following table lists the supported banks, interest rates, and tenures available for credit card EMI.