クール。ありがとう!
サブスクリプションが1件ありました。
コードの修正点は1つです。
subs = ::Stripe::Subscription.list(customer: customer.stripe_customer_id, status: 'all')[:data]
プランは100件(おそらくそれ以上)あります。これが問題でしょうか?(limit: 1000 で試しましたが、何も変わりませんでした。これはStripe APIの制限でしょうか?)
もしプランが100件以上あると失敗するのでしょうか?ああ、そして失敗していないユーザーは、最初の100件のプランに含まれるプランを利用しています。
discourse(prod)> plan = plans[:data].find { |p| p[:id] == price_id }
discourse(prod)>
=> nil
編集:
はい。これを実行すると:
# 最後のアイテムのIDを取得
last_price_id = plans.data.last.id
# 次の100件を取得
next_plans = ::Stripe::Price.list(
expand: ['data.product'],
limit: 100,
starting_after: last_price_id
)
すると
discourse(prod)> next_plans[:data].find { |p| p[:id] == price_id }
探しているものが見つかります。
再度編集:next_plans.count == 8。10件のプランを削除するように提案しました。