使用 Express.js 和 Stripe 构建支付应用程序

Stripe 是一款热门的在线支付处理平台,它为企业及个人提供了一种简单、安全的方式来接收和处理信用卡和其他支付方式的付款。而 Express.js,则是一款非常受欢迎的 Node.js 框架,它提供了一种快速和简单的方法来构建 Web 应用程序。本文将介绍如何使用 Express.js 和 Stripe 构建支付应用程序的过程,旨在让读者掌握构建类似应用程序的方法。

简介

在开始之前,我们需要先了解几个概念。Stripe 是一种第三方支付处理器,因此,我们需要在建立 Stripe 帐户之后才能开始使用它。在 Stripe 中,每个用户使用它们的名字、地址和信用卡信息来创建一个“客户”对象。一旦客户端被创建,我们即可向 Stripe 提供的端点发送付款请求。Stripe 会接受此请求,并提供一个唯一的标识符,即“付款 ID”。最后,我们可以使用这个 ID 来检索有关此付款的信息。

接下来,我们将讨论如何使用 Express.js 和 Stripe 构建支付应用程序。

步骤

步骤1:创建一个 Stripe 帐户

你可以在Stripe 官网上面创建一个帐户,注册过程很简单并且完全免费,您可以在其中创建测试客户端处理来模拟需要支付的情况。

步骤2:安装必要的依赖项

我们将使用 Node.js 和 Express.js 构建我们的应用程序,因此,需要确保安装了这两个工具的最新版本以及具有以下依赖项:

  • Stripe API 模块
  • body-parser 模块
  • pug 模块

你可以通过以下命令安装这些依赖项:

--- ------- ------ ------ ----------- ---

步骤3:创建服务器和路由

----- ------- - -------------------
----- ---------- - -----------------------
----- ------ - --------------------------------------------

----- --- - ----------

------------------------------- --------- ----- ----
---------------------------

------------- -------- -------

------------ ----- ---- -- -
    --------------------
---

------------------- ----- ---- -- -
    ----- ------ - ----

    -------------------------
        ------ ---------------------
        ------- --------------------
    --
        -------------- --
            -----------------------
                 -------
                ------------ ------- --------
                --------- ------
                --------- -----------
            ---
        -------- -- ----------------------
        ---------- -- ------------------
---

---------------- -- -- -
    ------------------- -- ------- -- -------------------------
---

以上是部分代码。我们使用 Express.js 构建了一个名为 app 的服务器,监听 3000 端口。HTTP GET '/' 路由以渲染 index.pug 模板,而 HTTP POST '/charge' 路由用于处理Stripe付款。我们将使用 stripe.customers.create 创建客户端,然后调用 stripe.charges.create 来实际处理 Checkout 过程。

步骤4:创建前端

------- ----
---------------
  ----
    ---------------------
    --------------------- ---------------------------- -------------------
    ---------------------------------- ------------------
    ----- ---------- --- ------ ------- ----
    ---------------------------------------
    ---------------------- ----------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ------------------------
    ------
      ------------ -
          ------ ----
      -

  ----
    ----------
      -------------- ---------- --- ------ ------- ----
      -------------- ----- ---- ------- -----------
      ----
        -------------------------
          ---------------------- --------------
            -----------
              ------------------ -----
              -------------------------------------- ------------------- --------------
            -----------
              ----------------------- ------ ---- ------
              ------------------------------------------ --------------------- --------------
            -----------
              ----------------------- ---------- ---------
              ------------------------------------------ ------------------ --------------
            -----------
              -------------------- ---
              --------------------------------------- ------------------ --------------
            -----------
              ----------------------------------------------- ------ -------
      ----
        -------------------------
          ------------- ------- ------- ------------
    -------
      --- ------ - ---------------------------------
      --- -------- - ------------------
      --- ----- - -
          ----- -
              --------- ------
          -
      --
      --- ---------- - ----------------------------- ------- --------
      --- ---------- - ----------------------------- ------- --------
      --- ------- - -------------------------- ------- --------
      --------------------------------
      --------------------------------
      --------------------------
      --- ---- - -------------------------------
      ------------------------------- --------------- -
          -----------------------
          ---------------------------------------------------- -
              -- -------------- -
                  --- ------------ - ---------------------------------------
                  ------------------------ - ---------------------
              - ---- -
                  ---------------------------------
              -
          ---
      ---
      -------- ------------------------- -
          --- ----------- - --------------------------------
          -------------------------------- ----------
          -------------------------------- ---------------
          --------------------------------- ----------
          ------------------------------
          --------------
      -

以上代码主要是前端交互部分,其中 .pug 是一个模板引擎文件,可以将其中的样式以及必要的构建展示页面的代码动态进行渲染,实现简单易用的结果展示与美化。这里我们使用了 Stripe Elements 来构建表单,这是一个包含输入字段的库,使您能够构建具有实时验证的自定义表单。由于 Stripe 会接受表单,所以我们通过 stripe.createToken 方法来生成Token,并使用它来进行Checkout。

结论

通过本文,我们了解到 Stripe 和 Express.js 的基本要素以及如何使用这些组件来构建 Web 应用程序,特别是一个在线支付处理应用程序。本文说明了如何使用 Stripe API 模块和表单,并提供示例代码来说明如何处理 Stripe 的特定 Endpoint 来构建。我们希望它能为读者提供一些有用的思路和指导,以便他们在将来构建类似的应用程序时能够更加自信地向前迈进。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6738262b317fbffedf0e847e