简介
webpay-webservice-api 是一个基于 Node.js 的 npm 包,它提供了对 WebPay 的 WebService API 的封装,使得前端开发人员可以方便地调用 WebPay 的支付接口。
WebPay 是一个日本的在线支付服务提供商,它提供了丰富的支付解决方案,包括信用卡支付、微信支付等。
本文将介绍如何使用 webpay-webservice-api 这个 npm 包来调用 WebPay 的支付接口。
安装
首先需要在你的项目中安装 webpay-webservice-api:
npm install webpay-webservice-api
使用教程
1. 配置
在使用 webpay-webservice-api 调用 WebPay 的支付接口之前,我们需要先进行一些配置。
首先,在 WebPay 的管理后台注册账号并创建一个测试账户,获取到测试密钥和公钥,然后在代码中添加以下代码:
const WebPay = require('webpay-webservice-api'); WebPay.config({ test_secret_key: 'your_test_secret_key', test_public_key: 'your_test_public_key' });
2. 创建支付凭据
创建支付凭据是使用 WebPay 支付接口的第一步。我们可以通过调用 createToken
方法来创建一个支付凭据,代码如下所示:
-- -------------------- ---- ------- -------------------- ----- - ------- ---------------------- ---------- ----- --------- ------- ---- ----- - ----------------------- - ------------------- ---------------------- - ----------------- ---
在上面的代码中,createToken
的参数是一个包含卡片号码、有效期和 CVC 的对象。该方法返回一个 Promise,该 Promise 完成后,返回一个 token 对象,你可以将该 token 对象提交给你的服务器来完成支付。
3. 发起支付请求
在创建支付凭据完成后,我们可以使用 charge
函数发起支付请求。
-- -------------------- ---- ------- --------------- ------- ----- --------- ------ ------------ ----- --------- -------- ----- ------ ----------------- ------------------------ - -------------------- ---------------------- - ----------------- ---
在上面的代码中,参数 amount
表示支付的金额,currency
表示货币种类,description
表示描述信息,capture
表示是否即时支付,token
表示支付凭据。
如果支付成功,charge
方法返回一个成功的结果对象,该对象包含一些交易信息,否则会抛出一个错误。
4. 查询支付状态
如果我们需要查询一个支付的状态,我们可以通过调用 retrieve
方法,传递支付 ID 或者支付操作 ID 来查询。
WebPay.retrieve('payment_id').then(function(payment) { console.log(payment); }).catch(function(err) { console.log(err); });
5. 取消支付
如果我们需要取消一个尚未完成的支付,我们可以通过调用 refund
方法来取消。
WebPay.refund('charge_id').then(function(result) { console.log(result); }).catch(function(err) { console.log(err); });
在上面的代码中,参数 charge_id
表示要取消的支付的 ID。
总结
本文介绍了如何使用 webpay-webservice-api 这个 npm 包来调用 WebPay 的支付接口。
通过本文的学习,你应该已经掌握了如何使用 npm 包来便捷地调用 WebPay 的支付接口,并清楚了解了每个 API 的参数以及返回值。
使用 npm 包的好处是,它们往往封装了很多底层的细节,提供了更为易用的高层接口。
不过 npm 包并不是银弹,当我们遇到一些复杂的问题时,仍然需要深入学习相关的技术和原理,同时也要遵循最佳实践,保证我们的代码质量和性能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671048dd3466f61ffdccd