Files
Core_Be/DTOs/PlatformBilling/ClientPaymentMethodDtos.cs
T
Dhananjaya99 bffc9b1686 first commit
2026-09-28 11:44:26 +05:30

54 lines
1.9 KiB
C#

namespace Fitness_core_BE.DTOs.PlatformBilling
{
// The gym's own saved card(s) for paying their HexaFitness platform subscription
// (ClientCard), and the transaction history behind those charges. Distinct from
// PaymentGatewayDtos.cs (admin gateway catalog) and PaymentsEnablementDtos.cs
// (payout track/KYC/wallet) — this is the "gym pays HexaFitness" card-charging surface.
// Fetched live from Payment-Service on every call — CardToken is the identifier (not a
// local id), and none of these fields are ever cached in Core's own database.
public class ClientCardDto
{
public string CardToken { get; set; } = string.Empty;
public string MaskedPan { get; set; } = string.Empty;
public string CardBrand { get; set; } = string.Empty;
public int ExpiryMonth { get; set; }
public int ExpiryYear { get; set; }
public bool IsDefault { get; set; }
}
public class StartCardOnboardingRequest
{
public string? CardLabel { get; set; }
public string? ReturnUrl { get; set; }
}
public class StartCardOnboardingResult
{
public string RedirectUrl { get; set; } = string.Empty;
public string SessionId { get; set; } = string.Empty;
}
public class CardOnboardingStatusResult
{
public bool IsComplete { get; set; }
public ClientCardDto? Card { get; set; }
}
public class TransactionHistoryItemDto
{
public Guid PaymentId { get; set; }
public decimal AmountMinorUnits { get; set; }
public string Currency { get; set; } = string.Empty;
public string Status { get; set; } = string.Empty;
public DateTime CreatedAtUtc { get; set; }
}
public class TransactionHistoryResult
{
public int Total { get; set; }
public int Page { get; set; }
public List<TransactionHistoryItemDto> Items { get; set; } = new();
}
}