Files
MermsCoreFlask/app/api/integrations/merms_stripe.py
T
2025-08-10 19:57:01 -04:00

43 lines
1.5 KiB
Python

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
)