UNPKG

quantictech-subscription-components

Version:

Biblioteca de componentes reutilizáveis para sistema de assinatura com Stripe - Arquitetura Service-to-Service

62 lines (61 loc) 2.89 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDefaultStripeClient = exports.getStripePublicKey = exports.createStripeServerClient = void 0; var stripe_1 = __importDefault(require("stripe")); console.log('🔄 Inicializando cliente Stripe...'); // Função para criar cliente Stripe no servidor var createStripeServerClient = function (secretKey) { var key = secretKey || process.env.STRIPE_SECRET_KEY; if (!key) { console.error("⚠️ STRIPE_SECRET_KEY não encontrada. Por favor, configure a variável de ambiente."); throw new Error("STRIPE_SECRET_KEY não encontrada. Por favor, configure a variável de ambiente."); } // Mostrar o formato da chave (primeiros 4 e últimos 4 caracteres) para debug var keyFormat = key.slice(0, 7) + '...' + key.slice(-4); console.log('🔑 Formato da chave Stripe:', keyFormat); console.log('🌐 Ambiente Stripe:', key.startsWith('sk_test') ? 'Teste' : 'Produção'); // Mostrar a versão da API usada var apiVersion = '2025-05-28.basil'; console.log('📊 Versão da API Stripe usada:', apiVersion); try { var stripe = new stripe_1.default(key, { apiVersion: apiVersion, appInfo: { name: 'QuanticTech Subscription Components', version: '1.0.0', }, }); console.log('✅ Cliente Stripe inicializado com sucesso'); // Fazer uma requisição simples para verificar se a configuração está correta stripe.customers.list({ limit: 1 }) .then(function () { return console.log('✅ Conexão com o Stripe validada com sucesso'); }) .catch(function (err) { return console.error('⚠️ Erro ao validar conexão com o Stripe:', err.message); }); return stripe; } catch (error) { console.error('⚠️ Erro ao inicializar cliente Stripe:', error); throw error; } }; exports.createStripeServerClient = createStripeServerClient; // Função para obter chave pública do Stripe var getStripePublicKey = function () { var publicKey = process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY; if (!publicKey) { throw new Error("NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY não encontrada. Por favor, configure a variável de ambiente."); } return publicKey; }; exports.getStripePublicKey = getStripePublicKey; // Cliente Stripe padrão para uso direto (apenas no servidor) var defaultStripeClient = null; var getDefaultStripeClient = function () { if (!defaultStripeClient) { defaultStripeClient = (0, exports.createStripeServerClient)(); } return defaultStripeClient; }; exports.getDefaultStripeClient = getDefaultStripeClient;