Update routes/subscription.py
Browse files- routes/subscription.py +10 -1
routes/subscription.py
CHANGED
@@ -83,6 +83,15 @@ async def subscription_details(data: SubscriptionRequest):
|
|
83 |
if not subscription:
|
84 |
raise HTTPException(status_code=404, detail="Subscription not found")
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
# Pegando os detalhes do preço atual
|
87 |
current_price = subscription["items"]["data"][0]["price"]["unit_amount"] / 100
|
88 |
currency = subscription["items"]["data"][0]["price"]["currency"].upper()
|
@@ -111,7 +120,7 @@ async def subscription_details(data: SubscriptionRequest):
|
|
111 |
payment_info = "No default payment method found"
|
112 |
|
113 |
return {
|
114 |
-
"status":
|
115 |
"subscription_id": subscription_id,
|
116 |
"current_price": f"{current_price} {currency}",
|
117 |
"next_invoice_amount": f"{next_invoice_amount} {currency}" if next_invoice_amount else "N/A",
|
|
|
83 |
if not subscription:
|
84 |
raise HTTPException(status_code=404, detail="Subscription not found")
|
85 |
|
86 |
+
# Determinar status da assinatura
|
87 |
+
status = subscription["status"]
|
88 |
+
if status == "active":
|
89 |
+
subscription_status = "active"
|
90 |
+
elif status == "canceled" and subscription["current_period_end"] > datetime.utcnow().timestamp():
|
91 |
+
subscription_status = "canceled"
|
92 |
+
else:
|
93 |
+
subscription_status = "terminated"
|
94 |
+
|
95 |
# Pegando os detalhes do preço atual
|
96 |
current_price = subscription["items"]["data"][0]["price"]["unit_amount"] / 100
|
97 |
currency = subscription["items"]["data"][0]["price"]["currency"].upper()
|
|
|
120 |
payment_info = "No default payment method found"
|
121 |
|
122 |
return {
|
123 |
+
"status": subscription_status,
|
124 |
"subscription_id": subscription_id,
|
125 |
"current_price": f"{current_price} {currency}",
|
126 |
"next_invoice_amount": f"{next_invoice_amount} {currency}" if next_invoice_amount else "N/A",
|