@sahabaplus/moyasar
Version:
A comprehensive TypeScript SDK for integrating with the Moyasar payment gateway
52 lines • 1.85 kB
TypeScript
import type { ApiClient } from "../../shared/types/index";
import type { CreateInvoiceRequest, UpdateInvoiceRequest, BulkCreateInvoiceRequest, ListInvoicesResponse, BulkCreateInvoicesResponse, InvoiceListOptions, DetailedInvoice } from "./types";
import { InvoiceStatus } from "./enums";
export declare class InvoiceService {
private apiClient;
constructor(p: {
apiClient: ApiClient;
});
/**
* Create a new invoice
*/
create(params: CreateInvoiceRequest): Promise<DetailedInvoice>;
/**
* Create multiple invoices in bulk
*/
createBulk(params: BulkCreateInvoiceRequest): Promise<BulkCreateInvoicesResponse>;
/**
* List invoices with optional filtering
*/
list(options?: InvoiceListOptions): Promise<ListInvoicesResponse>;
/**
* Retrieve a specific invoice
*/
retrieve(invoiceId: string): Promise<DetailedInvoice>;
/**
* Update an invoice
*/
update(invoiceId: string, params: UpdateInvoiceRequest): Promise<DetailedInvoice>;
/**
* Cancel an invoice
*/
cancel(invoiceId: string): Promise<DetailedInvoice>;
/**
* Search invoices by metadata
*/
searchByMetadata(metadata: Record<string, string>, options?: Omit<InvoiceListOptions, "metadata">): Promise<ListInvoicesResponse>;
/**
* Get invoices by status
*/
getByStatus(status: InvoiceStatus, options?: Omit<InvoiceListOptions, "status">): Promise<ListInvoicesResponse>;
/**
* Get expired invoices
*/
getExpired(options?: Omit<InvoiceListOptions, "status">): Promise<ListInvoicesResponse>;
/**
* Get paid invoices
*/
getPaid(options?: Omit<InvoiceListOptions, "status">): Promise<ListInvoicesResponse>;
private handleError;
protected parseBody(p: object): {};
}
//# sourceMappingURL=service.d.ts.map