Problème avec une erreur 500 lors des abonnements

Cool. Merci !

Il y avait un abonnement.

Une correction sur votre code :

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

Il y a 100 plans (donc probablement plus que ça) - peut-être que c’est ça le problème ? (J’ai essayé avec limit: 1000 mais ça n’a rien changé ; je suppose que c’est une limite de l’API Stripe ?)

Donc peut-être que s’il y a plus de 100 plans, ça échoue ? Oh, et les utilisateurs pour lesquels ça ne plante pas, sont sur des plans qui font partie des 100 premiers.

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

EDIT :
Oui. Si je fais ça :

# Obtenir l'ID du dernier élément
last_price_id = plans.data.last.id

# Obtenir les 100 suivants
next_plans = ::Stripe::Price.list(
  expand: ['data.product'],
  limit: 100,
  starting_after: last_price_id
)

alors

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

trouve ce qu’il cherche.

EDIT ENCORE : next_plans.count == 8. J’ai suggéré de supprimer 10 plans.

1 « J'aime »