作为一名前端工程师,我们经常会使用各种 npm 包来帮助我们开发。其中一个重要的 npm 包就是 node-silver。node-silver 是一个用于处理银联支付接口的 npm 包,提供了方便易用的接口,帮助我们快速地处理银联支付交易。
本文将详细介绍如何使用 node-silver,包括安装、配置和使用示例等,希望对新手和有一定经验的前端开发者都有所帮助。
安装和配置 node-silver
首先,我们需要使用 npm 安装 node-silver:
npm install node-silver --save
安装完成后,我们需要配置一些参数来连接银联支付接口。根据实际情况,我们需要设置以下参数:
merId
:商户号,由银联支付分配,用于标识商户身份。certId
:证书 ID,由银联支付分配,用于加密和解密数据。certPath
:证书路径,存放证书的绝对路径。certPwd
:证书密码,用于保护证书的私钥,由商户自定义。
在使用 node-silver 之前,我们需要确保已经获得了商户号和证书,并将证书放在了指定的路径下。根据银联支付提供的文档,我们可以通过以下代码配置参数:
const nodeSilver = require('node-silver'); nodeSilver.init({ merId: '1234567890', certId: '1234567890', certPath: '/path/to/cert.pfx', certPwd: 'password123' });
使用 node-silver 处理银联支付交易
配置完成后,我们就可以使用 node-silver 来处理银联支付交易了。在 node-silver 中,有以下几个重要的接口:
createOrder
:创建订单,向银联支付发起支付请求。queryOrder
:查询订单状态,获取订单的支付状态。refundOrder
:退款订单,向银联支付发起退款请求。queryRefund
:查询退款状态,获取退款的状态信息。
下面我们将分别介绍这几个接口的使用方法。
创建订单
使用 createOrder
接口创建订单,需要传入以下参数:
orderId
:订单号,由商户生成。txnAmt
:交易金额,单位为分。txnTime
:交易时间,格式为yyyyMMddHHmmss
。frontUrl
:前台返回 URL,支付完成后,银联支付将跳转到这个 URL。backUrl
:后台返回 URL,支付完成后,银联支付将向这个 URL 发送 POST 请求。
创建订单的示例代码如下:
-- -------------------- ---- ------- ------------------------ -------- --------------- ------- ----- -------- ----------------- --------- ---------------------------- -------- -------------------------- ----------- -- - ----------------- ------------ -- - ------------------- ---
查询订单状态
使用 queryOrder
接口查询订单状态,需要传入以下参数:
orderId
:订单号,由商户生成。txnTime
:交易时间,格式为yyyyMMddHHmmss
。
查询订单状态的示例代码如下:
nodeSilver.queryOrder({ orderId: '202101010001', txnTime: '20210101010101' }).then(res => { console.log(res); }).catch(err => { console.error(err); });
退款订单
使用 refundOrder
接口退款订单,需要传入以下参数:
orderId
:订单号,由商户生成。refundOrderId
:退款订单号,由商户生成,用于标识退款请求。txnAmt
:退款金额,单位为分。txnTime
:交易时间,格式为yyyyMMddHHmmss
。
退款订单的示例代码如下:
-- -------------------- ---- ------- ------------------------ -------- --------------- -------------- ---------------- ------- ---- -------- ---------------- ----------- -- - ----------------- ------------ -- - ------------------- ---
查询退款状态
使用 queryRefund
接口查询退款状态,需要传入以下参数:
orderId
:订单号,由商户生成。refundOrderId
:退款订单号,由商户生成。
查询退款状态的示例代码如下:
nodeSilver.queryRefund({ orderId: '202101010001', refundOrderId: '202101010001R' }).then(res => { console.log(res); }).catch(err => { console.error(err); });
总结
本文介绍了 npm 包 node-silver 的使用方法,包括安装、配置和使用示例等。通过学习本文,我们可以快速地掌握 node-silver 的使用方法,并在实践中熟练地处理银联支付交易。希望本文能够对您有所帮助,更多有趣的前端技术,欢迎关注我的博客。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600556d581e8991b448d3acb