michangarrito/apps/backend/dist/modules/billing/stripe.service.d.ts
rckrdmrd 48dea7a5d0 feat: Initial commit - michangarrito
Marketplace móvil para negocios locales mexicanos.

Estructura inicial:
- apps/backend (NestJS API)
- apps/frontend (React Web)
- apps/mobile (Expo/React Native)
- apps/mcp-server (Claude MCP Server)
- apps/whatsapp-service (WhatsApp Business API)
- database/ (PostgreSQL DDL)
- docs/ (Documentación)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:41:02 -06:00

57 lines
2.0 KiB
TypeScript

import { ConfigService } from '@nestjs/config';
import Stripe from 'stripe';
export declare class StripeService {
private configService;
private readonly logger;
private stripe;
constructor(configService: ConfigService);
private ensureStripe;
createCustomer(params: {
email?: string;
phone: string;
name: string;
tenantId: string;
}): Promise<Stripe.Customer>;
getCustomer(customerId: string): Promise<Stripe.Customer | null>;
createSubscription(params: {
customerId: string;
priceId: string;
trialDays?: number;
}): Promise<Stripe.Subscription>;
cancelSubscription(subscriptionId: string): Promise<Stripe.Subscription>;
getSubscription(subscriptionId: string): Promise<Stripe.Subscription | null>;
updateSubscription(subscriptionId: string, params: Stripe.SubscriptionUpdateParams): Promise<Stripe.Subscription>;
createPaymentIntent(params: {
amount: number;
customerId: string;
metadata?: Record<string, string>;
}): Promise<Stripe.PaymentIntent>;
createCheckoutSession(params: {
customerId: string;
priceId: string;
mode: 'subscription' | 'payment';
successUrl: string;
cancelUrl: string;
metadata?: Record<string, string>;
}): Promise<Stripe.Checkout.Session>;
createPortalSession(params: {
customerId: string;
returnUrl: string;
}): Promise<Stripe.BillingPortal.Session>;
constructWebhookEvent(payload: string | Buffer, signature: string, webhookSecret: string): Stripe.Event;
createProduct(params: {
name: string;
description?: string;
metadata?: Record<string, string>;
}): Promise<Stripe.Product>;
createPrice(params: {
productId: string;
unitAmount: number;
recurring?: {
interval: 'month' | 'year';
};
metadata?: Record<string, string>;
}): Promise<Stripe.Price>;
listInvoices(customerId: string, limit?: number): Promise<Stripe.Invoice[]>;
}