From 25877c6ef39c666cf158acf171f3cf46b363c810 Mon Sep 17 00:00:00 2001 From: jwinterm Date: Wed, 24 Dec 2025 20:10:42 -0500 Subject: [PATCH] fix qr generation --- src/network/paymentHandlers.js | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/network/paymentHandlers.js b/src/network/paymentHandlers.js index 1916f19..d5eb8d5 100644 --- a/src/network/paymentHandlers.js +++ b/src/network/paymentHandlers.js @@ -49,16 +49,36 @@ class PaymentHandlers { try { const { type, packageId } = data; const paymentType = type || data.gameMode || 'single_game'; - const options = { packageId }; + const options = { packageId, reuseExisting: true }; const paymentRequest = await this.gameModeManager.createPaymentRequest(socket.id, paymentType, options); + + // Generate QR code + let qrDataUrl = null; + try { + const { generatePaymentQR } = require('../payments/qrService'); + qrDataUrl = await generatePaymentQR( + paymentRequest.address, + paymentRequest.amount, + this.gameModeManager.cryptoType, + paymentType === 'credits_package' ? 'Credits package' : 'Single game', + this.gameModeManager.currencyDecimals + ); + } catch (qrErr) { + console.warn('QR generation failed:', qrErr.message); + } + this.io.to(socket.id).emit('payment_created', { paymentId: paymentRequest.id, address: paymentRequest.address, amount: paymentRequest.amount, amountFormatted: paymentRequest.amountFormatted, + humanAmount: paymentRequest.amountFormatted, currency: this.gameModeManager.cryptoType, + cryptoType: this.gameModeManager.cryptoType, package: paymentRequest.package, - paymentType: paymentType + paymentType: paymentType, + qr: qrDataUrl, + reused: !!paymentRequest.reused }); if (this.debugManager.CONSOLE_LOGGING) console.log(`💳 Payment request created for ${socket.id}: ${paymentRequest.amount}`); } catch (e) {