using LittleShop.DTOs;
using LittleShop.Enums;

namespace LittleShop.Services;

public interface ICryptoPaymentService
{
    Task<CryptoPaymentDto> CreatePaymentAsync(Guid orderId, CryptoCurrency currency);
    Task<IEnumerable<CryptoPaymentDto>> GetPaymentsByOrderAsync(Guid orderId);
    Task<bool> ProcessPaymentWebhookAsync(string invoiceId, PaymentStatus status, decimal amount, string? transactionHash = null);
    Task<PaymentStatusDto> GetPaymentStatusAsync(Guid paymentId);
}