namespace SIGCM.Domain.Entities;

public class Payment
{
    public int Id { get; set; }
    public int ListingId { get; set; }
    public decimal Amount { get; set; }
    public required string PaymentMethod { get; set; } // Cash, Debit, Credit, Transfer, MercadoPago, Stripe
    public string? CardPlan { get; set; } 
    public decimal Surcharge { get; set; } 
    public DateTime PaymentDate { get; set; } = DateTime.UtcNow;
    
    // Campos para pagos externos (MP/Stripe)
    public string? ExternalReference { get; set; } // Nuestro ID de preferencia
    public string? ExternalId { get; set; } // ID transaccional de la pasarela
    public string? Status { get; set; } // Pending, Approved, Rejected
}
