Native OTP Flow Integration
Native OTP Flow is a method of capturing transaction OTPs that happens on the merchant or PayU Payment page, rather than on a bank’s page through multiple hops. This means that customers stay on the merchant or PayU website to complete the card authentication process, entering the OTP on the same page where they are making the purchase, rather than being redirected to a 3D-secure page. This reduces the number of steps in the checkout process, resulting in a faster and smoother experience for customers and a higher success rate for merchants. As a result, Native OTP Flow is preferred over OTP on a bank’s page.
You can enable Native OTP flow in EMI payments and collect payments. Currently, Native OTP can be enabled for the following types of EMI payments:
Note:
If you don’t have EMI enabled, try requesting using Dashboard. For more information, refer to Configure Checkout Settings. If you could not request through Dashboard, contact your PayU Key Account Manager or PayU Support.
Benefits
What are the advantages and why should merchants integrate this flow with PayU?
- Increase Success Rates — Native OTP flow improves Success Rates of card transactions by 3-5% depending upon the source of transactions.
- Less Redirection — It improves the overall user experience since multiple redirections are removed. Also, the customer never leaves the merchant website, which helps in providing a seamless experience. It also reduces drop rates due to users’ fluctuating internet speed issues.
- PayU supports all major banks — 15+ banks including HDFC, AXIS, ICICI, SBI, KOTAK, RBL, etc. – on this flow for Cards, cardless, CC EMI, DC EMI’s, and BNPLs.
This flow supports the latest native OTP generation flow (server-to-server) via Initiate Payment API, followed by the Submit OTP API, to initiate an S2S=4 transaction.
Collect payments with debit card
Steps to integrate:
Step 1: Check Pre-EMI Eligibility
Before initiating a payment request for a customer, it is necessary to check their eligibility using the Get Checkout Details API. For more information, refer to Get Checkout Details API.
Step 2: Initiate the payment request and check response
Send the transaction information to PayU through a server-to-server curl request to initiate the transaction. As a result of this API call, the customer will receive the OTP. For more information, refer to Collect Payment API - Server-to-Server.
Parameter | Description | Example |
---|---|---|
s2s_device_info mandatory | String This parameter must have the customer agent’s device. Note: This information is helpful when it comes to issues related to fraud detection and chargebacks. Hence, it is must to provide the correct information. | Mozilla |
s2s_client_ip mandatory | String This parameter must have the source IP of the customer. Note: This information is helpful when it comes to issues related to fraud detection and chargebacks. Hence, it is must to provide the correct information. | 10.11.101.11' |
txn_s2s_flow mandatory | String This parameter must be passed with the value as 4. | 4 |
Step 3: Submit the OTP
Once your customer enters the OTP on the payment page (postUrl/acsTemplate), pass the OTP using the Submit OTP API. For more information, refer to Submit OTP API.
Resend OTP
If the customer enters the incorrect OTP or an expired OTP, use Resend OTP API to handle the Resend OTP request made by a customer.
Collect Payments with cardless EMI
Step 1: Check pre-EMI eligibility
Before initiating a payment request for a customer, it is necessary to check their eligibility using the Get Checkout Details API. For more information, refer to Get Checkout Details API.
Step 2: Initiate the payment request and check response
Send the following additional parameters to PayU through a server-to-server curl request to initiate the payment. As a result of this API call, the customer will receive the OTP. For sample request and response, refer to Collect Payment API - Server-to-Server.
Parameter | Description | Example |
---|---|---|
panNumber mandatory | String PAN number of the customer. | ABCDE1234A |
s2s_device_infomandatory | String This parameter must have the customer agent’s device. | Mozilla |
s2s_client_ipmandatory | String This parameter must have the source IP of the customer. | 10.11.101.11 |
txn_s2s_flowmandatory | StringString This parameter must be passed with the value as 4. | 4 |
Notes for panNumber:
- Only 4-digit number of the PAN: Pass the 4-digit numeral in a sequential order as in the PAN.
- This parameter is mandatory for ICICI Bank and HDFC Bank Cardless EMI. Not mandatory for other banks
- The data validation performed is either the whole PAN card number or 4-dig-t number of the PAN.
- Whole PAN card Number: For validating the whole PAN Card number:
- It should be ten characters long.
- The first five characters should be any upper case alphabets.
- The next four-characters should be any number from 0 to 9.
- The last(tenth) character should be any upper case alphabet. It should not contain any white spaces.
Step 3: Submit the OTP
Once your customer enters the OTP on the payment page (postUrl/acsTemplate), pass the OTP using the Submit OTP API. For more information, refer to Submit OTP API.
Resend OTP
If the customer enters the incorrect OTP or an expired OTP, use Resend OTP API to handle the Resend OTP request made by a customer.
Updated 8 days ago