Skip to content
Related Articles

Related Articles

How to Integrate Stripe Payment Gateway in Node.js ?

Improve Article
Save Article
Like Article
  • Difficulty Level : Expert
  • Last Updated : 28 Apr, 2020

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 Stripe payment gateway. Stripe is the premier option for online credit card processing and it is also the most popular premium payment gateway.


  1. It’s easy to get started and easy to use.
  2. It is widely used and popular module for processing payments.
  3. User friendly services and highly sercured.

Installation of stripe module:

  1. You can visit the link Install stripe module. You can install this package by using this command.
    npm install stripe
  2. After installing stripe module, you can check your stripe version in command prompt using the command.
    npm version stripe
  3. After that, you can just create a folder and add a file for example index.js, To run this file you need to run the following command.
    node index.js
  4. Requiring module: You need to include stripe module in your file by using these lines.
    var stripe = require('stripe')('Your_Secret_Key');

    To get your secret key, simply go to Stripe Offical Website and create an account, then you can get your secret key as well as publishable key.

Filename: Home.ejs

<!DOCTYPE html>
<title>Stripe Payment Demo</title>
    <h3>Welcome to Payment Gateway</h3>
    <form action="payment" method="POST">
          data-key="<%= key %>"
          data-name="Crafty Gourav"
          data-description="Handmade Art and Craft Products"
          data-locale="auto" >

Filename: index.js

const express = require('express')
const bodyparser = require('body-parser')
const path = require('path')
const app = express()
var Publishable_Key = 'Your_Publishable_Key'
var Secret_Key = 'Your_Secret_Key'
const stripe = require('stripe')(Secret_Key)
const port = process.env.PORT || 3000
// 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
})'/payment', function(req, res){
    // Moreover you can take more details from user
    // like Address, Name, etc from form
        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,     // Charing Rs 25
            description: 'Web Development Product',
            currency: 'INR',
    .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:

  1. The project structure will look like this:
    project structure
    The “Home.ejs” is kept in the views folder.
  2. Make sure you have ‘view engine’ like I have used “ejs” and also install express, body-parser, and stripe using the following commands:
    npm install ejs
    npm install express
    npm install body-parser
    npm install stripe
  3. Run index.js file using below command:
    node index.js

    Output of above command

  4. Open browser and type this URL:
  5. Then you will see the Payment Gateway form as shown below:
    Payment Demo Form
  6. Then click on ‘Pay with Card’ button and then you will see the stripe payment form as shown below:
    Stripe payment form
    Fill this form with correct credit card details and click on ‘Pay’ button and then if no errors occurs, then following message will be displayed:
    Success Message
  7. Now go to your stripe dashboard and you can see the current payment details as shown below:
    Stripe Dashboard

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.

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!