好的。谢谢!
有一个订阅。
您的代码有一个修复:
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 个计划。