NPM包 hapi-paypal 的使用教程

阅读时长 10 分钟读完

hapi-paypal 是一个 Node.js 服务器框架 Hapi.js 中用于 PayPal API 集成的插件,为开发者提供了一个简化的方式来接收 PayPal 支付,这里是 hapi-paypal 的使用教程。

安装

在你的项目目录下,使用 npm 安装 hapi-paypal:

连接 PayPal

在使用 hapi-paypal 前,你需要先 注册一个 PayPal 账号,并 创建一个普通的应用 以获取需要的 API 凭据,包括客户端 ID 和密钥等,你可以 查看这个教程 来了解如何创建。

接下来,在 Hapi.js 的路由配置中,添加 hapi-paypal 的插件,并指明连接 PayPal 的凭据信息:

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

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

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

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

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

创建支付

用户开始支付时,将调用 /paypal/pay 路径,该路由函数将创建一个新的 PayPal 支付请求,并将用户带至 PayPal 官网进行支付。一旦支付完成,用户将被重定向至 redirect_urls.return_url 以完成支付。

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

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

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

在请求中,你需要传入三个字段:

  • price:支付的金额
  • description:支付的描述
  • name:支付的名称

这些字段将作为购买的商品信息去提交创建支付请求。

处理 PayPal 支付

当 PayPal 完成支付转账之后,会把一些支付信息返回给你的服务器,你需要在用户通过 PayPal 支付之后处理该信息。hapi-paypal 提供了 execute 方法来完成对返回的支付信息的处理,具体示例代码如下:

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

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

在上面的代码中,我们定义了路由 /paypal/success,用来从 PayPal 返回的支付信息中处理支付结果。支付信息将以 request.query.paymentIdrequest.query.PayerID 的形式作为路由请求的查询参数被传递到服务器。

一旦处理完成,你可以在控制台中使用 console.log('payment:', payment); 来输出处理完成的支付结果,或将结果返回给用户。

对产品的定制化处理

如果你的产品需要更多的属性,那么你可以通过配置 transactions 来实现。比如,你可以在单个支付请求中支持多个商品:

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

你可以将 items 数组的每个元素视为单个商品,然后在数组中为每个商品提供详细信息。更多的信息可以参见 PayPal API 文档

结语

以上内容是 hapi-paypal 的使用教程,它为开发者们提供了一个简单而快捷的方法来接收 PayPal 支付。使用 hapi-paypal,你可以更加方便地在 Hapi.js 中集成 PayPal API,来应对支付的各种使用场景。 如果你想知道更多的信息,可以参考 NPM 上提供的这个 GitHub 库

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562cc81e8991b448e014b

纠错
反馈