Cards
The payment flow for Card payments is illustrated below. The possible values for thesource parameter for cards are listed below:
customerbusinessinternalgatewayissuer_bank
step parameter, along with the description, are listed below:
-
payment_initiationYour 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_checkUpon receiving a request from Razorpay, Gateway sends the enrollment check request to the bank for the enrollment of the card check. -
payment_authenticationThe 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_authorizationOnce the customer has completed the authentication, the bank authorises the release of the funds. The authorisation status is communicated to the Gateway which in turn communicates the same to Razorpay. -
payment_captureOnce the payment is successfully authorised, Razorpay sends the capture request to the Gateway which in turn sends the same to the bank to capture the authorised payment.
UPI
UPI payments can be made using the following:Intent Flow
The payment flow for UPI Intent payments is illustrated below. The possible values for thesource parameter for both collect and intent flows in UPI are as follows:
customerbusinessinternalcustomer_pspgatewaynetworkissuer_bankbeneficiary_bank
step parameter for UPI Intent flow, along with the description, are listed below:
-
mandate_creationRequest to create a new UPI mandate. -
payment_initiationYour system initiates and sends the payment request to our server. -
payment_creationRazorpay creates an intent URL and passes it back to you. -
payment_authenticationPayer 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_requestPayer PSP sends the payment request to the UPI network. -
payment_request_beneficiary_detailsThe UPI network requests the beneficiary details from the Payee PSP. -
payment_response_beneficiary_detailsPayee PSP sends the beneficiary details to the UPI network. -
payment_debit_requestThe UPI network requests a debit of the given payment amount from the customer’s bank. -
payment_debit_responseCustomer’s bank sends the debit response to the NPCI. -
payment_credit_requestThe UPI network sends the payment credit request to your account maintained with Razorpay. -
payment_credit_responseThe beneficiary bank sends the credit response to the UPI network. -
payment_status_requestUPI network requests the transaction confirmation status from Payee PSP which acts as the gateway in UPI transactions. -
payment_status_responsePayee PSP sends the transaction confirmation response to the UPI Network. -
payment_responsePayee PSP sends the callback to our server. This will contain the final transaction status. -
refund_requestRequest to initiate a refund.
Collect Flow
The payment flow for UPI Collect payments is illustrated below. The possible values for thesource parameter for both collect and intent flows in UPI are as follows:
customerbusinessinternalcustomer_pspgatewaynetworkissuer_bankbeneficiary_bank
step parameter for the UPI Collect flow, along with the description, are listed below:
-
mandate_creationRequest to create a new UPI mandate. -
payment_initiationYour system initiates and sends the payment request to our server. -
payment_creationRazorpay creates the payment and sends the collect request via Payee PSP (Gateway). -
payment_requestPayee PSP sends the payment request to the UPI network. -
payment_authentication_requestThe UPI network sends an authentication request for the given payment amount to the Payer PSP. -
payment_authenticationCustomer 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_responsePayer PSP sends the authentication details to the UPI network. -
payment_debit_requestUpon successful authentication, the UPI network requests a debit of the given payment amount from the customer’s bank. -
payment_debit_responseCustomer’s bank sends the debit response to the UPI Network. -
payment_credit_requestThe UPI network sends the payment credit request to your account maintained with Razorpay. -
payment_credit_responseThe beneficiary bank sends the credit response to the UPI network. -
payment_status_requestUPI network sends the transaction confirmation request to payer PSP (Google Pay). -
payment_status_responsePayer PSP (Google Pay) sends acknowledge, informs the customer and sends the response to NPCI. -
payment_responsePayee PSP sends the callback to our server. This will contain the final transaction status. -
refund_requestRequest to initiate a refund.
Netbanking
The payment flow for Netbanking payments is illustrated below: The possible values for thesource parameter for netbanking are listed below:
customerbusinessinternalissuer_bank
step parameter, along with the description, are listed below:
-
payment_initiationYour system initiates and sends the payment request to our server. Razorpay sends the bank URL back to you. -
payment_authenticationThe customer logs into his netbanking account and completes the transaction. -
payment_authorizationUpon successful authentication, bank authorises the release of funds and notifies Razorpay. Razorpay in turn, notifies the business.
Wallet
The payment flow for Wallet payments is illustrated below: The payment flow for Wallet payments is illustrated below: The possible values for thesource parameter for wallet are listed below:
customerbusinessinternalissuer
step parameter, along with the description, are listed below:
-
payment_initiationYour system initiates and sends the payment request to our server. Our server sends the same request to the Bank/Gateway. -
payment_eligibility_checkRazorpay sends the eligibility check request to the issuer to determine if the entered customer information is correct. -
payment_authenticationCustomer authenticates the payment using OTP provided by the issuer. -
payment_authorizationIssuer authorises the release of funds and sends confirmation to Razorpay.
Cardless EMI
The payment flow for Cardless EMI payments is illustrated below: The possible values for thesource parameter for Cardless EMI flow are:
customerbusinessinternalnetworkissuer
step parameter, along with the description, are listed below:
-
payment_initiationYour system initiates and sends the payment request to our server. Our server sends the same request to the Bank/Gateway. -
payment_eligibility_checkRazorpay 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_authenticationCustomer authenticates the payment using OTP provided by the issuer. -
payment_authorizationIssuer authorizes the release of funds and sends confirmation to Razorpay.
Emandate
The possible values for thesource parameter for Emandate are listed below:
customerbankbusinessinternalgatewayissuer_bank
step parameter, along with the description, are listed below:
-
payment_initiationYour 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_authenticationThe bank verifies the enrollment of the Emandate by asking customers to authenticate themselves. -
payment_authorizationOnce 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.