A React component library for integrating Cashfree Payment Gateway in your React applications.
-
Install the package
npm install @cashfreepayments/pg-react
-
Import and set up the Cashfree component
-
Run your app and test the integration!
Card payment requires four components: CardNumber, CardHolder, CardExpiry and CardCVV. Optionally, you can include SaveInstrument to let users save their card.
import React, { useState } from "react";
import {
Cashfree,
CardNumber,
CardHolder,
CardExpiry,
CardCVV,
SaveInstrument,
} from "@cashfreepayments/pg-react";
const App: React.FC = () => {
const [isComplete, setIsComplete] = useState(false);
const handlePay = () => {
alert("Payment processing...");
// Trigger your payment logic here
};
return (
<Cashfree
theme="pastel"
onComplete={(status) => {
setIsComplete(status); // this is your local app state
}}
>
<CardNumber />
<CardHolder />
<div style={{ display: "flex", gap: "10px", marginBottom: "10px" }}>
<CardExpiry />
<CardCVV />
</div>
<SaveInstrument />
<div style={{ marginTop: "20px" }}>
<button
onClick={handlePay}
disabled={!isComplete}
style={{
padding: "12px 24px",
fontSize: "16px",
cursor: isComplete ? "pointer" : "not-allowed",
backgroundColor: isComplete ? "#2361d5" : "#a0a0a0",
color: "#fff",
border: "none",
borderRadius: "6px",
transition: "background-color 0.3s ease",
}}
>
Pay Now
</button>
</div>
</Cashfree>
);
};
export default App;
-
Event Handling
The Cashfree component provides anonCompletecallback to notify when all card inputs are valid and complete. Use this to enable your Pay button or trigger other actions. -
Styling Components
Customize the appearance by passing acustomStyleobject to the Cashfree component or individual components. This lets you override fonts, colors, borders, and other style properties to match your app's look.
-
Simple integration with Cashfree Payment Gateway
-
Modular React components: CardNumber, CardHolder, CardExpiry, CardCVV, and SaveInstrument
-
Customizable themes and styles
-
Built-in completeness state management with event callbacks
-
Supports saving card details for faster payments