node-ecpay-aio
Version:
A production-ready ECPay AIO SDK for Node.js with TypeScript support.
26 lines (25 loc) • 1.81 kB
TypeScript
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 {};