import { PaymentType } from './../enums/payment-type'; import { PaymentServiceProvider } from './../enums/payment-service-provider'; export interface MultiplePaymentConfig { name: string; paymentConfigs: PaymentConfig[]; } export declare type PaymentConfig = BasePaymentConfig | EasyCardConfig | TSBankCreditCardConfig | OnePayConfig | ESunMPayConfig | CustomPaymentConfig | CashPaymentConfig | NcccV3pPaymentConfig | NcccD200PaymentConfig | NcccVX520PaymentConfig | MyPayPayPagePaymentConfig | SgSmoochpayOnlineConfig | DdpayOnlineConfig | DdpayConfig | LinepayOnlineConfig | NewebpayOnlineConfig | NewebpayConfig; export interface BasePaymentConfig { provider: PaymentServiceProvider; type: PaymentType; disableInventory?: boolean; name?: string; logo?: string[]; } export interface EasyCardConfig extends BasePaymentConfig { provider: PaymentServiceProvider.easyCard; type: PaymentType.easyCard; tMLocationId: string; posId: string; } export interface TSBankCreditCardConfig extends BasePaymentConfig { provider: PaymentServiceProvider.TSBank; type: PaymentType.creditCard; terminalId: string; merchantId: string; storeId: string; } export interface OnePayConfig extends BasePaymentConfig { provider: PaymentServiceProvider.onePay; merchantId: string; storeId: string; tokenKey1: string; tokenKey2: string; } export interface ESunMPayConfig extends BasePaymentConfig { provider: PaymentServiceProvider.eSunMPay; termId: string; storeId: string; orderTitle: string; apiHashKey: string; } export interface CustomPaymentConfig extends BasePaymentConfig { provider: PaymentServiceProvider.none; type: PaymentType.custom; name: string; } export interface CashPaymentConfig extends BasePaymentConfig { provider: PaymentServiceProvider.none; type: PaymentType.cash; } export interface NcccV3pPaymentConfig extends BasePaymentConfig { provider: PaymentServiceProvider.ncccV3P; type: PaymentType.chinaUnionPay | PaymentType.creditCard | PaymentType.easyCard | PaymentType.iPass | PaymentType.iCash | PaymentType.happyCash; } export interface NcccD200PaymentConfig extends BasePaymentConfig { provider: PaymentServiceProvider.ncccD200; type: PaymentType.chinaUnionPay | PaymentType.creditCard; password: string; } export interface NcccVX520PaymentConfig extends BasePaymentConfig { provider: PaymentServiceProvider.ncccVX520; type: PaymentType.chinaUnionPay | PaymentType.creditCard | PaymentType.easyCard | PaymentType.iPass | PaymentType.iCash | PaymentType.happyCash; ip: string; } export interface MyPayPayPagePaymentConfig extends BasePaymentConfig { provider: PaymentServiceProvider.MyPayPayPage; type: PaymentType.unknown; storeUid: string; storeKey: string; } export interface SgSmoochpayOnlineConfig extends BasePaymentConfig { provider: PaymentServiceProvider.SgSmoochpayOnline; type: PaymentType.unknown; publicKey: string; secretKey: string; } export interface DdpayOnlineConfig extends BasePaymentConfig { provider: PaymentServiceProvider.ddpayOnline; type: PaymentType.unknown; clientId: string; clientSecret: string; shopId: string; } export interface DdpayConfig extends BasePaymentConfig { provider: PaymentServiceProvider.ddpay; type: PaymentType.unknown | PaymentType.kioskSelfCheckout; clientId: string; clientSecret: string; shopId: string; terminalId: string; } export interface LinepayOnlineConfig extends BasePaymentConfig { provider: PaymentServiceProvider.linepayOnline; type: PaymentType.linePayOn; channelId: string; channelSecret: string; } export interface NewebpayOnlineConfig extends BasePaymentConfig { provider: PaymentServiceProvider.newebpayOnline; type: PaymentType.creditCardOn | PaymentType.linePayOn | PaymentType.eSunWallet | PaymentType.taiwanPay | PaymentType.twqrOn | PaymentType.aliOn | PaymentType.weixinOn | PaymentType.unknown; merchantId: string; hashKey: string; hashIV: string; } export interface NewebpayConfig extends BasePaymentConfig { provider: PaymentServiceProvider.newebpay; type: PaymentType.creditCard; adminPassword: string; }