fix(bot): remove redundant deposit amount step, add Visa/MC label, Mercuryo auth note, enforce product completeness
- Remove deposit amount-selection step; deposit_wallet_<TYPE> now routes directly to instruction - Add VISA / Mastercard text to Mercuryo card button (i18n en/es/de) - Add deposit_important5: Mercuryo 1-payment-without-auth + top-up-reserve warning - Admin validation: description + photo required on product create/update (products.js, catalogProducts.js) - Cleanup orphan uploaded files on validation failure (catalogProducts.js) - Bot guards: fallback to products.no_description / products.no_photo for incomplete products - Add vitest + 7 purchase edge-case tests (src/__tests__/userProductHandler.test.js) - Bump version to v1.2.1
This commit is contained in:
@@ -55,7 +55,9 @@
|
||||
"error_loading_product": "Fehler beim Laden der Produktdetails. Bitte versuche es erneut.",
|
||||
"not_found": "Standort nicht gefunden. Zurück zum vorherigen Menü.",
|
||||
"mono_product": "📦 Digitales Produkt",
|
||||
"infinite_stock": "∞ Immer verfügbar"
|
||||
"infinite_stock": "∞ Immer verfügbar",
|
||||
"no_description": "Keine Beschreibung",
|
||||
"no_photo": "Kein Foto verfügbar"
|
||||
},
|
||||
"purchase": {
|
||||
"summary": "🛒 Kaufübersicht:",
|
||||
@@ -156,13 +158,12 @@
|
||||
"wallet_not_found": "Wallet nicht gefunden. Bitte versuche es erneut.",
|
||||
"wallet_not_found_short": "Wallet nicht gefunden.",
|
||||
"deposit_select_gateway": "💳 *Einzahlung über Krypto*\n\nWähle das Wallet zum Aufladen:",
|
||||
"deposit_select_amount": "💳 *{{type}} aufladen*\n\nWähle den Betrag (USD) zum Aufladen:",
|
||||
"deposit_title": "💳 *{{type}} aufladen — €{{amount}}*",
|
||||
"deposit_title": "💳 *{{type}} aufladen*",
|
||||
"deposit_instructions_title": "📋 *Schritt-für-Schritt-Anleitung:*",
|
||||
"deposit_step1": "1️⃣ Tippe auf *Adresse kopieren* unten, um deine Wallet-Adresse zu kopieren",
|
||||
"deposit_step2": "2️⃣ Öffne Mercuryo über den Button unten",
|
||||
"deposit_step2": "2️⃣ Öffne Mercuryo über den Button unten und gib den gewünschten Betrag ein",
|
||||
"deposit_step3": "3️⃣ Füge die kopierte Adresse als Empfangswallet ein",
|
||||
"deposit_step4": "4️⃣ Wähle die richtige Währung: *{{type}}* und den Betrag €{{amount}}",
|
||||
"deposit_step4": "4️⃣ Wähle die richtige Währung: *{{type}}* und gib den gewünschten Betrag ein",
|
||||
"deposit_step5": "5️⃣ Bezahle mit deiner Bankkarte",
|
||||
"deposit_step6": "6️⃣ Die Kryptowährung wird innerhalb von 5\\-30 Minuten in deinem Wallet eintreffen",
|
||||
"deposit_your_address": "🔐 *Deine {{type}} Wallet-Adresse:*",
|
||||
@@ -171,14 +172,14 @@
|
||||
"deposit_important2": "• Stelle sicher\\, dass du die richtige Währung in Mercuryo auswählst",
|
||||
"deposit_important3": "• E-Mail \\+ Telefonnummer können von Mercuryo für die Verifizierung verlangt werden",
|
||||
"deposit_important4": "• Wenn die Kryptowährung nicht innerhalb von 30 Minuten eintrifft \\— kontaktiere den Mercuryo-Support",
|
||||
"deposit_open_mercuryo": "💳 Mercuryo",
|
||||
"deposit_important5": "• Ohne Autorisierung erlaubt Mercuryo nur 1 Zahlung. Danach fordert Mercuryo Autorisierung & Identitätsverifikation. Lade dein Guthaben einmalig mit Reserve auf.",
|
||||
"deposit_open_mercuryo": "💳 Mit Karte zahlen (VISA / Mastercard)",
|
||||
"deposit_pay_crypto": "💰 Mit Krypto zahlen",
|
||||
"deposit_crypto_title": "💳 *{{type}} über Krypto einzahlen*",
|
||||
"deposit_crypto_address": "🔐 *Deine {{type}} Wallet-Adresse:*",
|
||||
"deposit_crypto_instruction": "Sende {{amount}} USD in {{type}} an die Adresse oben. Der QR-Code enthält die Zahlungsadresse.",
|
||||
"deposit_crypto_instruction": "Sende den gewünschten Betrag in USD in {{type}} an die Adresse oben. Der QR-Code enthält die Zahlungsadresse.",
|
||||
"deposit_crypto_scan_qr": "📱 Scanne den QR-Code unten, um die Wallet-Adresse zu erhalten",
|
||||
"deposit_copy_address": "📋 Adresse kopieren",
|
||||
"deposit_change_amount": "🔄 Betrag ändern",
|
||||
"deposit_choose_different": "💸 Anderes Wallet wählen",
|
||||
"deposit_wallet_address": "{{type}} Wallet-Adresse:",
|
||||
"back_to_deposit": "« Zurück zur Einzahlung",
|
||||
|
||||
@@ -55,7 +55,9 @@
|
||||
"error_loading_product": "Error loading product details. Please try again.",
|
||||
"not_found": "Location not found. Returning to previous menu.",
|
||||
"mono_product": "📦 Digital Product",
|
||||
"infinite_stock": "∞ Always available"
|
||||
"infinite_stock": "∞ Always available",
|
||||
"no_description": "No description provided",
|
||||
"no_photo": "No photo available"
|
||||
},
|
||||
"purchase": {
|
||||
"summary": "🛒 Purchase Summary:",
|
||||
@@ -156,13 +158,12 @@
|
||||
"wallet_not_found": "Wallet not found. Please try again.",
|
||||
"wallet_not_found_short": "Wallet not found.",
|
||||
"deposit_select_gateway": "💳 *Deposit via Crypto*\n\nSelect the wallet you want to top up:",
|
||||
"deposit_select_amount": "💳 *Deposit {{type}}*\n\nSelect the amount (USD) you want to deposit:",
|
||||
"deposit_title": "💳 *Deposit {{type}} — €{{amount}}*",
|
||||
"deposit_title": "💳 *Deposit {{type}}*",
|
||||
"deposit_instructions_title": "📋 *Step\\-by\\-step instructions:*",
|
||||
"deposit_step1": "1️⃣ Tap *Copy Address* below to copy your wallet address",
|
||||
"deposit_step2": "2️⃣ Open Mercuryo via the button below",
|
||||
"deposit_step2": "2️⃣ Open Mercuryo via the button below and enter your desired amount",
|
||||
"deposit_step3": "3️⃣ Paste the copied address as the receiving wallet",
|
||||
"deposit_step4": "4️⃣ Select the correct currency: *{{type}}* and the amount €{{amount}}",
|
||||
"deposit_step4": "4️⃣ Select the correct currency: *{{type}}* and enter your desired amount",
|
||||
"deposit_step5": "5️⃣ Complete the payment with your bank card",
|
||||
"deposit_step6": "6️⃣ Crypto will arrive in your wallet within 5\\-30 minutes",
|
||||
"deposit_your_address": "🔐 *Your {{type}} wallet address:*",
|
||||
@@ -171,14 +172,14 @@
|
||||
"deposit_important2": "• Make sure you select the correct currency in Mercuryo",
|
||||
"deposit_important3": "• Email \\+ phone may be required by Mercuryo for verification",
|
||||
"deposit_important4": "• If crypto doesn't arrive within 30 min \\— contact Mercuryo support",
|
||||
"deposit_open_mercuryo": "💳 Mercuryo",
|
||||
"deposit_important5": "• Without authorization, Mercuryo allows only 1 payment. Then Mercuryo will request authorization & identity verification. Top up your balance with a reserve in one go.",
|
||||
"deposit_open_mercuryo": "💳 Pay with Card (VISA / Mastercard)",
|
||||
"deposit_pay_crypto": "💰 Pay with Crypto",
|
||||
"deposit_crypto_title": "💳 *Deposit {{type}} via Crypto*",
|
||||
"deposit_crypto_address": "🔐 *Your {{type}} wallet address:*",
|
||||
"deposit_crypto_instruction": "Send {{amount}} USD in {{type}} to the address above. The QR code contains the payment address.",
|
||||
"deposit_crypto_instruction": "Send the desired amount in USD in {{type}} to the address above. The QR code contains the payment address.",
|
||||
"deposit_crypto_scan_qr": "📱 Scan the QR code below to get the wallet address",
|
||||
"deposit_copy_address": "📋 Copy Address",
|
||||
"deposit_change_amount": "🔄 Change Amount",
|
||||
"deposit_choose_different": "💸 Choose Different Wallet",
|
||||
"deposit_wallet_address": "{{type}} wallet address:",
|
||||
"back_to_deposit": "« Back to Deposit",
|
||||
|
||||
@@ -55,7 +55,9 @@
|
||||
"error_loading_product": "Error al cargar detalles del producto. Inténtalo de nuevo.",
|
||||
"not_found": "Ubicación no encontrada. Volviendo al menú anterior.",
|
||||
"mono_product": "📦 Producto Digital",
|
||||
"infinite_stock": "∞ Siempre disponible"
|
||||
"infinite_stock": "∞ Siempre disponible",
|
||||
"no_description": "Sin descripción",
|
||||
"no_photo": "Sin foto disponible"
|
||||
},
|
||||
"purchase": {
|
||||
"summary": "🛒 Resumen de compra:",
|
||||
@@ -156,13 +158,12 @@
|
||||
"wallet_not_found": "Billetera no encontrada. Inténtalo de nuevo.",
|
||||
"wallet_not_found_short": "Billetera no encontrada.",
|
||||
"deposit_select_gateway": "💳 *Depositar vía Cripto*\n\nSelecciona la billetera que quieres recargar:",
|
||||
"deposit_select_amount": "💳 *Depositar {{type}}*\n\nSelecciona la cantidad (USD) que quieres depositar:",
|
||||
"deposit_title": "💳 *Depositar {{type}} — €{{amount}}*",
|
||||
"deposit_title": "💳 *Depositar {{type}}*",
|
||||
"deposit_instructions_title": "📋 *Instrucciones paso a paso:*",
|
||||
"deposit_step1": "1️⃣ Toca *Copiar dirección* abajo para copiar tu dirección de billetera",
|
||||
"deposit_step2": "2️⃣ Abre Mercuryo con el botón de abajo",
|
||||
"deposit_step2": "2️⃣ Abre Mercuryo con el botón de abajo e ingresa la cantidad deseada",
|
||||
"deposit_step3": "3️⃣ Pega la dirección copiada como billetera receptora",
|
||||
"deposit_step4": "4️⃣ Selecciona la moneda correcta: *{{type}}* y la cantidad €{{amount}}",
|
||||
"deposit_step4": "4️⃣ Selecciona la moneda correcta: *{{type}}* e ingresa la cantidad deseada",
|
||||
"deposit_step5": "5️⃣ Paga con tu tarjeta bancaria",
|
||||
"deposit_step6": "6️⃣ Las criptomonedas llegarán a tu billetera en 5\\-30 minutos",
|
||||
"deposit_your_address": "🔐 *Tu dirección de billetera {{type}}:*",
|
||||
@@ -171,14 +172,14 @@
|
||||
"deposit_important2": "• Asegúrate de seleccionar la moneda correcta en Mercuryo",
|
||||
"deposit_important3": "• Correo \\+ teléfono pueden ser requeridos por Mercuryo para verificación",
|
||||
"deposit_important4": "• Si las criptomonedas no llegan en 30 min \\— contacta al soporte de Mercuryo",
|
||||
"deposit_open_mercuryo": "💳 Mercuryo",
|
||||
"deposit_important5": "• Sin autorización, Mercuryo permite solo 1 pago. Luego Mercuryo pedirá autorización y verificación de identidad. Recarga tu saldo con reserva de una sola vez.",
|
||||
"deposit_open_mercuryo": "💳 Pagar con Tarjeta (VISA / Mastercard)",
|
||||
"deposit_pay_crypto": "💰 Pagar con Cripto",
|
||||
"deposit_crypto_title": "💳 *Depositar {{type}} vía Cripto*",
|
||||
"deposit_crypto_address": "🔐 *Tu dirección de billetera {{type}}:*",
|
||||
"deposit_crypto_instruction": "Envía {{amount}} USD en {{type}} a la dirección de arriba. El código QR contiene la dirección de pago.",
|
||||
"deposit_crypto_instruction": "Envía la cantidad deseada en USD en {{type}} a la dirección de arriba. El código QR contiene la dirección de pago.",
|
||||
"deposit_crypto_scan_qr": "📱 Escanea el código QR de abajo para obtener la dirección de la billetera",
|
||||
"deposit_copy_address": "📋 Copiar dirección",
|
||||
"deposit_change_amount": "🔄 Cambiar cantidad",
|
||||
"deposit_choose_different": "💸 Elegir otra billetera",
|
||||
"deposit_wallet_address": "Dirección de billetera {{type}}:",
|
||||
"back_to_deposit": "« Volver al depósito",
|
||||
|
||||
Reference in New Issue
Block a user