from django.db import models
from users.models.users import User
from package_details.models.package_details import PackageDetails

class Payment(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="payments")
    package = models.ForeignKey(PackageDetails, on_delete=models.CASCADE)
    stripe_payment_intent = models.CharField(max_length=255,blank=True,null=True)
    stripe_customer_id = models.CharField(max_length=255, null=True, blank=True)
    amount = models.DecimalField(max_digits=10, decimal_places=2)
    currency = models.CharField(max_length=10, default="usd")
    payment_method_type = models.CharField(max_length=50, null=True, blank=True)
    card_last4 = models.CharField(max_length=4, null=True, blank=True)
    card_brand = models.CharField(max_length=20, null=True, blank=True)
    status = models.CharField(max_length=20, default="pending")  # pending, succeeded, failed
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return f"{self.user} - {self.package} ({self.status})"