Transaction Lifecycle

When customers initiate a payment, there are various states that the transaction may go through before reaching your account. The various states help you understand the status of the transaction.

After your customers initiate a payment, the transaction can go to either of the following states described below. You now have the flexibility to define the time interval for the termination of transactions.

Customers expect an immediate response from the payment gateway after making the payment. Any delay in processing payment may lead to uncertainty. To improve the payment experience for your customers, Cashfree will terminate every transaction within a specific period if it does not reach a terminal state (Success, Failed, User_Dropped, Cancelled, Void). If the bank sends a successful response after the transaction has been terminated, Cashfree will reverse those payments to your customers.

You can specify the termination time as per your business needs. It can be from 10 minutes to 1 day. If you set the termination time to be 10 minutes, it implies that every payment initiated will reach a terminal state within 10 minutes. Write to [email protected] to specify the time duration for the termination of transactions.

Various Transaction States


Transactions are marked as SUCCESS when we get a successful response from the bank, and we can capture the amount in our system.


Transactions are marked as FAILED when we get a failed response from the bank.


Transactions are marked as INCOMPLETE, which later changes to other states based on the responses from other entities.


Transactions are marked as PENDING when we have successfully sent the request to the bank but waiting for a response. At this point, the bank could be processing the transaction, and no further action is required from your end.


Transactions are marked as FLAGGED if we have identified any risks associated with the transaction.


Transactions are marked as CANCELLED based on the response from the bank.


Transactions are marked as VOID when we do not want to capture the transaction amount (pre-authorized transactions).

User Dropped

Transactions are marked as USER_DROPPED when customers drop out of the payment flow without completing the transaction. It will also help you understand if customers attempted to pay or not.

Not Attempted

Transactions are marked as NOT_ATTEMPTED when customers do not complete transactions.

Some common scenarios where the transaction will be marked as USER_DROPPED are:

  • Android UPI Intent Payments - when a user clicks on the back button in the UPI app without making any payment attempt.
  • Card Payments - when a user drops out of the payment flow by closing the OTP verification page.
  • UPI Collect Transactions - when a user does not enter the UPI PIN and closes the transaction screen.

Did this page help you?