Problem mit 500-Fehler bei Abonnements

Cool. Danke!

Es gab ein Abonnement.

Eine Korrektur an Ihrem Code:

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

Es gibt 100 Pläne (also wahrscheinlich mehr) – vielleicht ist das das Problem? (Ich habe es mit limit: 1000 versucht, aber das hat nichts geändert; ich schätze, das ist ein Stripe API-Limit?)

Also schlägt es vielleicht fehl, wenn es mehr als 100 Pläne gibt? Oh, und die Benutzer, bei denen es nicht fehlschlägt, haben Pläne, die unter den ersten 100 sind.

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

EDIT:
Ja. Wenn ich das mache:

# Holen Sie sich die ID des letzten Elements
last_price_id = plans.data.last.id

# Holen Sie sich die nächsten 100
next_plans = ::Stripe::Price.list(
  expand: ['data.product'],
  limit: 100,
  starting_after: last_price_id
)

dann findet

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

das Gesuchte.

NOCHMALS EDITIERT: next_plans.count == 8. Ich habe vorgeschlagen, dass sie 10 Pläne löschen.

1 „Gefällt mir“