Payment Method Error Parameters
Learn about the different errors in the payment flows per each payment method supported by Razorpay.
There are certain error codes specific for each payment method supported by Razorpay. To understand the errors and their reasons
, it is recommended to know the source
(stakeholders) and the steps
involved in the payment flows:
The payment flow for Card payments is illustrated below.
The possible values for the source
parameter for cards are listed below:
customer
business
internal
gateway
issuer_bank
The possible values for the step
parameter, along with the description, are listed below:
-
payment_initiation
Your system initiates and sends the payment request to our server. Our server validates your request, creates the payment flow and forwards the request to the Gateway.
-
card_enrollment_check
Upon receiving a request from Razorpay, Gateway sends the enrollment check request to the bank for the enrollment of the card check.
-
payment_authentication
The bank verifies the enrollment of the card, and then requests the authentication of the customer by sending 3DS URL and OTP to the customer.
-
3DS URL
Bank sends the Authentication (3DS URL), which is routed through Gateway > Razorpay > Customer.
-
OTP
The bank sends the OTP to the customerβs mobile directly. The customer enters the valid OTP within the time on the bank's OTP page.
-
payment_authorization
Once the customer has completed the authentication, the bank authorizes the release of the funds. The authorization status is communicated to the Gateway which in turn communicates the same to Razorpay.
-
payment_capture
Once the payment is successfully authorized, Razorpay sends the capture request to the Gateway which in turn sends the same to the bank to capture the authorized payment.
UPI payments can be made using the following:
The payment flow for UPI Intent payments is illustrated below.
The possible values for the source
parameter for both collect and intent flows in UPI are as follows:
customer
business
internal
customer_psp
gateway
network
issuer_bank
beneficiary_bank
The possible values for the step
parameter for UPI Intent flow, along with the description, are listed below:
-
mandate_creation
Request to create a new UPI mandate.
-
payment_initiation
Your system initiates and sends the payment request to our server.
-
payment_creation
Razorpay creates an intent URL and passes it back to you.
-
payment_authentication
Payer clicks on the pay button (pointing to the intent url), which prompts the payer to open the PSP App. After the App opens, the payer enters the M-PIN on the PSP App, and then authenticates the transaction.
-
payment_request
Payer PSP sends the payment request to the UPI network.
-
payment_request_beneficiary_details
The UPI network requests the beneficiary details from the Payee PSP.
-
payment_response_beneficiary_details
Payee PSP sends the beneficiary details to the UPI network.
-
payment_debit_request
The UPI network requests a debit of the given payment amount from the customer's bank.
-
payment_debit_response
Customerβs bank sends the debit response to the NPCI.
-
payment_credit_request
The UPI network sends the payment credit request to your account maintained with Razorpay.
-
payment_credit_response
The beneficiary bank sends the credit response to the UPI network.
-
payment_status_request
UPI network requests the transaction confirmation status from Payee PSP which acts as the gateway in UPI transactions.
-
payment_status_response
Payee PSP sends the transaction confirmation response to the UPI Network.
-
payment_response
Payee PSP sends the callback to our server. This will contain the final transaction status.
-
refund_request
Request to initiate a refund.
The payment flow for UPI Collect payments is illustrated below.
The possible values for the source
parameter for both collect and intent flows in UPI are as follows:
customer
business
internal
customer_psp
gateway
network
issuer_bank
beneficiary_bank
The possible values for the step
parameter for the UPI Collect flow, along with the description, are listed below:
-
mandate_creation
Request to create a new UPI mandate.
-
payment_initiation
Your system initiates and sends the payment request to our server.
-
payment_creation
Razorpay creates the payment and sends the collect request via Payee PSP (Gateway).
-
payment_request
Payee PSP sends the payment request to the UPI network.
-
payment_authentication_request
The UPI network sends an authentication request for the given payment amount to the Payer PSP.
-
payment_authentication
Customer clicks on the payment notification received on mobile which opens the PSP App. After the App opens, the customer enters the M-PIN on the PSP App, and then authenticates the transaction.
-
payment_authentication_response
Payer PSP sends the authentication details to the UPI network.
-
payment_debit_request
Upon successful authentication, the UPI network requests a debit of the given payment amount from the customer's bank.
-
payment_debit_response
Customerβs bank sends the debit response to the UPI Network.
-
payment_credit_request
The UPI network sends the payment credit request to your account maintained with Razorpay.
-
payment_credit_response
The beneficiary bank sends the credit response to the UPI network.
-
payment_status_request
UPI network sends the transaction confirmation request to payer PSP (Google Pay).
-
payment_status_response
Payer PSP (Google Pay) sends acknowledge, informs the customer and sends the response to NPCI.
-
payment_response
Payee PSP sends the callback to our server. This will contain the final transaction status.
-
refund_request
Request to initiate a refund.
The payment flow for Netbanking payments is illustrated below:
The possible values for the source
parameter for netbanking are listed below:
customer
business
internal
issuer_bank
The possible values for the step
parameter, along with the description, are listed below:
-
payment_initiation
Your system initiates and sends the payment request to our server. Razorpay sends the bank url back to you.
-
payment_authentication
The customer logs into his netbanking account and completes the transaction.
-
payment_authorization
Upon successful authentication, bank authorizes the release of funds and notifies Razorpay. Razorpay in turn, notifies the business.
The payment flow for Wallet payments is illustrated below:
The possible values for the source
parameter for wallet are listed below:
customer
business
internal
issuer
The possible values for the step
parameter, along with the description, are listed below:
-
payment_initiation
Your system initiates and sends the payment request to our server. Our server sends the same request to the Bank/Gateway.
-
payment_eligibility_check
Razorpay sends the eligibility check request to the issuer to determine if the entered customer information is correct.
-
payment_authentication
Customer authenticates the payment using OTP provided by the issuer.
-
payment_authorization
Issuer authorizes the release of funds and sends confirmation to Razorpay.
The payment flow for Cardless EMI payments is illustrated below:
The possible values for the source
parameter for Cardless EMI flow are:
customer
business
internal
network
issuer
The possible values for the step
parameter, along with the description, are listed below:
-
payment_initiation
Your system initiates and sends the payment request to our server. Our server sends the same request to the Bank/Gateway.
-
payment_eligibility_check
Razorpay sends the eligibility check request to the issuer to determine if the entered customer information is correct and to determine the credit eligibility of the customer.
-
payment_authentication
Customer authenticates the payment using OTP provided by the issuer.
-
payment_authorization
Issuer authorizes the release of funds and sends confirmation to Razorpay.
The possible values for the source
parameter for Emandate are listed below:
customer
bank
business
internal
gateway
issuer_bank
The possible values for the step
parameter, along with the description, are listed below:
-
payment_initiation
Your system initiates and sends the payment request to our server. Our server validates your request, creates the payment flow and forwards the request to the Gateway.
-
payment_authentication
The bank verifies the enrollment of the Emandate by asking customers to authenticate themselves.
-
payment_authorization
Once the customer has completed the authentication, the bank authorizes the release of the funds. The authorization status is communicated to the Gateway which in turn communicates the same to Razorpay.