Problema com erro 500 nas assinaturas

Legal. Valeu!

Houve uma assinatura.

Uma correção no seu código:

subs = ::Stripe::Subscription.list(customer: customer.stripe_customer_id, status: 'all')[:data]

Existem 100 planos (então provavelmente mais do que isso) - talvez esse seja o problema? (Tentei com limit: 1000, mas isso não mudou nada; acho que esse é um limite da API do Stripe?)

Então, talvez se houver >100 planos, falhe? Ah, e os usuários para os quais não está falhando, estão em planos que estão nos primeiros 100.

discourse(prod)> plan = plans[:data].find { |p| p[:id] == price_id }
discourse(prod)>
=> nil

EDIT:

Sim. Se eu fizer isso:

# Pega o ID do último item
last_price_id = plans.data.last.id

# Pega os próximos 100
next_plans = ::Stripe::Price.list(
  expand: ['data.product'],
  limit: 100,
  starting_after: last_price_id
)

então

discourse(prod)> next_plans[:data].find { |p| p[:id] == price_id }

encontra o que procura.

EDIT NOVAMENTE: next_plans.count == 8. Eu sugeri que eles excluíssem 10 planos.

1 curtida