🕌

Stripe Price APIでlookup_keysを使う際の注意点

に公開

Stripeで複数の料金プランを管理している場合、特定のプランだけを簡単に取得したいケースは多いでしょう。そんな時に便利なのがlookup_keysパラメータです。今回はlookup_keysを使う際の重要な注意点について解説します。

lookup_keysで料金データを取得する基本

Stripe Price APIでは、lookup_keysを使って識別子を指定することで、任意の料金データを簡単に取得できます。

const prices = await stripe.prices.lists({
    lookup_keys: ['starter', 'business']
});

このコードでは、'starter''business'というlookup_keysに紐づく料金プランを一度に取得しています。これによりIDを覚えておく必要がなく、わかりやすい識別子でPrice情報を取得できるのが大きなメリットです。

https://docs.stripe.com/products-prices/manage-prices?locale=ja-JP#lookup-keys

重要な注意点:アーカイブされた料金も取得される

しかし、lookup_keysだけでリクエストを行うと、アーカイブされた料金プランも取得されてしまうという注意点があります。

通常、料金プランを非公開にしたい場合はアーカイブ機能を使いますが、lookup_keysだけでは、そのようなアーカイブされたプランも検索結果に含まれてしまいます。

解決策:activeパラメータを追加する

この問題を解決するには、active: trueパラメータを追加して、アクティブな料金プランのみを取得するように指定します。

const prices = await stripe.prices.lists({
    lookup_keys: ['starter', 'business'],
    active: true
});

このようにactive: trueを追加することで、アクティブな料金プランのみを取得でき、アーカイブされたプランは除外されます。

まとめ

Stripe Price APIでlookup_keysを使用する際は、アーカイブされたプランも取得されることを念頭に置き、必要に応じてactive: trueパラメータを追加することをお忘れなく。これにより、意図した料金プランのみを正確に取得できるようになります。

料金プランの管理やAPIの使い方について、さらに詳しく知りたい方はStripeの公式ドキュメントも参考にしてみてください。

https://docs.stripe.com/products-prices/manage-prices?locale=ja-JP#lookup-keys
https://docs.stripe.com/api/prices/create#create_price-lookup_key

デジタルキューブ

Discussion