File: //home/arjun/projects/aigenerator/AI-LG-backend/Ai_logo_generation/payment/utils/stripe.py
import stripe
from django.conf import settings
stripe.api_key = settings.STRIPE_SECRET_KEY
class StripeUtils:
@staticmethod
def create_customer(name, email):
try:
customer = stripe.Customer.create(
name=name,
email=email,
)
return customer['id']
except stripe.error.StripeError as e:
raise Exception(f"Stripe error: {str(e)}")
@staticmethod
def create_payment_intent(customer_id, amount, currency="usd", payment_method_types=None, logo_id=None, metadata=None):
if payment_method_types is None:
# payment_method_types = ['card', 'paypal']
payment_method_types = ['card']
try:
payment_intent = stripe.PaymentIntent.create(
amount=amount,
currency=currency,
customer=customer_id,
payment_method_types=payment_method_types,
metadata=metadata if metadata else {} # Add metadata only if logo_id is provided
)
return payment_intent
except stripe.error.StripeError as e:
raise Exception(f"Stripe error: {str(e)}")
# def create_payment_intent(customer_id, amount, currency="usd", payment_method_types=None):
# if payment_method_types is None:
# payment_method_types = ['card', 'paypal']
# try:
# payment_intent = stripe.PaymentIntent.create(
# amount=amount,
# currency=currency,
# customer=customer_id,
# payment_method_types=payment_method_types,
# )
# return payment_intent
# except stripe.error.StripeError as e:
# raise Exception(f"Stripe error: {str(e)}")