Stripe 是非常流行的第三方支付服务平台,许多电商和 SaaS 应用都使用 Stripe 进行支付。在使用 Stripe 时,对于管理员来说,需要监控 Stripe 的收入和费用,因此有许多针对 Stripe 的仪表盘和分析工具。dashboards-stripe-charges 是一个 npm 包,提供了一个可视化的仪表盘,展示了 Stripe 的收入和费用情况,方便管理员了解含义,做出更准确的决策。
安装
安装 dashboards-stripe-charges 只需要在命令行中运行以下命令即可:
npm install dashboards-stripe-charges --save
使用说明
- 准备好一个用于连接 Stripe API 的 secret_key,如果没有请去 Stripe 官网注册账号并获取 secret_key;
- 在你的项目中引入
dashboards-stripe-charges
模块,并传入 secret_key,代码示例:
const dashboardsStripeCharges = require('dashboards-stripe-charges'); const stripeApiKey = 'sk_test_......'; // 改为你的 secret_key const dashboard = dashboardsStripeCharges(stripeApiKey);
- 初始化后,你可以调用这个
dashboard
对象中的获取 Stripe 数据的方法,示例:
// 获取近一年按月汇总的 Stripe 订单金额 dashboard.getMonthlyCounts((err, data) => { if (err) { console.error(err); } else { console.log(data); } });
API
getMonthlyCounts(callback)
获取按月汇总的 Stripe 订单金额数据。callback 函数有两个参数,第一个是 error,第二个是 data。data 的数据格式为:
{ "1": 123.45, // 第一月的总金额 "2": 234.56, // 第二月的总金额 ... }
getTopCustomers(callback)
获取消费金额排名前十的用户数据。callback 函数有两个参数,第一个是 error,第二个是 data。data 的数据格式为:
[ { "name": "某某公司", "amount": 1234.56 }, { "name": "某某个人", "amount": 789.01 }, ... ]
getFees(callback)
获取各种费用的数据。callback 函数有两个参数,第一个是 error,第二个是 data。data 的数据格式为:
{ "application_fee": 1234.56, "charge": 7890.12, ... }
深度解析
- 在
dashboards-stripe-charges
模块内部,它封装了 Stripe API 的一些请求,因此我们只需要传入 secret_key,就可以使用该模块获取 Stripe 的数据。 getMonthlyCounts
方法的数据来源于 Stripe 返回的charge
列表,该列表中统计了每一笔订单的付款情况。通过groupby
操作,可以将这些订单按照月份进行汇总并求和。然后,将结果数据的格式处理为按月份的 key-value 对象。getTopCustomers
方法首先获取 Stripe 所有订单的信息,再按照用户进行分组,并进行计算每个用户的消费总金额,并对其进行排序;最后,截取前十个用户返回。getFees
方法是对所有的application_fee
与charge
进行汇总,将结果集返回。
学习意义
该 npm 包提供了一种快速获取 Stripe 相关统计数据的方式,让管理员可以更加直观地了解 Stripe 中的收支情况,据此做出更加合理的决策。在阅读该 npm 包源码时,可以学习到如何封装使用第三方 API 的方法,以及如何将原始数据进行处理和转换为可用数据的形式。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/101950