michangarrito/apps/backend/dist/modules/codi-spei/codi-spei.service.d.ts
rckrdmrd 97f407c661 [MIGRATION-V2] feat: Migrar michangarrito a estructura v2
- Prefijo v2: MCH
- TRACEABILITY-MASTER.yml creado
- Listo para integracion como submodulo

Workspace: v2.0.0 | SIMCO: v4.0.0
2026-01-10 11:28:54 -06:00

34 lines
1.7 KiB
TypeScript

import { Repository, DataSource } from 'typeorm';
import { VirtualAccount } from './entities/virtual-account.entity';
import { CodiTransaction } from './entities/codi-transaction.entity';
import { SpeiTransaction } from './entities/spei-transaction.entity';
import { GenerateQrDto } from './dto/generate-qr.dto';
export declare class CodiSpeiService {
private readonly virtualAccountRepo;
private readonly codiRepo;
private readonly speiRepo;
private readonly dataSource;
constructor(virtualAccountRepo: Repository<VirtualAccount>, codiRepo: Repository<CodiTransaction>, speiRepo: Repository<SpeiTransaction>, dataSource: DataSource);
getVirtualAccount(tenantId: string): Promise<VirtualAccount | null>;
createVirtualAccount(tenantId: string, beneficiaryName: string, provider?: string): Promise<VirtualAccount>;
generateQr(tenantId: string, dto: GenerateQrDto): Promise<CodiTransaction>;
getCodiStatus(id: string): Promise<CodiTransaction>;
confirmCodi(id: string, providerData: any): Promise<CodiTransaction>;
getCodiTransactions(tenantId: string, limit?: number): Promise<CodiTransaction[]>;
getSpeiTransactions(tenantId: string, limit?: number): Promise<SpeiTransaction[]>;
receiveSpei(tenantId: string, data: {
amount: number;
senderClabe?: string;
senderName?: string;
senderRfc?: string;
senderBank?: string;
reference?: string;
trackingKey?: string;
providerData?: any;
}): Promise<SpeiTransaction>;
reconcileSpei(id: string, saleId: string): Promise<SpeiTransaction>;
getSummary(tenantId: string, date?: Date): Promise<any>;
handleCodiWebhook(payload: any): Promise<void>;
handleSpeiWebhook(clabe: string, payload: any): Promise<void>;
}