UNPKG

node-ecpay-aio

Version:

A production-ready ECPay AIO SDK for Node.js with TypeScript support.

26 lines (25 loc) 1.81 kB
import { Payment } from './Payment'; import { Query } from './Query'; import { Action } from './Action'; import { ECPayAIOServiceUrls, MerchantMode, MerchantConfig, BasePaymentParams, PaymentParams, QueryParams, ActionParams } from '../types'; declare type PaymentConstructor<SpecificPaymentClass, SpecificPaymentParams> = { new (merchant: Merchant, baseParams: BasePaymentParams, params: SpecificPaymentParams): SpecificPaymentClass; }; declare type QueryConstructor<SpecificQueryClass, SpecificQueryParams> = { new (merchant: Merchant, params: SpecificQueryParams): SpecificQueryClass; }; declare type ActionConstructor<SpecificActionClass, SpecificActionParams> = { new (merchant: Merchant, params: SpecificActionParams): SpecificActionClass; }; export declare class Merchant { private readonly version; readonly mode: MerchantMode; readonly config: MerchantConfig; readonly ecpayServiceUrls: ECPayAIOServiceUrls; constructor(mode: MerchantMode, config: MerchantConfig, ecpayServiceUrls?: ECPayAIOServiceUrls); createPayment<SpecificPaymentClass extends Payment<PaymentParams>, SpecificPaymentParams>(PaymentCtor: PaymentConstructor<SpecificPaymentClass, SpecificPaymentParams>, baseParams: BasePaymentParams, params: SpecificPaymentParams): SpecificPaymentClass; createQuery<SpecificQueryClass extends Query<QueryParams>, SpecificQueryParams>(QueryCtor: QueryConstructor<SpecificQueryClass, SpecificQueryParams>, params: SpecificQueryParams): SpecificQueryClass; createAction<SpecificActionClass extends Action<ActionParams>, SpecificActionParams>(ActionCtor: ActionConstructor<SpecificActionClass, SpecificActionParams>, params: SpecificActionParams): SpecificActionClass; _mergeServiceUrls(customUrls: ECPayAIOServiceUrls): ECPayAIOServiceUrls; } export {};