StatusMeaning

BILL_CREATED

The UPI link is created.
PAYMENT_SUCCESSFUL
User has made a successful payment.
PAYMENT_FAILED
User has made a payment but it failed due to some validation reasons or bank side issue (rare scenario).
CREDIT_RECEIVED
The money is received by Setu.
SETTLEMENT_SUCCESSFUL
The money is settled to merchant account.
SETTLEMENT_FAILED
The attempt to settle money to merchant account has failed - generally we would either resolve this internally with next batch of settlement or reach out to you in case there is some additional info required.
BILL_EXPIRED
The UPI link has expired either by the default timeline or the timeline set by customer.


A UPI link can take multiple paths depending on the success and failure at different steps. Accordingly, the status journeys of a UPI link can be mapped as follows.


An ideal status flow (where user pays successfully and money is settled to merchant account) for a UPI payment link is:

BILL_CREATED > PAYMENT_SUCCESSFUL > CREDIT_RECEIVED > SETTLEMENT_SUCCESSFUL


In case a user doesn't pay or the payment is unsuccessful due to any reason between user's UPI app and user's bank:
BILL_CREATED > BILL_EXPIRED


In case payment fails due to an error on Setu (such as amount validation):

BILL_CREATED > PAYMENT_FAILED


In case of settlement related issues:

BILL_CREATED > PAYMENT_SUCCESSFUL > CREDIT_RECEIVED > SETTLEMENT_FAILED