Node.jsでStripeのインボイスを過去1ヶ月分だけ取得する
過去1ヶ月分のインボイスだけを取得したい場合のコードサンプルです。 準備 ライブラリが2つほど必要なので、インストールします。 $ npm init -y $ npm i -S moment stripe コード いきな […]
広告ここから
広告ここまで
目次
過去1ヶ月分のインボイスだけを取得したい場合のコードサンプルです。
準備
ライブラリが2つほど必要なので、インストールします。
$ npm init -y
$ npm i -S moment stripe
コード
いきなり実行結果です。
何をしているかはコメントとして残していますので、そちらを参考にしてください。
'use strict';
const moment = require('moment')
const stripe = require("stripe")(
"sk_test_XXXXXXX"
);
// 現在時刻の取得
const now = moment();
// 「1ヶ月前以上今以下」というクエリを作る
const params = {
customer: 'cus_XXXXXXXX',
date: {
lte: now.unix(),
gte: now.add(-1, 'months').unix()
}
};
// 取得する
stripe.invoices.list(
params,
function(err, customer) {
if (err) {
console.log(err)
return
}
// データの一部を出力する
const { data } = customer;
data.map(invoice => {
console.log(moment.unix(invoice.date).toISOString())
console.log(`${invoice.total} ${invoice.currency.toUpperCase()}\n`)
})
}
);
実行結果
2017-11-21T05:34:33.000Z
2250 USD
2017-11-15T05:16:56.000Z
2250 USD
2017-11-07T17:23:43.000Z
48600 USD
2017-11-07T15:03:32.000Z
99001 USD
2017-11-07T15:00:41.000Z
22500 USD
2017-11-07T12:49:40.000Z
2250 USD
2017-11-07T11:52:48.000Z
22500 USD
2017-11-07T11:50:41.000Z
11250 USD
2017-11-07T11:47:31.000Z
15000 USD
2017-11-07T10:41:22.000Z
2250 USD
おわりに
now.add(-1, 'months').unix()
の部分を書き換えることで「直近X年月日以内のインボイス」という風にできます。