import stripe import json import logging from app.config import settings logger = logging.getLogger(__name__) stripe.api_key = settings.STRIPE_PRIV_KEY class StripeIntegration: @staticmethod def create_customer(stripe_customer): logger.info(f"Inside Stripe_Customer ===== : {stripe_customer}") customer = stripe.Customer.create( email= stripe_customer["email"], name=stripe_customer["name"], payment_method="pm_card_visa", description="Customer for Merms Subscription", invoice_settings={"default_payment_method": "pm_card_visa"}, ) # payment_method="pm_card_visa", # Replace with a valid payment method ID or attach one later return customer def create_product(self, data): # Example of creating a Product and Price product = stripe.Product.create(name="Premium Plan") price = stripe.Price.create( unit_amount=1000, # Amount in cents (e.g., $10.00) currency="usd", recurring={"interval": "month"}, product=product.id, ) def create_subscription(self, data): subscription = stripe.Subscription.create( customer='customer.id', items=[ {"price": 'price.id'}, ], payment_behavior="default_incomplete", # Recommended for handling initial payment expand=["latest_invoice.payment_intent"], # To get details for payment confirmation )