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

前言

在现代互联网应用中,支付协议是必不可少的组成部分。@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


猜你喜欢

  • npm 包 @stembord/locales-bundler 使用教程

    在前端开发中,国际化是一个非常重要的问题。如果我们的网站或应用程序需要支持多种语言,我们需要一种快速、高效的方式来处理这些不同的语言和文本。这时,@stembord/locales-bundler 这...

    4 年前
  • npm 包 react-native-accordion-met 使用教程

    背景介绍 React Native 是 Facebook 推出的一款跨平台移动应用开发框架,可以用 JavaScript 和 React 来编写原生应用。React Native 有非常丰富的开源生态...

    4 年前
  • npm 包 @skazska/tools-data-transform 使用教程

    在前端开发中,数据的转换和处理经常是不可避免的,但这个过程并非总是简单且高效的。因此,使用工具可以为开发人员带来便利和效率的提高。今天我将介绍一个 npm 包 @skazska/tools-data-...

    4 年前
  • npm 包 @gotoeasy/flexbox 使用教程

    1. 概述 @gotoeasy/flexbox 是一款基于 CSS3 Flexbox 布局的 JS 库,旨在提供一种简单、方便和可扩展的方式来处理盒子布局。它可以帮助开发者更容易地实现响应式布局,特别...

    4 年前
  • npm 包 element-ui-zp96 使用教程

    在前端开发中,使用好的UI框架可以提高我们开发的效率,而element-ui是一个非常受欢迎的UI框架,它提供了一系列易用的组件和样式,用于web应用的开发。而element-ui-zp96是在ele...

    4 年前
  • MongoDB-Keyval-Storage 的使用教程

    前言:随着应用程序复杂度的提高,大部分应用程序需要存储和处理大量的数据。而使用 MongoDB 数据库进行数据存储,是一个相当流行的选择。在前端应用中,我们可以使用一个 npm 包,mongodb-k...

    4 年前
  • npm 包 access-control-generator 使用教程

    简介 在前后端分离的开发模式中,前端代码通过 Ajax 获取数据时,往往需要从服务端获取数据,并进行访问控制处理。为了方便开发者在前端实现访问控制的功能,Node.js 生态圈中出现了很多 acces...

    4 年前
  • npm 包 supercrabtree-wdio-cucumber-framework 使用教程

    在前端开发中,要想提高开发效率和代码质量,常常会使用一些工具和框架。npm( Node Package Manager )作为 Node.js 的包管理工具,为 JavaScript 开发者提供了大量...

    4 年前
  • npm 包 gulp-svg2png-update 使用教程

    在前端开发中,我们经常会需要将 SVG 图标转化为 PNG 格式,以便在各种设备和平台上展示。gulp-svg2png-update 是一款实用的 NPM 包,可以快速将 SVG 图标批量转换为 PN...

    4 年前
  • npm 包 vue-global-var 使用教程

    在前端项目中,我们经常需要使用一些全局变量来存储应用程序的状态、配置和其他需要在整个项目中共享的数据。Vue.js 是一种流行的前端框架,它提供了很多方便的全局变量管理方法,其中一个很好的选择是 np...

    4 年前
  • npm 包 tg-anti-crypto-spam-bot 使用教程

    npm 包 tg-anti-crypto-spam-bot 使用教程 前言 在 Telegram 中遇到加密货币广告骚扰是比较常见的事情,如果你是一个 Telegram 群组或频道的管理员,那么针对这...

    4 年前
  • npm 包 @cmdlucas/react-mediaquery 使用教程

    在前端开发中,我们经常需要根据设备的不同,为网页添加不同的样式和布局,以适应不同的屏幕大小和分辨率。而 @cmdlucas/react-mediaquery 就是一个非常方便的 npm 包,可以帮助我...

    4 年前
  • npm 包 winattr 使用教程

    什么是 winattr winattr 是一个在 Windows 平台下的 npm 包,它提供了一组方法可以用来操作文件或目录的属性。通过 winattr,可以方便地实现获取、设置或移除文件或目录的各...

    4 年前
  • npm 包 table2excel.js 使用教程

    简介 table2excel.js 是一款基于 JavaScript 的 npm 包,它可以将表格数据导出成 Excel 文件格式。该包封装了多种导出功能,可以满足前端开发人员导出数据的需求。

    4 年前
  • npm 包 @cookpi/polyfill 使用教程

    随着互联网技术的不断发展,前端技术也变得越来越重要。在前端开发中,我们经常使用各种现代化的 API 和语法来提高代码的效率和可读性。然而,不是所有的浏览器都支持最新的技术,这就需要我们使用 polyf...

    4 年前
  • npm 包 axios-with-dns 使用教程

    简介 axios-with-dns 是一个基于 axios 的封装,其支持 DNS 解析功能。axios-with-dns 包含了 DNS 缓存、自定义 DNS 接口等特性,可以优化网络请求的表现。

    4 年前
  • npm 包 awesome-react16-swiper 使用教程

    随着互联网的发展和技术的进步,越来越多的前端工具出现在我们的视野中。npm 包就是其中一个非常重要的工具,它可以让我们更加方便地管理和使用前端框架和库。 在这篇文章中,我们将介绍一个名为 awesom...

    4 年前
  • npm 包 awesome-react15-swiper 使用教程

    在前端开发中,我们常常需要使用一些滑动组件来实现一些互动性的效果,而 awesome-react15-swiper 就是一个基于 React15 的轮播组件库。该组件库提供了丰富的 API 和样式,可...

    4 年前
  • npm 包 @1057405bcltd/compute-orders 使用教程

    在前端开发中,我们经常会涉及到处理订单的计算和逻辑。而 @1057405bcltd/compute-orders 就是一款方便实用的 npm 包,可以帮助我们更加高效地完成订单相关的计算和逻辑部分。

    4 年前
  • npm 包 corelink-location 使用教程

    前言 现代化的 Web 应用离不开前端技术,而 npm 作为前端依赖管理的标配,其所涵盖的包覆盖了从框架到工具的一切需要。在这个包罗万象的 npm 生态中,corelink-location 是一个不...

    4 年前

相关推荐

    暂无文章