/** * ezPay Invoice Client */ import { EzpayApiResponse, Environment, InvoiceIssueParams, InvoiceIssueResult, InvoiceInvalidResult, AllowanceIssueParams, AllowanceIssueResult, AllowanceInvalidResult, InvoiceQueryParams, InvoiceQueryResult } from "./types"; /** * 客戶端配置選項 */ export interface EzpayInvoiceClientConfig { /** ezPay 電子發票加值服務平台商店代號 */ merchantId: string; /** ezPay 提供的 Hash Key */ hashKey: string; /** ezPay 提供的 Hash IV */ hashIV: string; /** 環境設定:sandbox (測試) 或 production (正式) */ env: Environment; /** API 請求超時時間(毫秒),預設 30000 */ timeout?: number; } /** * ezPay 電子發票客戶端 */ export declare class EzpayInvoiceClient { private readonly apiEndpoint; private readonly merchantId; private readonly hashKey; private readonly hashIV; private readonly timeout; /** * 建立 ezPay 電子發票客戶端實例 * @param config - 客戶端配置選項 */ constructor(config: EzpayInvoiceClientConfig); /** * 加密 POST 參數 * @param params - 要加密的參數物件 * @returns 加密後的十六進位字串 */ private buildPostParams; /** * 呼叫 ezPay API * @param action - API 動作名稱 * @param params - API 參數 * @returns API 回應結果 */ private queryApi; /** * 開立發票 * @param params - 開立發票參數 * @returns 開立發票結果 */ issueInvoice(params: InvoiceIssueParams): Promise>; /** * 作廢發票 * @param invoiceNumber - 發票號碼 * @param invalidReason - 作廢原因(選填) * @returns 作廢發票結果 */ invalidInvoice(invoiceNumber: string, invalidReason?: string): Promise>; /** * 開立折讓 * @param params - 開立折讓參數 * @returns 開立折讓結果 */ issueAllowance(params: AllowanceIssueParams): Promise>; /** * 作廢折讓 * @param allowanceNo - 折讓單號碼 * @param invalidReason - 作廢原因(選填) * @returns 作廢折讓結果 */ invalidAllowance(allowanceNo: string, invalidReason?: string): Promise>; /** * 查詢發票 * @param params - 查詢發票參數 * @returns 查詢發票結果 */ queryInvoice(params: InvoiceQueryParams): Promise>; /** * 產生查詢發票的 POST 資料(用於手動查詢) * @param params - 查詢發票參數 * @returns 加密後的 POST 資料 */ getQueryInvoicePostData(params: InvoiceQueryParams): string; } //# sourceMappingURL=client.d.ts.map