feat: replace view-key monitor with TX proof verification
Remove v2 view-key payment monitor (privacy concern — nobody should enter their private view key on a website). Replace with TX proof verification where the sender provides TX Hash + TX Key from their wallet. The proof is cryptographically verified client-side and stored with the invoice for persistent "Paid" status. - Remove monitor.js and all view-key monitoring UI/logic - Add TX proof section: sender enters TX Hash + TX Key - Client-side verification via check_tx_key equivalent (noble-curves) - api/verify.php stores/retrieves payment proofs per invoice - Short URL redirect now includes invoice code for status lookup - Invoice link shows "Paid" badge once proof is verified - Deadline badges (7/14/30 days) for payment terms
This commit is contained in:
56
i18n.js
56
i18n.js
@@ -29,22 +29,18 @@ var I18n = (function () {
|
||||
countdown_remaining_days: 'Zahlungsfrist: {d} Tage, {h}:{m}:{s}',
|
||||
countdown_remaining_hours: 'Zahlungsfrist: {h}:{m}:{s}',
|
||||
rates_offline: 'Kurse nicht verfügbar — nur XMR-Betrag möglich',
|
||||
btn_monitor: 'Zahlung überwachen',
|
||||
label_view_key: 'Privater View-Key',
|
||||
placeholder_view_key: '64 Hex-Zeichen...',
|
||||
hint_view_key: 'Der View-Key verlässt nie deinen Browser',
|
||||
btn_start_monitor: 'Überwachung starten',
|
||||
btn_stop_monitor: 'Überwachung beenden',
|
||||
monitor_connecting: 'Verbinde mit Node...',
|
||||
monitor_scanning: 'Scanne Mempool...',
|
||||
monitor_waiting: 'Warte auf Zahlung...',
|
||||
monitor_mempool: 'Zahlung erkannt (unbestätigt)',
|
||||
monitor_confirmed: 'Zahlung bestätigt',
|
||||
monitor_confirmations: '{n}/10 Bestätigungen',
|
||||
monitor_underpaid: 'Unterzahlung erkannt',
|
||||
monitor_underpaid_detail: 'Erwartet: {expected} XMR — Erhalten: {received} XMR',
|
||||
monitor_node_error: 'Node nicht erreichbar — versuche nächsten...',
|
||||
monitor_loading: 'Lade Kryptografie-Modul...'
|
||||
btn_prove_payment: 'Zahlung nachweisen',
|
||||
label_tx_hash: 'Transaction ID (TX Hash)',
|
||||
placeholder_tx_hash: '64 Hex-Zeichen...',
|
||||
label_tx_key: 'Transaction Key (TX Key)',
|
||||
placeholder_tx_key: '64 Hex-Zeichen...',
|
||||
btn_verify_proof: 'Zahlung verifizieren',
|
||||
proof_verifying: 'Verifiziere...',
|
||||
proof_verified: 'Zahlung bestätigt: {amount} XMR',
|
||||
proof_no_match: 'Kein passender Output gefunden — TX Key oder Adresse stimmt nicht',
|
||||
proof_tx_not_found: 'Transaktion nicht gefunden',
|
||||
proof_error: 'Fehler bei der Verifizierung',
|
||||
status_paid: 'Bezahlt'
|
||||
},
|
||||
en: {
|
||||
subtitle: 'Monero payment request in seconds',
|
||||
@@ -68,22 +64,18 @@ var I18n = (function () {
|
||||
countdown_remaining_days: 'Deadline: {d} days, {h}:{m}:{s}',
|
||||
countdown_remaining_hours: 'Deadline: {h}:{m}:{s}',
|
||||
rates_offline: 'Rates unavailable — XMR amount only',
|
||||
btn_monitor: 'Monitor payment',
|
||||
label_view_key: 'Private view key',
|
||||
placeholder_view_key: '64 hex characters...',
|
||||
hint_view_key: 'Your view key never leaves your browser',
|
||||
btn_start_monitor: 'Start monitoring',
|
||||
btn_stop_monitor: 'Stop monitoring',
|
||||
monitor_connecting: 'Connecting to node...',
|
||||
monitor_scanning: 'Scanning mempool...',
|
||||
monitor_waiting: 'Waiting for payment...',
|
||||
monitor_mempool: 'Payment detected (unconfirmed)',
|
||||
monitor_confirmed: 'Payment confirmed',
|
||||
monitor_confirmations: '{n}/10 confirmations',
|
||||
monitor_underpaid: 'Underpayment detected',
|
||||
monitor_underpaid_detail: 'Expected: {expected} XMR — Received: {received} XMR',
|
||||
monitor_node_error: 'Node unreachable — trying next...',
|
||||
monitor_loading: 'Loading crypto module...'
|
||||
btn_prove_payment: 'Prove payment',
|
||||
label_tx_hash: 'Transaction ID (TX Hash)',
|
||||
placeholder_tx_hash: '64 hex characters...',
|
||||
label_tx_key: 'Transaction Key (TX Key)',
|
||||
placeholder_tx_key: '64 hex characters...',
|
||||
btn_verify_proof: 'Verify payment',
|
||||
proof_verifying: 'Verifying...',
|
||||
proof_verified: 'Payment confirmed: {amount} XMR',
|
||||
proof_no_match: 'No matching output found — TX key or address mismatch',
|
||||
proof_tx_not_found: 'Transaction not found',
|
||||
proof_error: 'Verification error',
|
||||
status_paid: 'Paid'
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user