from fastapi import APIRouter, Depends, Request from services.stripeServices import StripeServices from middleware.auth_dependency import auth_required from schemas.ApiResponse import ApiResponse router = APIRouter() stripe_service = StripeServices() # @router.post("/create-checkout-session") # async def create_checkout_session(user_id: int): # return await stripe_service.create_checkout_session(1) @router.post("/create-subscription-checkout") async def create_subscription_checkout(): return await stripe_service.create_subscription_checkout( fees_to_be={ "per_call_charges": 10, "setup_fees": 100, "subscription_fees": 100, "total": 210 }, clinic_id=1, account_id="acct_1RT1UFPTNqn2kWQ8", customer_id="cus_SNn49FDltUcSLP" ) @router.get("/create-stripe-account-link", dependencies=[Depends(auth_required)]) async def create_stripe_account_link(req:Request): link = await stripe_service.create_stripe_account_link(req.state.user) return ApiResponse(data=link, message="Stripe account link created successfully") @router.get("/get-invoice", dependencies=[Depends(auth_required)]) async def get_invoice(req:Request): invoice_url = await stripe_service.get_invoice(req.state.user) return ApiResponse(data=invoice_url, message="Invoice URL retrieved successfully") @router.post("/create-payment-session", dependencies=[Depends(auth_required)]) async def create_payment_session(req:Request): session = await stripe_service.create_payment_session(req.state.user) return ApiResponse(data=session, message="Payment session created successfully") @router.post("/webhook") async def stripe_webhook(request: Request): await stripe_service.handle_webhook(request) return "OK"