npm包 weixin-payment-sdk 使用教程

阅读时长 8 分钟读完

在微信小程序开发中,支付功能是一个必不可少的部分。weixin-payment-sdk 是一个 Node.js 的npm包,它为微信小程序提供了统一的支付接口。在本教程中,我们将介绍如何使用 weixin-payment-sdk 安装和配置支付接口,并提供一些示例代码,让你快速上手微信小程序的支付功能。

安装和配置

1. 安装 npm 包

安装 weixin-payment-sdk, 命令如下:

2. 获取微信支付配置

在开始之前,我们需要获取微信支付的配置信息,包括商户ID、API密钥、回调地址等等。获取微信支付的配置信息,你需要做两件事情:

注意,获取微信支付配置信息需要实名认证,只有个人或企业实名认证后,才有资格使用微信支付的服务。

3. 配置 weixin-payment-sdk

在项目中引入 weixin-payment-sdk 后,我们需要设置微信支付所需的所有参数。在下面的代码中,我们将会演示如何配置 weixin-payment-sdk 去处理微信支付。

你需要将自己的微信小程序 APPID、商户ID、API密钥 和证书文件路径替换到代码中。

完整的 weixin-payment-sdk 配置请参见官方文档。

支付流程

在配置好 weixin-payment-sdk 后,我们可以开始了解微信支付的整个流程。

1. 创建订单

在获取了商品信息和价格等支付信息后,你需要根据这些信息创建一个微信支付订单。

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

需要提交给微信支付 API 的参数包含了商品描述,订单号,总金额,发起支付的 IP 地址,支付回调通知地址,支付方式 (JSAPI、NATIVE 或 APP),以及用户的 openid 等信息。调用 unifiedOrder API,我们可以得到微信支付的一些返回参数,包括 prepay_idtimestamp 等。

2. 获取支付签名

在微信支付签名中,我们需要使用微信支付所需的所有参数,使用 API 密钥进行签名,并将签名信息返回到小程序中。

getPayParams 方法中,我们传递了时间戳,随机字符串,预支付ID等信息,方法会自动的生成签名并返回给我们。

3. 调起支付

将签名信息返回到微信小程序内部,通过 wx.requestPayment 方法调用微信支付接口进行支付。

当用户通过支付接口完成支付后,微信支付将会通过「notify_url」进行回调,接下来就要处理微信支付的回调了。

4. 处理微信支付回调

微信支付回调指的是微信支付完成后向预先设定的回调地址(即我们提交订单时设置的支付回调通知地址)发送数据,我们需要使用 Node.js 的 HTTP 接收回调,解析收到的数据,并返回正确的状态码和消息。

以上代码,我们通过调用 weixin-payment-sdk 的 notify 方法,传入微信支付回调的xml数据,解析出相应的支付信息,并返回正确的状态码和消息。

示例代码

下面是一个完整的微信支付示例代码。示例中我们演示了如何创建订单,获取支付签名,调起支付,处理微信支付回调等操作。

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

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

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

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

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

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

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

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

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

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

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

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

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

总结

在本文中,我们介绍了如何使用 npm 包 weixin-payment-sdk 来为微信小程序添加支付功能。通过逐步的介绍支付流程,我们了解了如何配置微信支付参数,如何创建订单,获取支付签名,调起支付,处理微信支付回调等操作。希望这篇文章能对你在微信小程序支付开发中起到指导作用,并且让你在接下来的开发过程中更加流畅。

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

纠错
反馈