How to Integrate Stripe Payment Gateway in Node.js ?
Last Updated :
24 Mar, 2025
Integrating Stripe in Node allows one to make and manage online payments. Stripe provides developer-friendly API to set up the payment gateway to handle secure transactions.
Payment gateways help the user to make their payments. There are many payment gateways available in the market like Razorpay, Google Pay, etc but the most popular among them is the Stripe payment gateway. Stripe is the premier option for online credit card processing and it is also the most popular premium payment gateway.
- It’s easy to get started and easy to use.
- It is a widely used and popular module for processing payments.
- User-friendly services and highly secured.
Approach
To integrate Stripe Payment Gateway in Node we will install the Stripe package as a project dependency. Then, we set up environment variables for authentication, and API endpoints for processing payments, and handled the transactions.
Steps to Setup Stript Payment Gateway in Node
Step 1: Initialize a Node Project
Use this command to create a node project in the same folder
npm init
Step 2: Install Stripe Module
You can visit the link Install stripe module. You can install this package by using this command.
npm install stripe
Step 3: Verify the Installation
After installing stripe module, you can check your stripe version in command prompt using the command.
npm version stripe
Step 4: Install other required modules
npm install ejs express body-parser
Project Structure:

project structure
Step 5: Import Stripe
You need to include stripe module in your file by using these lines.
const stripe = require('stripe')('Your_Secret_Key');
To get your secret key, simply go to Stripe Official Website and create an account, then you can get your secret key as well as the publishable key.
HTML
<!-- Filename - Home.ejs -->
<!DOCTYPE html>
<html>
<title>Stripe Payment Demo</title>
<body>
<h3>Welcome to Payment Gateway</h3>
<form action="payment" method="POST">
<script
src="//checkout.stripe.com/v2/checkout.js"
class="stripe-button"
data-key="<%= key %>"
data-amount="2500"
data-currency="inr"
data-name="Crafty Gourav"
data-description="Handmade Art and Craft Products"
data-locale="auto" >
</script>
</form>
</body>
</html>
JavaScript
// Filename - index.js
const express = require("express");
const bodyparser = require("body-parser");
const path = require("path");
const app = express();
const Publishable_Key = "Your_Publishable_Key";
const Secret_Key = "Your_Secret_Key";
const stripe = require("stripe")(Secret_Key);
const port = process.env.PORT || 3000;
app.use(bodyparser.urlencoded({ extended: false }));
app.use(bodyparser.json());
// View Engine Setup
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");
app.get("/", function (req, res) {
res.render("Home", {
key: Publishable_Key
});
});
app.post("/payment", function (req, res) {
// Moreover you can take more details from user
// like Address, Name, etc from form
stripe.customers
.create({
email: req.body.stripeEmail,
source: req.body.stripeToken,
name: "Gourav Hammad",
address: {
line1: "TC 9/4 Old MES colony",
postal_code: "452331",
city: "Indore",
state: "Madhya Pradesh",
country: "India"
}
})
.then((customer) => {
return stripe.charges.create({
amount: 2500, // Charging Rs 25
description: "Web Development Product",
currency: "INR",
customer: customer.id
});
})
.then((charge) => {
res.send("Success"); // If no error occurs
})
.catch((err) => {
res.send(err); // If some error occurs
});
});
app.listen(port, function (error) {
if (error) throw error;
console.log("Server created Successfully");
});
Steps to run the program
Run index.js file using below command
node index.js

Open browser and type this URL
http://localhost:3000/
Then you will see the Payment Gateway form as shown below

Then click on ‘Pay with Card’ button and then you will see the stripe payment form as shown below
Fill this form with correct credit card details and click on ‘Pay’ button and then if no errors occur, then the following message will be displayed
Now go to your stripe dashboard and you can see the current payment details as shown below
So this is how you can integrate Stripe payment gateway in node.js. There are other payment gateways available in the market like Razorpay, Google Pay, etc.
Similar Reads
How to Integrate Paytm Test API in Node.js ?
Paytm stands for Pay through mobile is used for online transactions. We can integrate it with our node.js application using Paytm developer API. This API can be used for testing as well as for development purposes. There are two methods for doing so: Test API and Production API. Production API will
2 min read
How to Integrate Paypal in Node ?
In today's digital age, online payments have become an integral part of e-commerce and web applications. Among the myriad of payment gateways available, PayPal stands out as one of the most widely used and trusted platforms. Integrating PayPal into your Node.js application can streamline the payment
5 min read
How to integrate Express-rate-limit in Node.js ?
Rate limiting prevents the same IP from making too many requests that will help us prevent attacks like brute force. The express-rate-limit is the npm package for limiting the request from the user. Project Setup: Run the following sets of commands to create a folder and initialize the project. mkdi
2 min read
How to Integrate Stripe Payments in React App using Express ?
Many of the projects you develop might have a requirement to integrate the payment module in your application. Stripe serves as a payment processing platform designed to help applications securely accept and handle online payments. In this article, we will see how we can easily integrate payment sys
6 min read
How to Take Input in Node.js ?
Taking input in a Node.js application is essential for building interactive command-line interfaces, processing user input, and creating dynamic applications. Node.js provides several methods for receiving input from users, including reading from standard input (stdin), command-line arguments, and u
2 min read
Razorpay Payment Integration using Node.js
Payment gateway is a technology that provides online solutions for money-related transactions, it can be thought of as a middle channel for e-commerce or any online business, which can be used to make payments and receive payments for any purpose. Sample Problem Statement: This is a simple HTML page
15 min read
How to Pass Node.js Output to Web Interface ?
Node.js is a versatile runtime that excels at building server-side applications. One of the common use cases is to pass the output from a Node.js server to a web interface, allowing users to interact with server-generated data in a browser. This article will walk you through the process of passing N
2 min read
How-to Integrate Plausible Analytics With Next.js and Vercel?
Adding basic analytics to your website or your application is a critical way to gauge the performance and even detect some usability issues through the lifespan of your app. In this tutorial, we will learn how to create a basic Nextjs application integrated with Plausible and deploy it on Vercel. He
6 min read
How to Install Node & Run npm in VS Code?
Node is an open-source, server-side JavaScript runtime environment built on the V8 engine. It allows developers to execute JavaScript code outside of a web browser, enabling the development of scalable and efficient network applications. Known for its event-driven architecture, NodeJS is widely used
2 min read
How to install Express in a Node project?
ExpressJS is a popular, lightweight web framework for NodeJS that simplifies the process of building web applications and APIs. It provides a robust set of features for creating server-side applications, including routing, middleware support, and easy integration with databases and other services. B
3 min read