import { Contact } from './contact'; import { User } from './user'; import { Address } from './address'; import { Currency, IPagination, IQueryParams } from './common'; import { IBaseInfoColumn } from './baseInfo'; import { EPaymentBrand } from './enum'; export declare enum EAuditConfigType { ExchangeRate = "exchangeRate", RiskControl = "riskControl", Store = "store", TransRefund = "transRefund", Operation = "operation" } export interface IAcquirerQueryParams extends IQueryParams { startTime?: string; endTime?: string; insCode?: string; insName?: string; } export declare class Acquirer { institution: Institution; qrChannels: QrChannel[]; cardChannels: ICardChannel[]; users: User[]; constructor(); } export declare class Institution { common: Common; qr: AcquirerQr; card: AcquirerCard; version: number; createdAt: string; updatedAt: string; constructor(); } export declare class QrChannel { id: string; chanCode: EPaymentBrand; paymentBrand: EPaymentBrand; chanMerID?: string; chanMerName?: string; currencies?: Currency[]; fee?: number; version?: number; dynamicQrPrefix?: string; staticQrPrefix?: string; isSupportSettleCrr?: boolean; publicKey?: string; privateKey?: string; isLoaded?: boolean; } export interface WXChannel extends QrChannel { signKey: string; publicKey: string; privateKey: string; privateKeyArray: string[]; appID: string; isSupportPreAuth?: boolean; } export interface ALPChannel extends QrChannel { signKey: string; publicKey: string; privateKeyArray: string[]; privateKey: string; appID: string; settleCurrency: string; /** settlement 0, transaction 1 */ settType: number; sftp: SFTP; isSupportPreAuth: boolean; } export interface UPIChannel extends QrChannel { chanMerIDSecondary: string; settleCurrency: string; chanInsCode: string; signKey: string; encryptKey: string; signKeyID: string; encryptKeyID: string; } export declare class CardChannel extends QrChannel { /** * 接入模式: Offline System */ accessMode: EAccessMode; /** * the Institution Code in the Offline System */ offlineInsCode: string; /** * the Channel Institution Code in the Offline System */ offlineChannelInsCode: string; /** * 线路地址IP */ lineIP: string; /** * 线路端口port */ port: number; } export interface ICardChannel extends QrChannel { /** * 接入模式: Offline System */ accessMode?: EAccessMode; /** * the Institution Code in the Offline System */ offlineInsCode?: string; /** * the Channel Institution Code in the Offline System */ offlineChannelInsCode?: string; /** * 线路地址IP */ lineIP?: string; /** * 线路端口port */ port?: number; } export interface ICardChannelVisa extends ICardChannel { bin: string; } export interface ICardChannelMasterCard extends ICardChannel { bin: string; ica: string; } export interface ICardChannelAmex extends ICardChannel { mcc?: string; chanAddrEn?: string; chanNameEN?: string; first3DigitsOfSENumber?: string; ain?: string; } export interface ICardChannelAmericanExpress extends ICardChannel { /** * ACquirer Identifier Number, assigned by AME */ ain: number; /** * First 3 digits of S/E Number */ first3DigitsOfSENumber: number; } export declare class AcquirerQr { isRefundAsync: boolean; isSupportTips: boolean; isCollectQRCodeAmountFixed: boolean; tradeTypes: string[]; autoAlpApply: boolean; autoWxpApply: boolean; constructor(); } export declare class AcquirerCard { isRefundAsync: boolean; tradeTypes: string[]; } export declare class Common { insCode: string; insNameEN: string; insName: string; contact: Contact; address: Address; businessArea: string; currencies: Currency[]; settleInfo: Settle; auditConfigs: AuditConfig[]; feature: MerchantFeature; tradeInfo: TradeInfo; status: string; constructor(); } export declare class Settle { reportList: string[]; } export declare class Step { stepID: number; stepName: string; } export declare class AuditConfig { type: EAuditConfigType; stepNumber: number; steps?: Step[]; } export declare class MerchantFeature { multiTransCurrConfig: boolean; isSupportRisk: boolean; isSupportPostRisk: boolean; isSupportDualMessage: boolean; } export declare class TradeInfo { exchangeRates: ExchangeRate[]; access: Access[]; constructor(); } export declare enum AccessMode { Merchant = "merchant", Acquirer = "acquirer", Node = "node" } export declare class Access { mode: AccessMode; key?: string; } export declare class ExchangeRate { srcCurrency: string; dstCurrency: string; buyRate: number; selRate?: number; markup: number; rateSponsor: string; isFixed?: boolean; isBest?: boolean; createdAt?: string; updatedAt?: string; effectedAt?: string; } export interface IExchangeRateInput { rateSponsor?: string; selRate: number | string; isFixed?: boolean; isBest?: boolean; } export interface SFTP { username: string; password: string; filePath: string; } export declare class QRConfig { autoAlpApply: boolean; autoWxpApply: boolean; isCollectQRCodeAmountFixed: boolean; isRefundAsync: boolean; isSupportTips: boolean; tradeTypes: string[]; } export declare class CardConfig { isRefundAsync: boolean; tradeTypes: string[]; } export interface IAcquirerPagination extends IPagination { data: Acquirer[]; } export interface IInstitutionPagination extends IPagination { data: Institution[]; } export interface ICommonPagination extends IPagination { data: Common[]; } export interface IUpdateAcquirerBaseInfo { version: number; common: { insName?: string; insNameEN?: string; contact?: Contact; address?: Address; businessArea?: string; currencies?: Currency[]; }; } export interface IUpdateAcquirerTradeInfo { version: number; trade: TradeInfo; } export interface IUpdateAcquirerFeature { version: number; feature: MerchantFeature; } export interface IUpdateAcquirerQRFeature { version: number; feature: AcquirerQr; } export interface IUpdateAcquirerCardFeature { version: number; feature: AcquirerCard; } export interface IUpdateAcquirerAudit { version: number; auditConfigs: AuditConfig[]; } export interface IUpdateAcquirerSettlement { version: number; settlement: Settle; } export interface IChannelInfo { imgUrl: string; channelName?: string; /** 渠道名称 */ channelColumns: Array; } export declare enum EAccessMode { CIL = "OFI", AME = "AME", HKG = "HKG" } export declare const AccessModeMap: { OFI: string; AME: string; HKG: string; };