npm 包 @caldera-digital/ecommerce-stripe-shared 使用教程

阅读时长 9 分钟读完

简介

@caldera-digital/ecommerce-stripe-shared 是一个供前端开发使用的 npm 包,旨在简化集成 Stripe API 到电子商务网站中的过程。

该包提供了一个针对 Stripe API 中涉及到创建、读取和更新用户、订单、付款和退款等操作的高度抽象的 JavaScript 类。您可以使用该类来处理 Stripe API 的核心功能,并按照您的需要扩展它。

安装

您可以使用 npm 包管理器安装 @caldera-digital/ecommerce-stripe-shared:

使用

准备工作

要使用 @caldera-digital/ecommerce-stripe-shared,您需要首先从 Stripe 控制台获取所需的 API 密钥。请按照 Stripe 的指南进行操作,获取发布密钥和秘密密钥。Stripe 控制台

初始化

在您的项目中,您需要导入 Stripe 类并使用以下代码初始化:

在解释代码之前,让我们看一下 Stripe 的术语表:

  • Publishable API key: 用于从您的前端应用程序调用 Stripe API。
  • Secret API key: 用于从您的服务器(无论是从前端还是从后端)调用 Stripe API。

当您使用 @caldera-digital/ecommerce-stripe-shared 时,首先需要创建一个 Stripe 实例以引用 Stripe API,其中包含公钥和密钥。在上面的示例中,我们通过传递公钥和私钥初始化了一个名为“ stripe ”的 Stripe 实例。

客户端验证

在创建 Stripe 实例时,您需要向 stripe 对象提供并验证客户端的身份。在这里,我们使用了 stripe 中的 verifyClient 方法,该方法会使用我们在初始化时提供的公钥来验证:

创建客户

Stripe 的客户是指使用电子商务网站的用户。在创建每个新用户时,我们需要向 stripe API 发送请求,以在 stripe 中建立新用户账户。

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

创建订单

在创建每个新订单时,我们需要发送请求到 stripe API,以在 stripe 中建立新订单。在订单中,我们通过捕获交易的付款数据来跟踪客户的已购买物品的费用。

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

创建付款

要处理客户的付款,我们需要按如下步骤执行:

1. 创建一个 PaymentIntent

PaymentIntent 对象表示单个付款尝试。一旦 PaymentIntent 客户端使用所需支付方法正确填写了所有信息,就会发起付款尝试。付款尝试的结果取决于所选支付方法的行为。

在让客户进行付款之前,您需要在 stripe contacts 中建立一个 PaymentIntent 对象,这样您可以自行校验要求的付款数据并检查该用户是否可进行付款。能够使用客户端秘密来签署并验证签名的传输对象。

您可以使用以下代码创建一个 PaymentIntent:

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

2. 尝试扣款

在客户的支付方法已经很好地填写并检查好之后,您可以根据所使用的 API 来尝试从客户的帐户余额中扣款。扣款成功时,Stripe 将发送一个回合进行通知,以指示付款成功或失败,具体取决于所选支付方法的行为。

下面是使用 Stripe.js V3 的示例:

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

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

3. 完成付款

对于许多付款方法(例如银行汇款和支付宝),您会在尝试付款后立即收到付款通知。

许多付款方法需要等待清算才能确定付款是否成功。Stripe 会在付款成功时发送需要清算的 Webhook 通知(例如支付宝和微信支付)。您也可以使用管道检查完成的付款是否已从您的 stripe 帐户中扣除。

示例代码

这里是一个用于集成 Stripe API 的完整代码示例:

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

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

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

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

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

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

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

总结

@caldera-digital/ecommerce-stripe-shared 是一个用于简化集成 Stripe API 到电子商务网站中的 npm 包。 该包提供了高度抽象的 JavaScript 类,可帮助您进行 Stripe API 的核心功能处理,并且可以根据您的需求进行扩展。

在使用 @caldera-digital/ecommerce-stripe-shared 时,请务必遵循 Stripe API 的最佳实践,以确保安全性和可靠性。

我们希望这篇文章可以对您有所帮助。如果您对 Stripe API 、 @caldera-digital/ecommerce-stripe-shared 或本文有任何疑问,请随时联系我们。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/caldera-digital-ecommerce-stripe-shared