Cashfree provides the following list of components along with the initial state that can be passed in options.values. Certain components are payable and might need other components to be mounted to be ready for payment
A component can only be mounted after cashfree.js has been initialized and DOM container is ready for mounting the component.

Card components

There are four card components as listed below:

cardNumber

A component to accept card number

Parameters

cardNumber
Card Number Object

Returned Value

You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
cardNumber
Card Number Object
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let card = cashfree.create("cardNumber", {
	values: {
		placeholder: "Enter card number",
	},
});
card.on("loaderror", function (data) {
	console.log(data.error);
});
card.mount("#mount-here");
card.on("ready", function (d) {
	console.log(card.data().value); //{brand: 'visa', cvvLength: 3}
	//or
	//console.log(d.value)
});

cardHolder

A component to accept card holder’s name kindinput payablefalse
Accepted values
You can pass values to a component using options cashfree.create('componentName', options)
keydescription
placeholder string OPTIONALplaceholder for your card number field
cardHolder string OPTIONALname of your customer
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
cardHolder stringname of your customer
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let cardHolder = cashfree.create("cardHolder", {
	values: {
		cardHolder: "Jane Doe",
	},
});
cardHolder.on("loaderror", function (data) {
	console.log(data.error);
});
cardHolder.mount("#mount-here");
cardHolder.on("ready", function (d) {
	console.log(cardHolder.data().value); //{cardHolder: 'Jane Doe'}
	//or
	//console.log(d.value);
});

cardExpiry

A component to accept card expiry kindinput payablefalse
Accepted values
Does not accept anything
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
cardExpiry stringcard expiry in MM/YY format
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let cardExpiry = cashfree.create("cardExpiry", {
	values: {
		//does not accept any value
	},
});
cardExpiry.on("loaderror", function (data) {
	console.log(data.error);
});
cardExpiry.mount("#mount-here");
cardCvv.on("ready", function (d) {
	console.log(cardCvv.data().value); //{cardExpiry: '12/26'}
	//or
	//console.log(d.value)
});

cardCvv

A component to accept card cvv/cvc kindinput payablefalse
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
cardCvv numbercard cvv
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let cardCvv = cashfree.create("cardCvv", {});
cardCvv.on("loaderror", function (data) {
	console.log(data.error);
});
cardCvv.mount("#mount-here");
cardCvv.on("ready", function (d) {
	console.log(cardCvv.data().value); //{cardCvv: '123'}
	//or
	//console.log(d.value)
});

UPI components

List of UPI components

upiCollect

A component to accept user’s vpa/upi id kindinput payabletrue
Accepted values
You can pass values to a component using options cashfree.create('componentName', options)
keydescription
placeholder string OPTIONALplaceholder for enter vpa field
upiId string OPTIONALvpa/ upi id of the customer
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
upiId stringvpa/ upi id of the customer
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let upiCollect = cashfree.create("upiCollect", {
	values: {
		upiId: "janedoe1@okbankname",
	},
});
upiCollect.on("loaderror", function (data) {
	console.log(data.error);
});
upiCollect.mount("#mount-here");
upiCollect.on("ready", function (d) {
	console.log(upiCollect.data().value); //{upiId: 'janedoe1@okbankname'}
	//or
	//console.log(d.value)
});

upiApp

A component to initiate UPI app/intent payment. Only works in mobile phones. If you mount it on desktop it will throw an error in loaderror kindbutton payabletrue
Mobile only. Component will not mount on custom webview/inappbrowser Andoird. It will however mount in popular apps like Facebook, Instagram, Twitter. For iPhone it will always mount.
Accepted values
You can pass values to a component using options cashfree.create('componentName', options)
keydescription
upiApp string Requiredname of the upi app
buttonText string OPTIONALText for button, ex Google Pay for upiApp gpay
buttonIcon bool OPTIONALwhether to show app icon or not
Available options for upiApp are here
In case bttonText is not provided the value of buttonIcon would be replaced to true. This has been done so that your customer always sees icon of the app.
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
upiAppname of the upi app
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let upiApp = cashfree.create("upiApp", {
	values: {
		upiApp: "gpay",
		buttonText: "GPAY",
		buttonIcon: true,
	},
});
upiApp.on("loaderror", function (data) {
	console.log(data.error);
});
upiApp.mount("#mount-here");
upiApp.on("ready", function (d) {
	console.log(upiApp.data().value); //{upiApp: 'gpay'}
	//or
	//console.log(d.value)
});
Example

upiQr

A component to show a UPI qr code kindimage payabletrue
Accepted values
You can pass values to a component using options cashfree.create('componentName', options)
keydescription
size string requiredsize of the qr code. ex “220px”
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
size stringsize of the qr code. ex “220px”
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let upiQr = cashfree.create("upiQr", {
	values: {
		size: "220px",
	},
});
upiQr.on("loaderror", function (data) {
	console.log(data.error);
});
upiQr.mount("#mount-here");
upiQr.on("ready", function (d) {
	console.log(upiQr.data().value); //{size: '220px'}
	//or
	//console.log(d.value)
});

Wallet components

Wallet has only one component

wallet

A component to initiate wallet payment. kindbutton payabletrue
Accepted values
You can pass values to a component using options cashfree.create('componentName', options)
keydescription
provider string Requiredname of the wallet. ex phonepe. All names here
buttonText string OPTIONALText for button, ex Google Pay for upiApp gpay
buttonIcon bool OPTIONALwhether to show app icon or not
phone string Required10 digit phone number of your customer
In case buttonText is not provided the value of buttonIcon would be replaced to true. This has been done so that your customer always sees icon of the app.
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
provider stringname of the wallet. ex phonepe. All names here
phone string10 digit phone number of your customer
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let wallet = cashfree.create("wallet", {
	values: {
		provider: "phonepe",
		phone: "94140905",
		buttonText: "PhonePe",
		buttonIcon: true,
	},
});
wallet.on("loaderror", function (data) {
	console.log(data.error);
});
wallet.mount("#mount-here");
wallet.on("ready", function (d) {
	console.log(wallet.data().value); //{provide: 'phonepe', phone: '94140905'}
	//or
	//console.log(d.value)
});
All possible values of provider can be found here

Netbanking components

Netbanking has only one component

netbanking

A component to initiate Net Banking payment. kindbutton payabletrue
Accepted values
You can pass values to a component using options cashfree.create('componentName', options)
keydescription
netbankingBankName string Requiredname of the bank. ex HDFCR. See list
buttonText string OPTIONALText for button, ex Google Pay for upiApp gpay
buttonIcon bool OPTIONALwhether to show app icon or not
In case buttonText is not provided the value of buttonIcon would be replaced to true. This has been done so that your customer always sees icon of the app.
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
netbankingBankName stringname of the bank
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let netbanking = cashfree.create("netbanking", {
	values: {
		netbankingBankName: "HDFCR",
		buttonText: "HDFC Bank",
		buttonIcon: true,
	},
});
netbanking.on("loaderror", function (data) {
	console.log(data.error);
});
netbanking.mount("#mount-here");
netbanking.on("ready", function (d) {
	console.log(netbanking.data().value); //{netbankingBankName: 'HDFCR'}
	//or
	//console.log(d.value)
});
All possible values of netbankingBankName can be found here

Paylater components

Paylater has only one component

paylater

A component to initiate paylater payment. kindbutton payabletrue
Accepted values
You can pass values to a component using options cashfree.create('componentName', options)
keydescription
provider string Requiredname of the wallet. ex simpl. All names here
buttonText string OPTIONALText for button, ex Simpl
buttonIcon bool OPTIONALwhether to show app icon or not
phone string Required10 digit phone number of your customer
In case buttonText is not provided the value of buttonIcon would be replaced to true. This has been done so that your customer always sees icon of the app.
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
provider stringname of the provider. ex simpl. All names here
phone string10 digit phone number of your customer
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let p = cashfree.create("paylater", {
	values: {
		provider: "simpl",
		phone: "94140905",
		buttonText: "Use Simpl",
		buttonIcon: true,
	},
});
p.on("loaderror", function (data) {
	console.log(data.error);
});
p.mount("#mount-here");
p.on("ready", function (d) {
	console.log(d.value);
});
All possible values of provider can be found here

Cardless EMI components

Paylater has only one component

cardlessEMI

A component to initiate Cardless EMI payment. kindbutton payabletrue
Accepted values
You can pass values to a component using options cashfree.create('componentName', options)
keydescription
provider string Requiredname of the wallet. ex flexmoney. All names here
buttonText string OPTIONALText for button, ex Flexmoney
buttonIcon bool OPTIONALwhether to show app icon or not
phone string Required10 digit phone number of your customer
In case buttonText is not provided the value of buttonIcon would be replaced to true. This has been done so that your customer always sees icon of the app.
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
provider stringname of the provider. ex flexmoney. All names here
phone string10 digit phone number of your customer
Example
let cashfree = Cashfree({
	mode: "sandbox", //or production
});
let cl = cashfree.create("cardlessEMI", {
	values: {
		provider: "flexmoney",
		phone: "94140905",
		buttonText: "Flexmoney",
		buttonIcon: true,
	},
});
cl.on("loaderror", function (data) {
	console.log(data.error);
});
cl.mount("#mount-here");
cl.on("ready", function (d) {
	console.log(d.value);
});
All possible values of provider can be found here

Other Components

savePaymentInstrument

A component that can be used in .pay() to save a payment method for a customer. This works for only cards. This will tokenize your card kindcheckbox payablefalse
Accepted values
You can pass values to a component using options cashfree.create('componentName', options)
keydescription
label string OPTIONALLabel for the checkbox
Returned value
You can get the value of a component by calling component.data().value. All returned values of component.data() can be found here
keydescription
saveInstrument booldoes the user wants to save