前言
在现代互联网应用中,支付协议是必不可少的组成部分。@gohelpfund/helpcore-payment-protocol 是一款基于 Node.js 的开源支付协议库,是处理付款、退款、发票等交易的最佳选择。本文将详细介绍 @gohelpfund/helpcore-payment-protocol 的使用方法,包括安装、配置、API 等。
安装
你需要在你的项目中安装该 npm 包。使用以下命令:
npm install @gohelpfund/helpcore-payment-protocol
当然,你也可以使用 Yarn:
yarn add @gohelpfund/helpcore-payment-protocol
配置
位于 @gohelpfund/helpcore-payment-protocol
模块的 PaymentProtocol
对象用于处理支付协议收发管理。我们需要使用 PaymentProtocol.PaymentRequest
和 PaymentProtocol.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
设置支付请求的详情,参数为一个包含如下属性的对象:
{ memo?: Buffer; amount?: number; currency?: string; output?: Output; merchant_data?: Buffer; expires?: number; }
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