Stripe 是一个非常流行的线上支付平台,它的 JavaScript SDK 让前端和后端可以轻松的集成 Stripe 支付。在本文中,我们将会学习如何使用 stripe-express 包来简化 Stripe 和 ExpressJS 的集成过程。
stripe-express 简介
stripe-express 是一个 Node.js 包,它提供了一个方便的方式将 Stripe 集成到 Express 应用程序中。这个包使用 promise 和 async/await 来使代码更加简洁易懂。
在使用 stripe-express 之前,我们需要确保已经有一个 Stripe 账户并有一些 API 密钥。如果你还没有账户,可以在 stripe.com 上创建一个。
stripe-express 安装
使用 npm 安装 stripe-express:
npm install stripe-express --save
stripe-express 配置
在使用 stripe-express 之前,我们需要将 Stripe API 密钥添加到环境变量中:
process.env.STRIPE_SECRET_KEY = "sk_test_xxxxxxxxxxxxxxxxxxxxxxxxx";
在你的 Express 应用程序中,引入 stripe-express 并初始化:
const stripe = require('stripe-express')({ secretKey: process.env.STRIPE_SECRET_KEY });
接下来的篇幅,我们会以一个简单的 Express 应用程序来演示如何使用 stripe-express。
stripe-express 使用示例
下面是一个简单的 Express 应用程序,它将允许用户通过表单填写 Stripe 支付信息,然后通过 stripe-express 创建一个 Stripe 支付。
首先,我们需要一个表单来允许用户输入他们的支付信息。在 Express 应用程序中,我们可以使用 EJS 模板来创建该表单:
-- -------------------- ---- ------- ---- --------------- --- --------- ----- ------ ------ ------------- ------- --------------- ------- ------ ----- ------------------ ---- ----------------- ------ ------------------- ------ -- ----- ---- -------- ---- ------------------ ---- - ------ ------- ---- -- -------- ----- --- ------ ---- ---- -- ------- ---- ------- --- ---- ---------------- ------------------- ------ -------------- ---------------- ------- ------- ----------------------------------------- ------- ----------------------------- ------- -------
在这个表单中,我们使用了 Stripe Elements 来创建一个安全的表单来收集用户的支付信息。Stripe Elements 会自动处理卡号验证和错误处理。
接下来,我们需要一个路由来处理这个表单:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------ - ----------------- --------------- ----- ---- -- - -------------------- --- ---------------------- ----- ----- ---- -- - ----- ------ - ---- -- -- ----- ----------- - ----- ------- ------------- ----- ------ - --------------------- --- - ----- ----------------------- ------- ------------ ------- --------- ------ --- ---------------------- - ----- ----- - -------------------------- - ---
在这个路由中,我们首先获取表单中的 Stripe Token,然后使用 stripe-express 的 create 方法来创建一个新的 Stripe 消费。我们使用 async/await 技术来保证代码更加简洁易懂。
最后,我们需要一个 JavaScript 文件来使用 Stripe Elements 和添加表单处理逻辑:
-- -------------------- ---- ------- -- ------------------- -- ------ - ------ ------- ----- ------ - -------------------------------------- -- ------ -- -------- -- --------- ----- -------- - ------------------ -- ------ ------- --- -- ------ -- ------- ---- -------- -- -------- -- ----- ---- ---- ---- ---- - ----- --- -- ------ ---- --- ----- ------- ----- ----- - - ----- - ------ ---------- ----------- --------------- ------------------- ------ ---- ------- ---------- ------ ------------ -------------- -------------- --------- ------- ---------------- - ------ --------- - -- -------- - ------ ---------- ---------- --------- - -- -- ------ -- -------- -- --- ---- -------- ----- ---- - ----------------------- - ----- --- -- --- -- -------- -- --- ---- ------- ---- --- -------------- ------ ---------------------------- -- ------ ---- ----------- ----- ---- - ---------------------------------------- ------------------------------- ----- ------- -- - ----------------------- ----- - ------ ----- - - ----- ------------------------- -- ------- - -- ------ --- ---- -- ----- --- -- ------ ----- ------------ - --------------------------------------- ------------------------ - -------------- - ---- - -- ---- --- ----- -- ---- ------- ---------------- - ------- ------- -------- - --------------- ------------------ -- ----- ---------------- ------------ -------- -- -- -------------- -- - -- ------------- - -------------------- - ----------- - ---- - ----- --- ------------ --- - ------- ---------- ---- -------- ------ --- --------- - -- ---------- -- - ----- ------------ - --------------------------------------- ------------------------ - ------------ --- - ---
在这个 JavaScript 文件中,我们使用 Stripe Elements 来创建一个安全的收款表单。我们使用 fetch API 来处理表单提交事件并将 Stripe Token 发送到我们的 Express 应用程序中。
总结
在本文中,我们学习了如何使用 stripe-express 包来简化 Stripe 和 ExpressJS 的集成过程。我们使用了 Stripe Elements 来处理安全的表单,并使用了 promise 和 async/await 技术来使代码更加简洁易懂。希望这篇教程对你有所帮助。如果你想深入了解 Stripe 和 ExpressJS 的集成,请参考 官方文档。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d6081e8991b448db25a