Native OTP Payments

In a conventional card payment journey, customers are redirected to the bank page to collect OTP. With this value addition, you can enhance their experience by collecting OTP at your page and submit it to Cashfree using our Authentication APIs This would eventually eliminate the need for redirecting to bank page thereby reducing payment failures that happen due to redirection drop offs, or slow internet speeds.

ℹ️

This feature is only enabled on request. Please reach out to us at [email protected] to get this feature.

For seamless OTP payments, follow these steps -

  1. While calling order pay API, pass the channel object for card payments as post. Here's an example request and response for the same.
curl --request POST \
  --url https://sandbox.cashfree.com/pg/orders/sessions \
  --header 'Content-Type: application/json' \
  --header 'x-version: 2022-09-01' \
  --data '{
	"payment_session_id": "session_Cke8Y9LKs2CQP9KuTzsomExG1x5CKBLo-rWo8-YMBWgqgoA9On5YMzmCEZd_umDYxU_ZNXigfc9JPyJ-TgWxz9Om6keBxG2V8e8MynNCv8QT",
	"payment_method":{
		"card":		{
			"channel":"post",				 
			"card_cvv": "123",
			"card_holder_name": "rohit",
			"card_number":"4706131211212123",
			"card_expiry_mm": "03",
			"card_expiry_yy": "27"
		}
	}
}'
{
	"action": "post",
	"cf_payment_id": 14909602643,
	"channel": "post",
	"data": {
		"url": "https://sandbox.cashfree.com/pg/orders/pay/authenticate/14909602643",
		"payload": null,
		"content_type": "application/json",
		"method": "post"
	},
	"payment_amount": 1.10,
	"payment_method": "card"
}
  1. If the native OTP flow is enabled for the account, response will return action as 'post' and an authentication API in url which you need to call to submit the OTP.

🚧

Not all banks or bins support seamless OTP payments. It is possible that this request fall back to a regular response where you will have to redirect the user to the ACS page. In that case, action parameter in the response would have the value link and you'll need to redirect to bank's page which is provided in url. Make sure to handle this case as well.

  1. Collect the OTP from your page and submit it to cashfree using Authentication API - Submit or Resend OTP.

Difference between Bank OTP Payment and Seamless OTP Payment

3006

Bank OTP Payment - Collection of OTP at bank's page

2148

Seamless OTP Payment - Collection of OTP at merchant's page

List of Banks that Support Seamless OTP Payments

Bank NamePayment ModeCard Type
STATE BANK OF INDIACREDIT CARDvisa
STATE BANK OF INDIACREDIT CARDmastercard
STATE BANK OF INDIADEBIT CARDvisa
STATE BANK OF INDIADEBIT CARDmastercard
AXIS BANKCREDIT CARDvisa
AXIS BANKCREDIT CARDmastercard
AXIS BANKDEBIT CARDvisa
AXIS BANKDEBIT CARDmastercard
HDFC BANKCREDIT CARDvisa
HDFC BANKCREDIT CARDmastercard
HDFC BANKDEBIT CARDmastercard
HDFC BANKDEBIT CARDvisa
ICICI BANKCREDIT CARDvisa
ICICI BANKCREDIT CARDmastercard
ICICI BANKDEBIT CARDvisa
ICICI BANKDEBIT CARDmastercard
KOTAK MAHINDRA BANKCREDIT CARDvisa
KOTAK MAHINDRA BANKCREDIT CARDmastercard
KOTAK MAHINDRA BANKDEBIT CARDvisa
IDFC FIRST BANKCREDIT CARDvisa
IDFC FIRST BANKDEBIT CARDvisa
YES BANKCREDIT CARDvisa
RBL BANKCREDIT CARDvisa
RBL BANKCREDIT CARDmastercard
INDUSIND BANKCREDIT CARDvisa
INDUSIND BANKCREDIT CARDmastercard
CITI BANKCREDIT CARDvisa
CITI BANKCREDIT CARDmastercard
IDFC FIRST BANKCREDIT CARDvisa
IDFC FIRST BANKCREDIT CARDmastercard