import Client from '../../base'; import type { Payment, Refund, Payout, EventTicker, PaymentCountByStateReport, TransactionSummaryReport, TransactionsByHourReport, PerformanceReport, GatewayPerformanceReport, RetrieveTransactionForAccountRequest, RetrieveTransactionWithAccountOverrideRequest, ListTransactionForAccountRequest, ListTransactionRequestWithAccountOverrideRequest, ListPaymentRefundsRequest, ListTransactionEventsRequest, ListEventTickerRequest, PaymentsByStateWithAccountOverrideRequest, PaymentsByStateForAccountRequest, TransactionSummaryWithAccountOverrideRequest, TransactionSummaryForAccountRequest, PerformanceReportRequest, GatewayPerformanceReportRequest, ListPayoutForAccountRequest, ListPayoutWithAccountOverrideRequest, TransactionsByHourRequest, ListPaymentRefundsResponse, ListTransactionEventsResponse } from './types'; import { SearchResponse } from '../../shared'; export default class Ledger extends Client { constructor(baseUrl: string); payments: { /** * @param id - GOV.UK Pay transaction external ID * @param params - optionally specify gateway account ID or override requirement */ retrieve(id: string, params: RetrieveTransactionForAccountRequest | RetrieveTransactionWithAccountOverrideRequest): Promise; list(filters: ListTransactionForAccountRequest | ListTransactionRequestWithAccountOverrideRequest): Promise | undefined>; /** * @param id - GOV.UK Pay transaction external ID * @param params - specify gateway account ID */ listRefunds(id: string, params: ListPaymentRefundsRequest): Promise; }; refunds: { /** * @param id - GOV.UK Pay transaction external ID * @param params - optionally specify gateway account ID or override requirement */ retrieve(id: string, params: RetrieveTransactionForAccountRequest | RetrieveTransactionWithAccountOverrideRequest): Promise; list(filters: ListTransactionForAccountRequest | ListTransactionRequestWithAccountOverrideRequest): Promise | undefined>; }; transactions: { /** * @param id - GOV.UK Pay transaction external ID * @param params - optionally specify gateway account ID or override requirement * @returns - List of events for this transaction and transaction with this * transaction set as their parent transaction */ listEvents(id: string, params: ListTransactionEventsRequest): Promise; }; events: { /** * List ticker entries for events on any live transaction * @param params */ listTicker(params: ListEventTickerRequest): Promise; }; reports: { retrievePaymentSummaryByState(params: PaymentsByStateWithAccountOverrideRequest | PaymentsByStateForAccountRequest): Promise; retrieveTransactionSummary(params: TransactionSummaryWithAccountOverrideRequest | TransactionSummaryForAccountRequest): Promise; /** * Fetch transaction statistics grouped by hour between two dates. Notes this * will only return transactions flagged as live. * @param params - TransactionsByHourRequest * @returns Live transaction statistics grouped by hour */ listTransactionSummaryByHour(params: TransactionsByHourRequest): Promise; retrievePerformanceSummary(params: PerformanceReportRequest): Promise; retrievePerformanceSummaryByGateway(params: GatewayPerformanceReportRequest): Promise; }; payouts: { list(params: ListPayoutForAccountRequest | ListPayoutWithAccountOverrideRequest): Promise | undefined>; }; }