namespace CMSMicroservice.Application.TransactionsCQ.Commands.RefundTransaction;

/// <summary>
/// Command برای استرداد تراکنش
/// </summary>
public record RefundTransactionCommand : IRequest<RefundTransactionResponseDto>
{
    /// <summary>
    /// شناسه تراکنش برای استرداد
    /// </summary>
    public long TransactionId { get; init; }
    
    /// <summary>
    /// دلیل استرداد
    /// </summary>
    public string RefundReason { get; init; }
    
    /// <summary>
    /// مبلغ استرداد (اگر null باشد، کل مبلغ استرداد می‌شود)
    /// </summary>
    public long? RefundAmount { get; init; }
}
