tonb-merchant-api-client
Version:
Merchant API client is a library to interact with TONB Merchant API.
28 lines (27 loc) • 1.28 kB
TypeScript
import { CreateInvoiceData, DataContainer, Invoice, InvoiceID, InvoiceStats, InvoiceUpdate } from '../models/invoice';
/** Provider is an interface
* representing objects that interact with backend services (e.g., via http)
* that manage invoices.
**/
export interface Provider {
createInvoice(data: CreateInvoiceData): Promise<DataContainer<Invoice>>;
cancelInvoice(invoiceId: InvoiceID): Promise<DataContainer<Invoice>>;
getInvoiceInfo(invoiceId: InvoiceID): Promise<DataContainer<Invoice>>;
getInvoiceStats(): Promise<DataContainer<InvoiceStats>>;
isUpdateValid(data: InvoiceUpdate): boolean;
}
/** InvoiceManager is used to manipulate invoices. */
export declare class InvoiceManager {
private _provider;
constructor(provider: Provider);
/** Create new Invoice. */
create(data: CreateInvoiceData): Promise<DataContainer<Invoice>>;
/** Cancel existing Invoice. */
cancel(invoiceId: InvoiceID): Promise<DataContainer<Invoice>>;
/** Get information about Invoice. */
info(invoiceId: InvoiceID): Promise<DataContainer<Invoice>>;
/** Get Merchant statistics. */
stats(): Promise<DataContainer<InvoiceStats>>;
/** Process WebHook data. */
processUpdate(update: InvoiceUpdate): DataContainer<Omit<Invoice, 'id'>>;
}