jQuery Card.js eklentisi, e-ticaret veya alışveriş sitelerinin ödeme sayfası için oluşturulmuş, etkileşimli kredi kartı formu oluşturmayı sağlayan bir kütüphanedir.
Bu blog gönderimde sizlerle etkileşimli bir online ödeme formu oluşturacağız. Sanırım bir değişiklik olmadıysa bu sistemi türkiye’de n11 ve gittigidiyor kullanıyordu. Sektörün büyük oyuncularının sıklıkla kullandığı bu sistem sanal bir kart karşımıza çıkarıyor, ödeme bilgilerini forma girdikçe kartın üzerine eşzamanlı olarak işliyor.
Nasıl? – Demo
Özellikler:
Kart tipi algılama. (Visa – Mastercard vs)
Alan doğrulaması.(Boşluk – Özel Karakter)
Giriş maskelemesi.
Numara, isim, tarih ve CVC’ye özel yer alan alanlar
Nasıl Kullanılır?
1- Gerekli dosyaların sayfa içerisine entegre edilmesi
Öncelikle card.css ve card.js dosyalarımızın güncel versiyonlarını edinip, sayfa içerisine ekleyelim.
1 2 3 4 5 6 7 8 | <!-- HEADER --> <link href="card.css" rel="stylesheet"> <!-- FOOTER --> <script src="//code.jquery.com/jquery.min.js"></script> <script src="dist/jquery.card.js"></script> <!-- VEYA --> <script src="dist/card.js"></script> |
2- Kartın görüneceği alanı ve ödeme verisi giriş alanlarımızı oluşturalım.
1 2 3 4 5 6 7 8 9 10 | <div class="card-wrapper"></div> <div class="form-container active"> <form action=""> <input placeholder="Kredi Kartı Numarası" type="tel" name="number"> <input placeholder="Ad Soyad" type="text" name="name"> <input placeholder="AA/YY" type="tel" name="expiry"> <input placeholder="CVC" type="number" name="cvc"> </form> </div> |
3- card.js bilgilerini sayfamıza tanımlayalım
1 2 3 4 5 6 7 8 9 10 11 | // jQuery $('form').card({ container: '.card-wrapper' }); // Vanilla JavaScript new Card({ form: document.querySelector('form'), container: '.card-wrapper' }); // Class bilgilerine dikkat! |
4- Kart özelliklerimizi belirtelim (İsteğe bağlı)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | $('form').card({ // numara formatı formatting: true, // form seçicileri formSelectors: { numberInput: 'input[name="number"]', expiryInput: 'input[name="expiry"]', cvcInput: 'input[name="cvc"]', nameInput: 'input[name="name"]' }, cardSelectors: { cardContainer: '.jp-card-container', card: '.jp-card', numberDisplay: '.jp-card-number', expiryDisplay: '.jp-card-expiry', cvcDisplay: '.jp-card-cvc', nameDisplay: '.jp-card-name' }, // mesajlar messages: { validDate: 'valid\nthru', monthYear: 'month/year' }, // placeholder alanları placeholders: { number: '•••• •••• •••• ••••', cvc: '•••', expiry: '••/••', name: 'Full Name' }, // input masking aktifle masks: { cardNumber: false }, // valid/invalid CSS class bilgileri classes: { valid: 'jp-card-valid', invalid: 'jp-card-invalid' }, // debug mode debug: false }); |