habulaj commited on
Commit
87593d9
·
verified ·
1 Parent(s): 7b2093c

Update routes/subscription.py

Browse files
Files changed (1) hide show
  1. routes/subscription.py +7 -3
routes/subscription.py CHANGED
@@ -880,13 +880,17 @@ async def create_price(
880
  new_price_id = price.id
881
  logger.info(f"✅ New price created: {new_price_id}")
882
 
883
- # 🔹 7. Se já houver um price_id, cancelar assinaturas ativas ao final do período
884
  if existing_price_id:
885
  subscriptions = stripe.Subscription.list(status="active")
886
  for sub in subscriptions.auto_paging_iter():
887
  if sub["items"]["data"][0]["price"]["id"] == existing_price_id:
888
- stripe.Subscription.modify(sub.id, cancel_at_period_end=True)
889
- logger.info(f"🔹 Subscription {sub.id} set to cancel at period end.")
 
 
 
 
890
 
891
  # 🔹 8. Atualizar Supabase com o novo price_id e valores adicionais
892
  update_data = {
 
880
  new_price_id = price.id
881
  logger.info(f"✅ New price created: {new_price_id}")
882
 
883
+ # 🔹 7. Se já houver um price_id, cancelar e modificar assinaturas ativas com o novo preço
884
  if existing_price_id:
885
  subscriptions = stripe.Subscription.list(status="active")
886
  for sub in subscriptions.auto_paging_iter():
887
  if sub["items"]["data"][0]["price"]["id"] == existing_price_id:
888
+ # Atualiza o price_id antes de cancelar a assinatura
889
+ stripe.Subscription.modify(sub.id, items=[{
890
+ "id": sub["items"]["data"][0]["id"],
891
+ "price": new_price_id
892
+ }], cancel_at_period_end=True)
893
+ logger.info(f"🔹 Subscription {sub.id} set to cancel at period end and updated with new price {new_price_id}.")
894
 
895
  # 🔹 8. Atualizar Supabase com o novo price_id e valores adicionais
896
  update_data = {