export interface CustomerInfo { // 必填字段 type: 'PERSONAL' | 'BUSINESS'; country: string; email: string; // 个人用户必填字段 company: BusinessInfo; individual: IndividualInfo; } export interface IndividualInfo { firstName: string; // 名(必填) lastName: string; // 姓(必填) countryCode: string; // 国家编码(必填) city: string; // 城市(必填) addressLine: string; // 地址栏(必填) postCode: string; // 邮政编码(必填) email: string; // 邮箱(必填) phoneNumber: string; // 手机号码(必填) certificateType: CertificateType; // 证件类型(必填) idNumber: string; // 证件号码(必填) birthDate: string; // 出生日期(必填) validTimeStart: string; // 有效期开始时间(必填) validTimeEnd: string; // 有效期结束时间(必填) } export interface BusinessInfo { name: string; // 公司名称(必填) type: BusinessType; // 公司类型(必填) countryCode: string; // 国家编码(必填) city: string; // 城市(必填) addressLine: string; // 地址栏(必填) postCode: string; // 邮政编码(必填) email: string; // 邮箱(必填) phoneNumber: string; // 手机号码(必填) registrationNumber: string; // 注册号码(必填) contact: string; // 联系方式(必填) registrationDate: string; // 注册日期(必填) } export enum BusinessType { OTHER = 'OTHER', // 其他 PUBLIC_LIMITED_COMPANY = 'PUBLIC_LIMITED_COMPANY', // 公共有限公司 PARTNERSHIP = 'PARTNERSHIP', // 合伙企业 CHARITY = 'CHARITY', // 慈善机构 PRIVATE_LIMITED_COMPANY = 'PRIVATE_LIMITED_COMPANY', // 私营有限公司 JOINT_STOCK_COMPANY = 'JOINT_STOCK_COMPANY', // 股份公司 LIMITED_LIABILITY = 'LIMITED_LIABILITY', // 有限责任公司 SOLE_TRADER = 'SOLE_TRADER', // 独资经营企业 } export enum CertificateType { IDCARD = 'IDCARD', // 身份证 DRIVINGLICENCE = 'DRIVINGLICENCE', // 驾驶证 PASSPORT = 'PASSPORT', // 护照 TAX_IDENTIFICATION_NUMBER = 'TaxIdentificationNumber', // 税务识别号 IDENTIFICATION_CODE_FOR_WORKERS = 'IdentificationCodeForWorkers', // 劳务识别码 PERSONAL_IDENTIFICATION_CODE = 'PersonalIdentificationCode', // 身份识别编号 FOREIGNERS_ID_CARD = 'ForeignersIDCard', // 外国人身份证 SPECIAL_PERMIT_OF_STAY = 'SpecialPermitOfStay', // 特殊的临时居留许可 } export interface CreateUserParams { userId: string; userType: 'PERSONAL' | 'BUSINESS'; userInfo: CustomerInfo; } export interface ChannelAdapter { // 创建渠道用户 createUser(params: CreateUserParams): Promise; // 创建钱包 createWallet(params: any): Promise; // 获取钱包 getWallet(params: any): Promise; // 获取关联银行账户 associateBankAccountRequiredFieldsAsync(params: any): Promise; // 关联银行账户 associateBankAccount(params: any): Promise; // 获取钱包余额 getWalletBalance(params: any): Promise; // 充值 deposit(walletId: string, amount: number, currency: string): Promise; // 提现 withdraw(walletId: string, amount: number, currency: string): Promise; // 转账 transfer( fromWalletId: string, toWalletId: string, amount: number, currency: string ): Promise; // 兑换 exchange( fromWalletId: string, fromCurrency: string, toWalletId: string, toCurrency: string, amount: number ): Promise; // 获取余额 getBalance(walletId: string): Promise; // 获取银行列表 getBanks(params: any): Promise; // 获取银行 getBank(params: any): Promise; // 设置客户信息 setCustomerInfo(params: any): Promise; // 创建收款人 createBeneficiary(params: any): Promise; // 更新收款人 updateBeneficiary(params: any): Promise; // 删除收款人 deleteBeneficiary(params: any): Promise; // 创建收款人地址 createBeneficiaryAddress(params: any): Promise; // 更新收款人地址 updateBeneficiaryAddress(params: any): Promise; // 删除收款人地址 deleteBeneficiaryAddress(params: any): Promise; // 法币入金 payIn(params: any): Promise; // 法币入金订单查询 payInOrder(params: any): Promise; // 法币入金订单取消 payInOrderCancel(params: any): Promise; // 法币出金 payOut(params: any): Promise; // 法币出金订单查询 payOutOrder(params: any): Promise; // 确认出金 confirmPayOut(orderNo: string): Promise; // 取消出金 cancelPayOut(orderNo: string): Promise; // 数字货币入金 payInByChain(params: any): Promise; // 数字货币出金 payOutByChain(params: any): Promise; // 生成签名 generateSignature( timestamp: string, nonce: string, body: string, secret: string ): string; }