简介
在网上购物和支付已经成为现代人生活中不可或缺的一部分,而实现在线支付功能需要依靠第三方支付平台。Stripe 是一个流行的支付平台,提供一个简便的 API 实现付款、订阅和转账功能。Express.js 是一个基于 Node.js 开发的 Web 框架,能够帮助我们构建高效的 Web 应用程序。在本文中,我们将使用 Express.js 和 Stripe API 来构建一个简单的在线支付应用程序。
准备工作
在我们开始编写代码之前,需要完成以下几个基本步骤:
- 创建一个 Stripe 帐户。注册后,你将有一个唯一的 API 密钥,用于访问 Stripe API。
- 确保已安装 Node.js 和 NPM。
- 创建一个新的 Express 应用程序,并在项目中引入 Stripe npm 包。
在创建 Express 应用程序之前,我们需要在终端中运行以下命令安装 Express 和 Stripe 包:
npm install express stripe --save
创建 Express 应用程序
我们将在 index.js 文件中编写所有代码。在开始之前,请确保项目目录中已经存在此文件。
- 引入所需的模块
const express = require('express'); const stripe = require('stripe')('your_secret_key_here'); const bodyParser = require('body-parser'); const path = require('path'); const app = express();
- 设置模板引擎
app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs');
- 设置静态文件夹
app.use(express.static(path.join(__dirname, 'public')));
- 添加中间件解析 URL 编码和 JSON
app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json());
- 创建路由处理 get 请求
app.get('/', (req, res) => { res.render('index', { title: 'Express Stripe Integration' }); });
- 创建路由处理 post 请求
-- -------------------- ---- ------- ------------------- ----- ---- -- - ----- ------ - ----- ------------------------- ------ --------------------- ------- -------------------- -- -------------- -- - ----------------------- ------- ------------ ---- ----------- ------- --------- ------ --------- ----------- --- -- ------------ -- ----------------------- ---
我们解释一下上面的代码:
第 5 行创建一个 GET 路由,在用户访问应用程序的根路径时,它将渲染 index 视图。我们在 index.ejs 中创建表单以便用户输入付款细节。
第 6 行创建一个 POST 路由,在用户提交表单时调用该路由。它获取表单元素的值,使用 Stripe API 创建一个新客户,然后创建一个新 Charge(一个支付)以完成支付过程。
HTML VIEW
我们创建一个 index.ejs 文件,它包含一个表单,允许用户输入付款细节和提交数据。
-- -------------------- ---- ------- --------- ----- ------ ------ ----- ---------------- ---------- ----- ---------- ------- ------ ------- ----- ------- ----- ---------------- -------------- ---- ----------------- ------ ------------------- ------ -- ----- ---- -------- ---- ------------------ ---- - ------ ------- ---- -- -------- ----- --- ------ ---- ---- -- ------- ---- ------- --- ---- ---------------- ------------------- ------ ---- ----------------- ------- ------------------ ------ ------------ ------------------- -------- ------ -------------- ---------------- ------- ------- ----------------------------------------- -------- --- ------ - ------------------------------- --- -------- - ------------------ -- --- -- --------- --- -------- -- --- -- -------- ---- --- ----- - - ----- - ------ ---------- ----------- ----------- ------ ---------- ------------ -------------- -------------- --------- ------- ---------------- - ------ --------- - -- -------- - ------ ---------- ---------- --------- - -- --- ---- - ----------------------- - ------ ----- --- ---------------------------- ------------------------------- --------- -- - ----- ------------ - --------------------------------------- -- ------- - ------------------------ - -------------- - ---- - ------------------------ - --- - --- --- ---- - ---------------------------------------- ------------------------------- --------------- - ----------------------- ---------------------------------------------- - -- -------------- - -- ------ --- -------- ---- ----- --- -- ----- --- ------------ - --------------------------------------- ------------------------ - --------------------- - ---- - -- ---- --- ----- -- ---- ------ --------------------------------- - --- --- -------- ------------------------- - -- ------ --- ----- -- ---- --- ---- -- -- ---- --------- -- --- ------ --- ---- - ---------------------------------------- --- ----------- - -------------------------------- -------------------------------- ---------- -------------------------------- --------------- --------------------------------- ---------- ------------------------------ -- ------ --- ---- -------------- - --------- ------- -------
总结
在本文中,我们介绍了在 Express.js 和 Stripe API 的帮助下实现在线支付功能的基本步骤。我们创建了一个简单的 Express 应用程序,在用户提交表单时根据 Stripe API 创建新客户和新支付,使用户可以轻松地进行在线支付。此外,我们还介绍了如何使用 Stripe Element 来创建安全的表单,处理付款细节。
以上是一个简单示例,你可以修改代码,将其集成到自己的项目中,与你所想象的任何逻辑一起工作。在学习和使用 Stripe API 时,请确保遵循 Stripe 的最佳实践,确保数据的安全性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6540ebab7d4982a6eba8c10c