📜  如何在 Node.js 中集成 Stripe 支付网关?

📅  最后修改于: 2022-05-13 01:56:18.515000             🧑  作者: Mango

如何在 Node.js 中集成 Stripe 支付网关?

支付网关帮助用户进行支付。市场上有许多支付网关,如 Razorpay、Google pay 等,但其中最受欢迎的是 Stripe 支付网关。 Stripe 是在线信用卡处理的首选,也是最受欢迎的高级支付网关。

介绍:

  1. 它易于上手且易于使用。
  2. 它是用于处理付款的广泛使用和流行的模块。
  3. 用户友好的服务和高度安全。

条带模块的安装:

  1. 您可以访问链接安装条带模块。您可以使用此命令安装此软件包。
    npm install stripe
  2. 安装条带模块后,您可以使用命令在命令提示符下检查您的条带版本。
    npm version stripe
  3. 之后,您可以创建一个文件夹并添加一个文件,例如 index.js,要运行此文件,您需要运行以下命令。
    node index.js
  4. 需要模块:您需要使用这些行在文件中包含条带模块。
    var stripe = require('stripe')('Your_Secret_Key');

    要获取您的密钥,只需访问 Stripe 官方网站并创建一个帐户,即可获取您的密钥以及可发布密钥。

文件名:Home.ejs



Stripe Payment Demo

    

Welcome to Payment Gateway

    
                     

文件名: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
  
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,     // Charing 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")
})

运行程序的步骤:

  1. 项目结构将如下所示:
    项目结构
    “Home.ejs”保存在视图文件夹中。
  2. 确保您拥有像我使用“ejs”一样的“查看引擎”,并使用以下命令安装 express、body-parser 和 stripe:
    npm install ejs
    npm install express
    npm install body-parser
    npm install stripe
  3. 使用以下命令运行 index.js 文件:
    node index.js

    上述命令的输出

  4. 打开浏览器并输入此 URL:
    http://localhost:3000/
  5. 然后您将看到如下所示的支付网关表单:
    付款演示表
  6. 然后点击“Pay with Card”按钮,然后您将看到如下图所示的条带支付表单:
    条纹支付表格
    使用正确的信用卡详细信息填写此表格,然后单击“付款”按钮,如果没有出现错误,则会显示以下消息:
    成功讯息
  7. 现在转到您的条纹仪表板,您可以看到当前的付款详细信息,如下所示:
    条纹仪表板

所以这就是你如何在 node.js 中集成 Stripe 支付网关。市场上还有其他可用的支付网关,如 Razorpay、Google Pay 等。