/// import { ReadStream } from 'fs'; import { Bank, PaymentMethod, PaymentStatus } from '../types/payment'; export interface PaymentChannelRequest { method?: PaymentMethod | `${PaymentMethod}`; status?: PaymentStatus | `${PaymentStatus}`; channelId?: number; miniAppId?: string; redirectPath?: string; } export interface ZaloPayPaymentChannel extends PaymentChannelRequest { merchantAppId?: string; key1?: string; key2?: string; } export interface VNPayPaymentChannel extends PaymentChannelRequest { terminalId?: string; version?: string; secretKey?: string; } export interface MoMoPaymentChannel extends PaymentChannelRequest { partnerCode?: string; accessKey?: string; secretKey?: string; publicKey?: string; } export interface PayMePaymentChannel extends PaymentChannelRequest { merchantId?: string; xApiClient?: string; secretKey?: string; } export interface BankPaymentChannel extends PaymentChannelRequest { accountName?: string; notifyUrl?: string; content?: string; accountNumber?: string; bankName?: Bank; } export interface CODPaymentChannel extends PaymentChannelRequest { notifyUrl?: string; } export interface CustomPaymentChannel extends PaymentChannelRequest { customMethod?: string; displayName?: string; isSandbox?: boolean; thumbnail?: ReadStream; } export interface ListPaymentChannelRequest { miniAppId: string; } export interface PaymentChannel { } export interface PaymentChannelList { paymentChannels: PaymentChannel[]; } export interface CreateUpdatePaymentChannelResult { channelId: number; } export interface PaymentSetting { securityMethod: string; status: string; privateKey: string; callbackUrl: string; sandboxCallbackUrl: string; } export interface PaymentSettingRequest { miniAppId: string; } export interface UpdatePaymentSettingRequest extends PaymentSettingRequest { callbackUrl?: string; sandboxCallbackUrl?: string; } export interface PaymentChannel { }