using Domain.Entities.Payments.Danal.ValueObject; using Domain.Entities.Payments.ValueObject; namespace Application.Features.Admin.Payment.Danal.Confirm.Get; public sealed class Response { public required ConfirmData Confirm { get; init; } public CancelData? Cancel { get; init; } public sealed class ConfirmData { public int ID { get; init; } public int MemberID { get; init; } public required string MemberEmail { get; init; } public string? MemberName { get; init; } public PaymentMethod Method { get; init; } public required string TransactionID { get; init; } public required string OrderID { get; init; } public int Amount { get; init; } public required string MerchantID { get; init; } public PaymentStatus OrderStatus { get; init; } public DateTime? OrderPaidAt { get; init; } public DateTime? OrderCancelledAt { get; init; } public string? OrderName { get; init; } public string? ResponseCode { get; init; } public string? ResponseMessage { get; init; } public int? TotalAmount { get; init; } public int? DiscountAmount { get; init; } public string? UserName { get; init; } public string? TransDate { get; init; } public string? TransTime { get; init; } public string? CardCode { get; init; } public string? CardName { get; init; } public string? CardNo { get; init; } public byte? InstallmentMonths { get; init; } public string? ApproveNo { get; init; } public string? ApprovalDateTime { get; init; } public string? AuthKey { get; init; } public string? AccountNumber { get; init; } public string? BankCode { get; init; } public string? UserId { get; init; } public string? UserEmail { get; init; } public string? BankName { get; init; } public string? ExpireDate { get; init; } public string? ExpireTime { get; init; } public string? VirtualAccountNumber { get; init; } public string? UseCashReceipt { get; init; } public required DateTime CreatedAt { get; init; } public DateTime? UpdatedAt { get; init; } } public sealed class CancelData { public int ID { get; init; } public DanalCancelType CancelType { get; init; } public int Amount { get; init; } public string? ResponseCode { get; init; } public string? ResponseMessage { get; init; } public int? CancelledAmount { get; init; } public required DateTime CreatedAt { get; init; } } }