Update routes/subscription.py
Browse files- routes/subscription.py +8 -4
routes/subscription.py
CHANGED
@@ -266,20 +266,24 @@ def create_checkout_session(
|
|
266 |
if not user_stripe_id:
|
267 |
raise HTTPException(status_code=400, detail="Client does not have a Stripe Customer ID")
|
268 |
|
269 |
-
# 🔹
|
|
|
|
|
|
|
|
|
270 |
session = stripe.checkout.Session.create(
|
271 |
success_url="https://yourdomain.com/success",
|
272 |
cancel_url="https://yourdomain.com/cancel",
|
273 |
payment_method_types=["card"],
|
274 |
mode="subscription",
|
275 |
-
customer=user_stripe_id,
|
276 |
line_items=[
|
277 |
{
|
278 |
"price": price_id,
|
279 |
"quantity": 1
|
280 |
}
|
281 |
],
|
282 |
-
payment_intent_data={ # 🔹
|
283 |
"application_fee_amount": int(stylist_price * 0.2), # 20% para a plataforma
|
284 |
"transfer_data": {
|
285 |
"destination": stylist_stripe_id, # Conta do estilista no Stripe
|
@@ -290,7 +294,7 @@ def create_checkout_session(
|
|
290 |
"stylist_id": stylist_id,
|
291 |
"stylist_stripe_id": stylist_stripe_id,
|
292 |
"user_id": user_id,
|
293 |
-
"user_stripe_id": user_stripe_id
|
294 |
},
|
295 |
subscription_data={
|
296 |
"metadata": {
|
|
|
266 |
if not user_stripe_id:
|
267 |
raise HTTPException(status_code=400, detail="Client does not have a Stripe Customer ID")
|
268 |
|
269 |
+
# 🔹 Buscar detalhes do preço no Stripe
|
270 |
+
price_details = stripe.Price.retrieve(price_id)
|
271 |
+
stylist_price = price_details.unit_amount # Obtém o valor do preço em centavos
|
272 |
+
|
273 |
+
# 🔹 Criar Checkout Session no Stripe
|
274 |
session = stripe.checkout.Session.create(
|
275 |
success_url="https://yourdomain.com/success",
|
276 |
cancel_url="https://yourdomain.com/cancel",
|
277 |
payment_method_types=["card"],
|
278 |
mode="subscription",
|
279 |
+
customer=user_stripe_id,
|
280 |
line_items=[
|
281 |
{
|
282 |
"price": price_id,
|
283 |
"quantity": 1
|
284 |
}
|
285 |
],
|
286 |
+
payment_intent_data={ # 🔹 Necessário para transferências no Brasil
|
287 |
"application_fee_amount": int(stylist_price * 0.2), # 20% para a plataforma
|
288 |
"transfer_data": {
|
289 |
"destination": stylist_stripe_id, # Conta do estilista no Stripe
|
|
|
294 |
"stylist_id": stylist_id,
|
295 |
"stylist_stripe_id": stylist_stripe_id,
|
296 |
"user_id": user_id,
|
297 |
+
"user_stripe_id": user_stripe_id
|
298 |
},
|
299 |
subscription_data={
|
300 |
"metadata": {
|