HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
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)}")