npm 包 meteor-alipay 使用教程

阅读时长 11 分钟读完

介绍

meteor-alipay 是一个基于 Node.js 的 npm 包,提供了在 Meteor 项目中集成支付宝支付的能力。支付宝是目前国内移动支付的主要方式之一,支持多种支付方式,包括支付宝余额、银行卡、信用卡、花呗、余额宝等。

本教程将详细介绍如何在 Meteor 项目中使用 meteor-alipay 这个 npm 包,包含了安装、配置、集成支付功能等方面的内容。

步骤

安装

首先,需要安装 meteor-alipay 这个 npm 包。在命令行中输入以下命令:

这个命令会下载最新版本的 meteor-alipay 包,并在本地项目中安装该包。

配置

接下来,需要进行 meteor-alipay 的相关配置。在项目中,创建一个 config.json 文件,用于存放相关的配置信息。在该文件中,需要添加以下配置:

  • partner:支付宝合作者身份ID,可以在支付宝开放平台的应用管理中找到。
  • key:用于加密的密钥,可以在支付宝开放平台的开发者中心中找到。
  • seller_email:您在支付宝开放平台中注册的账号,用于接收支付款项。
  • notify_url:支付宝服务器异步通知页面路径,用于接收支付成功后支付宝服务器通知的结果。

集成

现在,已经完成了 meteor-alipay 的配置,接下来就可以在 Meteor 项目中集成支付宝支付功能了。

首先,在客户端的 HTML 文件中添加以下代码:

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

这段代码定义了一个表单,包含了提交支付宝支付所需的各参数。其中,

  • partner、seller_email、notify_url 从 config.json 文件中读取。
  • orderId、orderName、orderAmount 需要自己定义,表示订单号、订单名称、订单金额。
  • sign 用于加密签名,需要自己计算并添加。

为了计算签名,需要新建一个 meteor-alipay.js 文件,将以下代码粘贴进去:

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

这段代码主要是用于计算签名,在前面的 alipay 表单中使用。其中,

  • config 从 Meteor.settings.alipay 中读取。
  • params 表示支付宝支付所需的各参数。
  • md5Str 表示所有参数按照固定格式有序排列后,加上密钥一起进行 MD5 加密。
  • crypto 包是 Node.js 内置的加密模块,用于进行 MD5 加密。
  • 最后,函数返回的是计算出来的签名大写后的字符串。

接下来,在客户端的 JavaScript 文件中添加以下代码:

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

这段代码主要是在表单提交前,先通过 Meteor.call 调用 getAlipaySign 方法计算签名,然后将签名填入表单中,最后提交表单即可。

示例代码

下面是一个完整的示例代码:

/config/development.json

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

/client/main.html

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

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

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

/client/main.js

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

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

/server/meteor-alipay.js

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

结语

本教程介绍了如何在 Meteor 项目中使用 meteor-alipay 这个 npm 包,包括了安装、配置、集成支付功能等方面的内容。希望对想要使用支付宝支付的 Meteor 开发者有所帮助。

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

纠错
反馈