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年月日以内のインボイス」という風にできます。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark