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
JavaScript
;
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;