using GB5Shared.DTO.Framework.Login;
using GoodBooks.PAY.PAYDAL.DTO.Cashback;
namespace GoodBooks.PAY.PAYBLL.Integration
{
///
/// Cross-module HTTP client for Finance module integration.
/// HTTP-only — never shares Finance assembly.
///
public interface IFinanceIntegrationService
{
///
/// Posts a cashback credit note to the Finance module.
/// Called by CashbackLedgerBLL for PayoutMode=1 (CreditNote).
///
Task PostCreditNoteAsync(CashbackLedgerDTO cashback, LoginDTO login, CancellationToken ct);
///
/// Notifies Finance of a settled payment order for voucher posting.
/// Called by PayWebhookBLL via outbox — non-fatal if Finance is unavailable.
///
Task NotifyPaymentSettledAsync(int payOrderId, decimal amount, LoginDTO login, CancellationToken ct);
}
}