本教程介绍了如何使用 npm 包 hubtel-mx 来实现在 Node.js 和前端项目中接入 Hubtel 的支付服务。如果您还不知道 Hubtel 是什么,可以先去它的官网了解一下。
什么是 hubtel-mx?
hubtel-mx 是一个 Node.js 模块,它封装了 Hubtel 的支付 API,方便 Node.js 开发者在自己的项目中轻松使用它的支付服务。该模块提供了几乎所有申请付款、查询付款、取消付款等与 Hubtel 相关的功能。同时,hubtel-mx 同时也适用于前端环境,方便浏览器项目调用。
安装
在使用之前,您需要先安装 hubtel-mx 模块。您可以通过 npm 来进行安装:
npm install hubtel-mx
配置
在使用 hubtel-mx 的任何功能之前,您需要先配置一些参数:
const Hubtel = require('hubtel-mx'); const hubtel = new Hubtel({ clientId: 'YOUR_CLIENT_ID', clientSecret: 'YOUR_CLIENT_SECRET', merchantAccountNumber: 'YOUR_MERCHANT_ACCOUNT_NUMBER' });
在这里,您需要替换三个值:
YOUR_CLIENT_ID
: 您在 Hubtel Dashboard 上注册应用时获得的客户端 IDYOUR_CLIENT_SECRET
: 您在 Hubtel Dashboard 上注册应用时获得的客户端密钥YOUR_MERCHANT_ACCOUNT_NUMBER
: 您在 Hubtel 注册的商户账号
注意,如果您使用的是前端项目,则需要注意客户端密钥在前端中存在泄露的风险。因此,前端项目需要进行 AuthToken 的配置。
申请付款
下面是一个简单地将 hubtel-mx 用于申请付款的示例:
-- -------------------- ---- ------- ----- ------ - --------------------- ----- ------ - --- -------- --------- ----------------- ------------- --------------------- ---------------------- ------------------------------ --- ----- ----------- - - ------- -- -------- ------- -------------- --------------------- --------------- --------------- ------------- ----- ----- ------------ ----- -------- -- ------ ------------- -------------------------------- -------------- -- - ---------------------- -- ------------ -- - ------------------- ---
在这个示例中,我们首先实例化了一个 Hubtel
对象,并且传入了我们在上面提到的参数。然后,我们定义了一个叫做 transaction
的对象,其包含了我们希望支付的金额、支付渠道、客户信息以及描述等信息。
最后,我们调用了 hubtel.transactions.receiveMobileMoney()
方法来实际完成付款申请。这个方法会返回一个 Promise,在 Promise resolve 的时候会返回一个 JSON 对象,其包含了关于付款请求的详细信息。
查询付款
下面是一个简单地将 hubtel-mx 用于查询付款的示例:
-- -------------------- ---- ------- ----- ------ - --------------------- ----- ------ - --- -------- --------- ----------------- ------------- --------------------- ---------------------- ------------------------------ --- ----- ------------- - --------- ------ ------------- ------------------------------------- -------------- -- - ---------------------- -- ------------ -- - ------------------- ---
在这个示例中,我们同样实例化了一个 Hubtel
对象,并且传入了我们在上面提到的参数。然后,我们定义了一个叫做 transactionId
的变量,其存储着希望查询的付款 ID。
最后,我们调用了 hubtel.transactions.getTransactionDetails()
方法来实际进行查询。这个方法同样会返回一个 Promise,在 Promise resolve 的时候会返回一个 JSON 对象,其包含了关于此付款的详细信息。
替换付款
下面是一个简单地将 hubtel-mx 用于替换付款的示例:
-- -------------------- ---- ------- ----- ------ - --------------------- ----- ------ - --- -------- --------- ----------------- ------------- --------------------- ---------------------- ------------------------------ --- ----- ------------- - --------- ----- -------------- - - ---------------------- ------------------------------ ------------- ----- ----- -- ------ ------------- ----------------------- --------------- -------------- -- - ---------------------- -- ------------ -- - ------------------- ---
在这个示例中,我们同样实例化了一个 Hubtel
对象,并且传入了我们在上面提到的参数。然后,我们定义了一个叫做 transactionId
的变量,其存储着希望替换的付款 ID,以及一个新的 transaction
数组,其包含了我们要更新此支付的信息。
最后,我们调用了 hubtel.transactions.replace()
方法来实际进行更新。这个方法同样会返回一个 Promise,在 Promise resolve 的时候会返回一个 JSON 对象,其包含了关于更新后的付款的详细信息。
取消付款
下面是一个简单地将 hubtel-mx 用于取消付款的示例:
-- -------------------- ---- ------- ----- ------ - --------------------- ----- ------ - --- -------- --------- ----------------- ------------- --------------------- ---------------------- ------------------------------ --- ----- ------------- - --------- ------ ------------- ------------------------------- -------------- -- - ---------------------- -- ------------ -- - ------------------- ---
在这个示例中,我们同样实例化了一个 Hubtel
对象,并且传入了我们在上面提到的参数。然后,我们定义了一个叫做 transactionId
的变量,其存储着希望取消的付款 ID。
最后,我们调用了 hubtel.transactions.voidTransaction()
方法来实际进行取消操作。这个方法同样会返回一个 Promise,在 Promise resolve 的时候会返回一个 JSON 对象,其包含了关于已取消的付款的详细信息。
总结
在本教程中,我们介绍了如何使用 npm 包 hubtel-mx 来接入 Hubtel 的支付服务。总体来说,这个模块非常方便,使得在 Node.js 和前端项目中接入 Hubtel 变得十分简单。如果您想要深入学习更多与 Hubtel 相关的知识,可以去它的官方文档了解更多。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b5851ab1864dac66e16