UNPKG

skailan-core

Version:

Servicio de autenticación y multitenancy para Skailan.

65 lines 1.83 kB
import { PrismaClient } from "@prisma/client"; import { EPaycoPaymentResponse } from "../config/epayco.config.js"; export interface PaymentRequest { organizationId: string; planId: string; userId: string; metadata?: any; } export interface PaymentResponse { checkoutUrl: string; reference: string; amount: number; planName: string; expiresAt: Date; } export interface PaymentConfirmationRequest { body: EPaycoPaymentResponse; expectedAmount: number; } export declare class PaymentService { private static instance; private prisma; private configService; private signatureService; private trialService; private constructor(); static getInstance(prisma: PrismaClient): PaymentService; /** * Inicia un proceso de pago */ startPayment(request: PaymentRequest): Promise<PaymentResponse>; /** * Confirma un pago recibido de ePayco */ confirmPayment(request: PaymentConfirmationRequest): Promise<any>; /** * Lista los pagos de una organización */ listPayments(organizationId: string, limit?: number, offset?: number): Promise<any[]>; /** * Obtiene estadísticas de pagos */ getPaymentStats(organizationId: string): Promise<any>; /** * Reembolsa un pago */ refundPayment(paymentId: string, reason: string): Promise<void>; /** * Valida la solicitud de pago */ private validatePaymentRequest; /** * Genera una referencia única para el pago */ private generatePaymentReference; /** * Genera la URL de checkout de ePayco */ private generateCheckoutUrl; /** * Crea o actualiza la suscripción después de un pago exitoso */ private createOrUpdateSubscription; } //# sourceMappingURL=PaymentService.d.ts.map