UNPKG

tonb-merchant-api-client

Version:

Merchant API client is a library to interact with TONB Merchant API.

28 lines (27 loc) 1.28 kB
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'>>; }