在现代化的 Web 开发中,前端技术越来越多样化复杂化,需要处理的业务逻辑也越来越复杂。在这样的大环境下,npm 包成为了前端开发中无法或缺的重要组成部分,它可以加快开发效率、降低成本、提供复用性高的代码与模块。在本篇文章,我们将详细介绍一个常用的 npm 包 treezor-js-client。
什么是 treezor-js-client?
treezor-js-client 是一个提供与 Treezor REST API 交互的 JavaScript 客户端的 npm 包。Treezor 是一家在线支付公司,该公司提供数字支付、银行卡支付、电子钱包等一系列支付服务。使用 treezor-js-client 可以很方便地使用 Treezor 提供的支付服务,实现先进的支付业务逻辑处理。
如何安装和使用 treezor-js-client?
treezor-js-client 是一个 npm 包,安装方法很简单,在项目中的任何位置执行下面的命令即可。
npm install --save treezor-js-client
在安装完成后,就可以在代码中引入并使用。下面是使用 treezor-js-client 实现查询用户余额的简单示例。
-- -------------------- ---- ------- ------ ------------- ---- -------------------- ----- ------ - --- --------------- ------- --------------- ---------- ------------------ ------------ ----------------------------- --- ----- -------- ---------------------- - ----- - -------- - - ----- -------------------- ------ --- ------ -------------------- -- ------------- --- --------------- -- -- - --------------------------------------------------------------
treezor-js-client API 介绍
treezor-js-client 包含丰富的 API 接口,下面将逐一介绍。
TreezorClient
TreezorClient 类是 treezor-js-client 的主类,通过它可以初始化 Treezor API 客户端,以及使用客户端向 Treezor 提交请求。
使用 TreezorClient 类,首先需要引入类:
import TreezorClient from 'treezor-js-client';
使用 TreezorClient 类,可以初始化 Treezor 客户端:
const client = new TreezorClient({ apiKey: 'your-api-key', apiSecret: 'your-api-secret', apiEndpoint: 'https://api.treezor.com/v1', });
创建 TreezorClient 实例时,需要传入下面三个参数:
apiKey
:API Key,必选参数。apiSecret
:API Secret,必选参数。apiEndpoint
:API 端点,可选参数,默认为 Treezor API 端点 https://api.treezor.com/v1。
TreezorClient#getBalances(options: { userId: number }): Promise<{ balances: Array<balance> }>
查询用户钱包中的余额信息。
options
参数为查询条件,包含一个必选属性 userId
,表示要查询的用户 ID。
该方法返回一个 Promise,Promise resolve 时返回一个包含 balances 属性的对象,balances 属性为 Balance 数组,数组中每个 Balance 表示一种货币的余额信息。每个 Balance 包含下面属性:
balance
: 账户余额。currency
: 表示该余额所属的货币类型。余额表示可能的货币类型:EUR(欧元)、USD(美元)、GBP(英镑)、ZAR(南非兰特)、AUD(澳元)、CAD(加元)、CHF(法郎)、DKK(丹麦克朗)、HKD(港元)、ILS(新谢克尔)、JPY(日元)、MXN(墨西哥元)、NOK(挪威克朗)、NZD(新西兰元)、SEK(瑞典克朗)、SGD(新加坡元)、THB(泰铢)和TTD(特立尼达和多巴哥元)。
TreezorClient#getUser(options: { userId: number }): Promise<user>
获取用户的详细信息。
options
参数为查询条件,包含一个必选属性 userId
,表示要查询的用户 ID。
返回值为一个 Promise,Promise resolve 时返回一个 User 对象,User 包含下面属性:
firstName
: 名字。lastName
: 姓氏。email
: 电子邮件地址。telephone
: 电话号码。legalPersonType
: 法人类型。dateOfBirth
: 生日。nationality
: 国籍。birthCountry
: 出生国家。isEntrepreneur
: 是否为企业家。businessStartDate
: 生意开始日期。businessEndDate
: 生意结束日期。legalName
: 法人名称。
TreezorClient#createUser(options: CreateUserOptions): Promise<user>
创建一个新的用户。
options
参数是一个 CreateUserOptions 类型的对象,包含下面属性:
email
: 电子邮件地址,必选属性。firstName
: 名字,必选属性。lastName
: 姓氏,必选属性。telephone
: 电话号码,必选属性。
返回值为一个 Promise,Promise resolve 时返回一个 User 对象,User 包含下面属性:
id
: 用户 ID。email
: 电子邮件地址。
使用示例:
const { id } = await client.createUser({ email: 'user@test.com', firstName: '张', lastName: '三', telephone: '+8612345678901', }); console.log(`User created: id=${id}`);
TreezorClient#updateUser(options: UpdateUserOptions): Promise<user>
更新用户信息。
options
参数是一个 UpdateUserOptions 类型的对象,包含下面属性:
userId
: 用户 ID,必选属性。firstName
: 名字,可选属性。lastName
: 姓氏,可选属性。telephone
: 电话号码,可选属性。email
: 电子邮件地址,可选属性。
返回值为一个 Promise,Promise resolve 时返回一个 User 对象,User 包含下面属性:
id
: 用户 ID。email
: 电子邮件地址。
使用示例:
const { id } = await client.updateUser({ userId: 123456, email: 'new-user-email@test.com', }); console.log(`User Update: id=${id}`);
TreezorClient#getPaymentMethods(options: { userId: number }): Promise<Array<paymentmethod>>
获取用户的支付方式列表。
options
参数为查询条件,包含一个必选属性 userId
,表示要查询的用户 ID。
返回值为一个 Promise,Promise resolve 时返回一个 PaymentMethod 数组,PaymentMethod 包含下面属性:
id
: 支付方式 ID。type
: 支付方式类型。label
: 支付方式标签。iconUrl
: 支付方式图标 URL。
使用示例:
const paymentMethods = await client.getPaymentMethods({ userId: 123456 }); paymentMethods.forEach((paymentMethod) => console.log(paymentMethod));
TreezorClient#createPaymentMethod(options: CreatePaymentMethodOptions): Promise<paymentmethod>
创建一个新的支付方式。
options
参数是一个 CreatePaymentMethodOptions 类型的对象,包含下面属性:
userId
: 用户 ID,必选属性。label
: 标签,必选属性。type
: 类型,必选属性。cardNumber
: 卡号,可选属性。cardYear
: 卡有效期年份,可选属性。cardMonth
: 卡有效期月份,可选属性。cardCvv
: 卡安全码,可选属性。description|descriptionData
: 描述信息,二选一属性。iban
: 国际银行账号,可选属性。bic
: 银行标识代码,可选属性。
返回值为一个 Promise,Promise resolve 时返回一个 PaymentMethod 对象,PaymentMethod 包含下面属性:
id
: 支付方式 ID。type
: 支付方式类型。label
: 支付方式标签。iconUrl
: 支付方式图标 URL。
使用示例:
-- -------------------- ---- ------- ----- - -- - - ----- ---------------------------- ------- ------- ------ ------- ------ ----- -------------- ----------- ------------------- --------- ----- ---------- --- -------- ---- --- -------------------- ------ -------- -----------
TreezorClient#deletePaymentMethod(options: { paymentMethodId: number }): Promise<void>
删除一个支付方式。
options
参数为查询条件,包含一个必选属性 paymentMethodId
,表示要删除的支付方式 ID。
返回值为一个 Promise,Promise resolve 时不返回任何值。
使用示例:
await client.deletePaymentMethod({ paymentMethodId: 123456 }); console.log(`Payment Method Deleted: id=123456`);
TreezorClient#createPayout(options: CreatePayoutOptions): Promise<payout>
创建一个支付。
options
参数是一个 CreatePayoutOptions 类型的对象,包含下面属性:
referenceId
: 订单的唯一标识,必选属性。userId
: 用户 ID,必选属性。beneficiaryId
: 收款人 ID,必选属性。amount
: 支付金额,必选属性。currency
: 支付货币,必选属性。gateway
: 支付网关,必选属性。gatewayData
: 支付网关数据,必选属性。
返回值为一个 Promise,Promise resolve 时返回一个 Payout 对象,Payout 包含下面属性:
id
: 支付 ID。status
: 支付状态。referenceId
: 支付订单的唯一标识。
使用示例:
-- -------------------- ---- ------- ----- - -- - - ----- --------------------- ------------ --------------- ------- ------- -------------- ------- ------- ----- --------- ------ -------- --------- ------------ - ---------------- ---------------- -- --- -------------------- -------- -----------
结语
本篇文章详细介绍了 npm 包 treezor-js-client 的使用方法和 API 接口,相信对所有前端开发者来说都有一定的指导意义。同时,我们也希望能够借此机会,让更多人了解到 npm 包是前端技术中不可或缺的重要组成部分,方便、快捷地解决开发中的各种问题。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b6251ab1864dac67380