// Versão DEMO do Mercado Pago para desenvolvimento // Simula a geração de PIX sem credenciais reais class MercadoPagoServiceDemo { constructor() { console.log('🎭 Modo DEMO: Simulando Mercado Pago para desenvolvimento'); } async gerarPix(dados) { try { console.log('🏦 [DEMO] Gerando PIX com dados:', dados); // Simular delay da API await new Promise(resolve => setTimeout(resolve, 1000)); // Gerar dados fictícios mas realistas const payment_id = `demo_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; const qr_code = this.gerarQRCodeDemo(); const qr_code_base64 = this.gerarQRCodeBase64Demo(); console.log('✅ [DEMO] PIX gerado com sucesso!'); return { success: true, payment_id: payment_id, qr_code: qr_code, qr_code_base64: qr_code_base64, pix_copy_paste: qr_code, expiration_date: new Date(Date.now() + 30 * 60 * 1000).toISOString(), transaction_amount: parseFloat(dados.valor), status: 'pending' }; } catch (error) { console.error('❌ [DEMO] Erro ao gerar PIX:', error); return { success: false, error: error.message }; } } async consultarPagamento(payment_id) { try { console.log('🔍 [DEMO] Consultando pagamento:', payment_id); // Simular delay da API await new Promise(resolve => setTimeout(resolve, 500)); // Para demo, sempre retorna pendente return { success: true, status: 'pending', status_detail: 'pending_waiting_payment', transaction_amount: 10.00, date_approved: null, external_reference: payment_id.replace('demo_', '') }; } catch (error) { console.error('❌ [DEMO] Erro ao consultar pagamento:', error); return { success: false, error: error.message }; } } gerarQRCodeDemo() { // QR Code PIX fictício mas com formato real const timestamp = Date.now().toString(); const random = Math.random().toString(36).substr(2, 10); return `00020126580014br.gov.bcb.pix0136${random}5204000053039865802BR5925LIBERI KIDS DEMO STORE6009SAO PAULO62070503***6304${timestamp.substr(-4)}`; } gerarQRCodeBase64Demo() { // QR Code base64 fictício (imagem 1x1 pixel transparente) return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="; } } module.exports = new MercadoPagoServiceDemo();