| <!DOCTYPE html> |
| <html lang="ru"> |
| <head> |
| <meta charset="UTF-8"> |
| <title>Stripe Add Card - No Keys in Code</title> |
| <style> |
| body { font-family: sans-serif; background: #f6f9fc; padding: 40px; } |
| .payment-box { background: white; padding: 20px; border-radius: 8px; max-width: 400px; margin: auto; box-shadow: 0 4px 6px rgba(0,0,0,0.1); } |
| input { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; } |
| button { width: 100%; background: #6772e5; color: white; border: none; padding: 14px; border-radius: 4px; cursor: pointer; font-size: 16px; } |
| #pin-output { margin-top: 20px; display: none; text-align: center; background: #e7f3ff; padding: 10px; } |
| </style> |
| </head> |
| <body> |
|
|
| <div class="payment-box"> |
| <h3>Add Debit/Credit Card</h3> |
| <form id="payment-form"> |
| <label>Card Number</label> |
| <input type="number" id="card-number" placeholder="4242 4242 4242 4242" required> |
| |
| <div style="display: flex; gap: 10px;"> |
| <input type="text" id="exp" placeholder="MM/YY" required> |
| <input type="number" id="cvv" placeholder="CVV" required> |
| </div> |
|
|
| <label>Country (Numeric Code)</label> |
| <input type="number" id="country" placeholder="840" required> |
|
|
| <button type="submit" id="submit">Save & Generate PIN</button> |
| </form> |
|
|
| <div id="pin-output"> |
| <strong>Login PIN Generated:</strong> |
| <div id="pin-value" style="font-size: 24px; color: #6772e5; letter-spacing: 2px;"></div> |
| </div> |
| </div> |
|
|
| <script> |
| |
| |
| |
| document.getElementById('payment-form').addEventListener('submit', function(e) { |
| e.preventDefault(); |
| |
| const cardNum = document.getElementById('card-number').value; |
| const country = document.getElementById('country').value; |
| |
| |
| |
| const pin = generateSecurePin(cardNum); |
| |
| |
| document.getElementById('payment-form').style.opacity = '0.5'; |
| document.getElementById('submit').disabled = true; |
| document.getElementById('pin-output').style.display = 'block'; |
| document.getElementById('pin-value').innerText = pin; |
| }); |
| |
| function generateSecurePin(input) { |
| |
| let lastFour = input.toString().slice(-4); |
| let randomPart = Math.floor(100 + Math.random() * 900); |
| return lastFour[0] + randomPart + lastFour[3]; |
| } |
| </script> |
|
|
| </body> |
| </html> |