import { Contact } from './contact'; import { User } from './user'; import { Address } from './address'; import { RiskControlScheme } from './risk-control'; import { EPaymentBrand, EStoreStatus } from './enum'; import { Currency, IQueryParams, IPagination, UpdateReq } from './common'; import { EChannelsSwitcherCategory } from './channels-switcher.interface'; export interface IStoreQueryParams extends IQueryParams { startTime?: string; endTime?: string; storeNum?: string; storeName?: string; /** 用于导出报表 */ intStoreCode?: string; } export interface IStoreDetailQueryParams { intStoreCode: string; } export declare class StoreRiskControl { schemeCode: string; } export declare class StoreCommon { insCode: string; insName: string; insNameEN: string; agentCode: string; agentName: string; agentNameEN: string; intMerCode: string; merNum: string; merName: string; merNameEN: string; intStoreCode: string; storeNum: string; storeName: string; storeNameEN: string; multiTransCurrConfig: string[]; remark?: string; permission: string[]; paymentBrands: EPaymentBrand[]; contact: Contact; address: Address; mcc: string; mccEnName?: string; status: EStoreStatus; detail: StoreDetail; options: IStoreOptions; alpRefundAsync: boolean; isCollectQRCodeAmountFixed: boolean; drivers?: IDriver[]; isSupportTips: boolean; tipsRatios: number[]; createdAt: string; updatedAt: string; currencies: Currency[]; settlement: Settlement; riskControl: RiskControlScheme; constructor(); } export declare class StoreDetail { storeName: string; storeNameLocal: string; nation: string; province: string; city: string; addr: string; commodityName: string; mcc: string; contact: string; email: string; constructor(); } export interface IStoreOptions { merchant_name?: string; merchant_no?: string; store_no?: string; business_no?: string; terminal_id?: string; mcc?: string; region_code?: string; } export interface IDriver { driverName: string; driverContact: string; driverAccount: string; } export declare class Settlement { bank: string; bankCodeSWIFT: string; bankAccount: string; bankAccountName: string; isSupportDualMessage: boolean; settleType: ESettleType; settleCycleDays: number; } export declare enum ESettleType { T1 = "1", Delay = "3", AddUp = "4" } export declare const SettleTypeMap: { 1: string; 3: string; 4: string; }; export interface ISettlementQueryParams { bank: string; } export interface IStorePagination extends IPagination { data: Store[]; } export interface IRouteOfStore { id?: string; chanCode: EPaymentBrand; paymentBrand: EPaymentBrand; chanMerName?: string; mcc?: string; fee?: number; currency?: string; chanMerObjId?: string; sponsorMerCode?: string; } export interface IQRRouteOfStore extends IRouteOfStore { category?: EChannelsSwitcherCategory.QR; isCreateSubMer?: boolean; chanMerParams?: IStoreChanMer; } export interface ICardRouteOfStore extends IRouteOfStore { category?: EChannelsSwitcherCategory.Card; offlineChannelInsCode?: string; offlineInsCode?: string; chanMerParams?: IStoreCardChanMer; ain?: string; first3DigitsOfSENumber?: string; chanNameEN?: string; chanAddrEN?: string; accessMode?: string; mna?: string; sponsorMerCode?: string; mccNameEN?: string; } export interface IStoreCardChanMer { offlineInsCode?: string; id?: string; bin?: string; ica?: string; ain?: string; first3DigitsOfSENumber?: string; } export interface IStoreCardChanMerMCC extends IStoreCardChanMer { ica: string; first3DigitsOfSENumber?: string; } export interface IStoreCardChanMerAME extends IStoreCardChanMer { ain: string; } export interface IStoreChanMer { paymentBrand?: EPaymentBrand; } export interface IStoreChanMerAlipay extends IStoreChanMer { PID: string; secondaryMerchantID: string; secondaryMerchantName: string; storeID: string; storeName: string; } export interface IStoreChanMerWeChat extends IStoreChanMer { merchantID: string; subMerchantID: string; } export interface IStoreChanMerUPI extends IStoreChanMer { acquiringIIN: string; forwardingIIN: string; } export interface IStoreChannelInAPP { appID: string; signKey?: string; } export interface IStoreChannelMiniProgram { appID: string; signKey?: string; } export declare class StoreQRFeature { isRefundAsync: boolean; isSupportTips: boolean; } export declare class StoreCardFeature { isRefundAsync: boolean; tradeTypes: string[]; } export declare class Store { common: StoreCommon; qr: StoreQRFeature; card: StoreCardFeature; version: number; createdAt: string; updatedAt: string; constructor(); } /** * find 返回 */ export declare class StoreFull { store: Store; qrChannels: IQRRouteOfStore[]; cardChannels: ICardRouteOfStore[]; riskScheme: RiskControlScheme; postRiskScheme: RiskControlScheme; } export declare class StoreCommonReq { insCode: string; insName: string; insNameEN: string; agentCode: string; agentName: string; agentNameEN: string; intMerCode: string; merNum: string; merName: string; merNameEN: string; zipCode: string; storeNum: string; storeName: string; storeNameEN: string; mcc: string; settlement: Settlement; contact: Contact; address: Address; currencies: Currency[]; riskControl: StoreRiskControl; constructor(); } export declare class StoreReq { common: StoreCommonReq; qr: StoreQRFeature; card: StoreCardFeature; constructor(); } /** * 新增 */ export declare class StoreCreate { store: StoreReq; qrChannels: IQRRouteOfStore[]; cardChannels: ICardRouteOfStore[]; users: User[]; riskSchemeCode: string; postRiskSchemeCode: string; select: { schemeCode: string; schemeName: string; schemeDesc: string; }; constructor(); } export declare class StoreCommonUpdate { storeName: string; storeNameEN: string; mcc: string; currencies: Currency[]; contact: Contact; address: Address; status: EStoreStatus; constructor(); } export declare class StoreUpdate extends UpdateReq { common: StoreCommonUpdate; constructor(version: number); } export declare class StoreSettlementUpdate extends UpdateReq { settlement: Settlement; constructor(version: number); } export declare class StoreRiskControlUpdate extends UpdateReq { riskSchemeCode: string; postRiskSchemeCode: string; constructor(version: number); } export declare class StoreCardFeatureUpdate extends UpdateReq { feature: StoreCardFeature; constructor(); } export declare class StoreQRFeatureUpdate extends UpdateReq { feature: StoreQRFeature; constructor(version: number); } export interface IStoreReportPagination { url: string; } export declare const enum EOtherDetailTab { Terminal = "terminal", QrChannel = "qrChannel", CardChannel = "cardChannel", System = "system", Settlement = "settlement", QrFunction = "qrFunction", CardFunction = "cardFunction", RiskControl = "riskControl", Users = "users", Rules = "rules", Range = "range" } export declare class MetaData { chanNameEN?: string; chanAddrEN?: string; }