npm 包 @gohelpfund/helpcore-payment-protocol 使用教程

阅读时长 9 分钟读完

前言

在现代互联网应用中,支付协议是必不可少的组成部分。@gohelpfund/helpcore-payment-protocol 是一款基于 Node.js 的开源支付协议库,是处理付款、退款、发票等交易的最佳选择。本文将详细介绍 @gohelpfund/helpcore-payment-protocol 的使用方法,包括安装、配置、API 等。

安装

你需要在你的项目中安装该 npm 包。使用以下命令:

当然,你也可以使用 Yarn:

配置

位于 @gohelpfund/helpcore-payment-protocol 模块的 PaymentProtocol 对象用于处理支付协议收发管理。我们需要使用 PaymentProtocol.PaymentRequestPaymentProtocol.Payment 模块中的方法。

在开始使用前,你需要先创建一个 PaymentRequest 对象,并提供要购买的产品的详细信息。可以通过以下示例代码创建一个 PaymentRequest 对象:

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

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

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

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

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

此代码块在本地生成了 paymentRequest 和 paymentRequestUrl 文件,它们分别包含 Payment Request 对象的序列化版本和可以发布的 URL。

API

PaymentProtocol.PaymentRequest

makePaymentRequest(): PaymentProtocol.PaymentRequest

创建一个新的 PaymentRequest 对象。

serialize(): Buffer

PaymentRequest 对象序列化为字节数组。

getPaymentUrl(): string

获取可以向用户展示的支付请求 URL。

setExpiration(expiration: number): void

设置请求的失效时间(UNIX 时间戳)。

setMemo(memo: Buffer): void

设置备注信息。

setMerchantData(merchantData: Buffer): void

设置商户数据。

setPublicKey(publicKey: Buffer): void

设置客户端支付协议的公钥。

setPaymentDetailsVersion(version: number): void

设置支付协议请求版本号。

set(details: PaymentRequestDetails): void

设置支付请求的详情,参数为一个包含如下属性的对象:

PaymentProtocol.Payment

makePayment(): PaymentProtocol.Payment

创建一个新的 Payment 对象。

deserialize(buf: Buffer): boolean

从传入的字节数组中反序列化 Payment 对象。

getMerchantData(): Buffer

获取 Payment 对象的商户数据。

getRefundTo(): Output

获取退款地址。

isExpired(): boolean

判断请求是否已过期。

submit(opts: PaymentProtocolHTTPConfig, callback: PaymentProtocolErrorResponseCallback): void

提交支付协议。

示例代码

下面是一个完整的示例代码,包含了创建 Payment Request 对象和提供给用户的 URL,提交 Payment 对象以及如何读取和验证这些对象。

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

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

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

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

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

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

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

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

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

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

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

结论

@gohelpfund/helpcore-payment-protocol 是一个非常强大的支付协议库,提供非常丰富的 API 支持。使用该库,你可以轻松地处理付款、退款、发票等各种交易,同时也能够大大减少处理支付协议的难度和时间成本。希望这篇文章对你学习和使用 @gohelpfund/helpcore-payment-protocol 有所帮助。

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

纠错
反馈