Kart son kullanma tarihi formatı, kartın üzerinde iki küçük sayı olarak görünen ama ödeme formlarında en çok hata yapılan alanlardan biridir. Bu yazıda bu iki sayının nasıl okunduğunu, kartın tam olarak hangi ana kadar geçerli olduğunu, gösterim ile saklama biçiminin neden ayrıldığını ve formunuzu test ederken hangi sınır değerlere bakmanız gerektiğini bulacaksınız.
Son kullanma tarihi kartın neresinde yazılır?
Kartın ön yüzünde, genellikle numaranın altında ve kart sahibinin adının yakınında iki sayı çifti bulunur. Soldaki çift ayı, sağdaki çift yılı gösterir. Yıl yalnızca iki hane olarak basılır; kartın hangi yüzyıla ait olduğu ayrıca yazılmaz.
Bu iki hane arasına kartın basımında bir eğik çizgi, boşluk veya küçük bir ayırıcı konabilir. Görsel tasarım karttan karta değişir ama anlam her zaman aynıdır: bir ay ve bir yıl. Bazı kartlarda ay adı kısaltılmış biçimde de yazılabilir; bu da aynı bilgiyi taşır.
Kartın üzerinde ayrıca dağıtım tarihi veya geçerlilik başlangıcı gibi başka tarihler de bulunabilir. Bu tarihler kartın ne zaman düzenlendiğini gösterir; son kullanma tarihiyle karıştırılmamalıdır. Son kullanma tarihi, kartın ne kadar süre kullanılabileceğini belirtir.
Ay ve yıl nasıl okunur?
Ay iki hane olarak yazılır; tek haneli aylar başına sıfır alır. Yıl da iki hane olarak yazılır ve genellikle yüzyıl bilgisi atlanır. Örneğin kartta dokuz ve yirmi yedi sayıları görünüyorsa bu, dokuzuncu ayın yirmi yedi yılına işaret eder. Yılın hangi yüzyıla denk geldiği, içinde bulunduğumuz döneme bakılarak anlaşılır; kartlar geçmiş tarihlerle basılmadığı için bu çıkarım sorun yaratmaz.
Buradaki pratik zorluk, kullanıcının hangi sayının ay hangisinin yıl olduğunu karıştırmasıdır. Formda iki ayrı alan yerine tek bir alan kullanıyorsanız, alanın içinde hangi sıranın beklendiğini açıkça gösterin. Kullanıcı on iki sayısını ay sanarak girerken, aslında yılı yazıyor olabilir; bu hata yalnızca kaydettikten sonra fark edilir.
Kart numarası alanında olduğu gibi burada da ayırıcı karakterler sorun çıkarır. Kullanıcı ayı ve yılı yazarken araya eğik çizgi koyabilir, boşluk bırakabilir veya yalnızca iki sayı yazabilir. Gelen değeri işlemeden önce ayırıcılardan arındırmak gerekir.
Kart ayın sonuna kadar mı geçerli?
Evet. Kart üzerinde yazan ayın son gününe kadar kart geçerlidir. Bir kartın üzerinde son ay olarak dokuzuncu ay yazıyorsa, kart o yılın dokuzuncu ayının son gününe kadar kullanılabilir. Ayın bittiği an, kartın geçerliliğinin de bittiği andır.
Bu kural, ödeme formlarında en sık yapılan hatanın kaynağıdır. Birçok sistem yalnızca yıla bakar ve içinde bulunulan yıl geçmediği sürece tarihi geçerli sayar. Oysa yıl aynı olsa bile kart, o yılın içindeki ilgili ay bittiyse artık geçersizdir. Doğru karşılaştırma iki parçalıdır: önce yıl, sonra ay.
Aynı şekilde, içinde bulunulan ayın tarihini geçersiz saymak da yanlıştır. Kart, o ayın son gününe kadar geçerlidir; ayın ortasında yapılan bir işlemde kart hâlâ kullanılabilir. Bu yüzden karşılaştırma yapılırken gün değil ay ve yıl düzeyinde düşünülmelidir.
Son kullanma tarihi geçmişse ne olur?
Süresi geçmiş kartla yapılan bir işlem yetkilendirme aşamasında reddedilir. Reddin nedeni kartın kapanmış olması değildir; kartın süresinin dolmuş olması tek başına yeterlidir. Kartı veren kuruluş genellikle süresi dolan kartların yerine yenisini gönderir; ancak yeni kart gelene kadar kullanıcı eski tarihle işlem yapamaz.
Bu durumun tasarım açısından önemi şudur: süresi geçmiş bir kart, kullanıcı hatası olmayan bir hatadır. Kullanıcı numarayı doğru yazmış, güvenlik kodunu doğru girmiştir; sorun yalnızca kartın yenilenmesi gerektiğidir. Hata mesajının bunu açıkça söylemesi gerekir. “Kart bilgileri geçersiz” gibi genel bir cümle, kullanıcıyı gereksiz yere numarayı yeniden yazmaya iter.
Tekrar eden ödeme senaryolarında ise süre bitişi daha kritik bir andır. Abonelik ödemeleri belirli bir günde çalışıyorsa, kartın süresinin dolduğu ay içinde ödeme başarısız olabilir. Bu yüzden kullanıcıyı önceden uyarmak, başarısız ödeme bildirimlerinden çok daha az rahatsız edicidir.
Gösterim biçimi ile saklama biçimi aynı değildir
Kartın üzerinde gördüğünüz biçim, sistemin içinde tutulan biçimle aynı olmak zorunda değildir. Ekranda iki hane ay ve iki hane yıl görürsünüz; sistemde ise tarih genellikle bir gün değeri ve bir yıl değeri olarak, kartın geçerliliğinin sona erdiği ayın son gününe karşılık gelecek şekilde tutulur. Bu dönüşüm, karşılaştırmaların doğru yapılmasını sağlar.
Bu ayrımın farkında olmayan ekipler, gelen değeri olduğu gibi kaydeder ve aylar sonra “kart geçerli mi” sorusunu yanıtlamakta zorlanır. Biçim belirsizse, aynı tarih iki farklı kayıtta iki farklı biçimde bulunur ve karşılaştırma tutarsız sonuç verir. Kural basit olsun: dışarıdan gelen biçim kullanıcıya aittir, içeride tutulan biçim sistemin sorumluluğundadır.
Üretici ile doğru tarihli test kartları üretin
Test sırasında elinizde her zaman gelecekte bir tarih bulunmalıdır; aksi hâlde form, daha ilk ekranda geçerlilik hatası verir. Sitemizdeki üretici, ürettiği test kartlarıyla birlikte kullanılabilir bir son kullanma tarihi de verir; numarayı, tarihi ve güvenlik kodunu tek seferde kopyalayarak formu hızla doldurabilirsiniz. Üretilen bilgiler kurgusaldır ve yalnızca yazılım testi için tasarlanmıştır; hiçbiri gerçekte piyasaya sürülmüş bir karta ait değildir, bu yüzden gerçek bir ödeme için kullanılamaz. Araç şu adreste: test kredi kartı numarası üretici.
Formunuza süresi geçmiş bir değer girip doğru mesajı görüp görmediğinizi denemek de faydalıdır; hangi durumların sınanması gerektiğini ödeme formu test listesi yazısı sıralıyor.
Geliştiriciler için: giriş denetimi ve sınır değerleri
Son kullanma tarihini işlerken sınanacak sınır değerler bellidir. Her biri şu soruya karşılık gelir:
- içinde bulunulan ay: kart hâlâ geçerli sayılıyor mu?
- içinde bulunulan aydan bir önceki ay: süresi dolmuş kart doğru mesajla reddediliyor mu?
- bir sonraki ayın ilk günü: sınır anı doğru yorumlanıyor mu?
- iki haneli yıl devri: yüzyıl bilgisi olmadan gelen değerin hangi aralıkta okunacağı yazılı mı?
- saat dilimi: ayın son gününde sunucu ile kullanıcı farklı sonuç görüyor mu?
Bu değerleri testlere eklemek, ay aritmetiğindeki klasik hataların çoğunu ortaya çıkarır.
İki ayrı alan kullanacaksanız, ay alanının her zaman iki hane kabul ettiğinden emin olun. Tek hane girildiğinde doğrulamayı reddetmek, kullanıcıyı gereksiz yere durdurur. Alan içinde ilerlemeyi otomatik yapın: ay iki haneye ulaştığında imleç yıl alanına geçsin. Böylece kullanıcı ayırıcı yazmak zorunda kalmaz.
Yıl karşılaştırmasında iki haneli değeri anlamlandırma kuralınızı yazılı hâle getirin. Yüzyıl bilgisi olmadan gelen iki hane, hangi aralıkta yorumlanacaktır? Bu kural kodun bir yerinde saklı kalırsa, farklı modüller farklı yorum yapar. Kuralı belgeleyin ve tarih dönüşümünü tek bir noktada toplayın.
Geçerlilik kontrolünü yalnızca geleceğe dönük yapmayın; mantıksal sınırlar da koyun. Örneğin ay alanı bir ile on iki arasında olmalıdır. Ay için sıfır veya on üç gibi değerler geldiğinde bunu biçim hatası olarak ayırın. Son olarak, süresi geçmiş kartları ayıklayan kuralın saat dilimi bağımlılığını düşünün; ayın son gününde gece yarısına yakın yapılan işlemlerde sunucu ile kullanıcının saat dilimi farklıysa, kart bir taraf için geçerli, diğeri için geçersiz görünebilir.
Sonraki adımlar
Tarih alanını doğru kurduktan sonra sıradaki adım, kartın diğer alanlarıyla tutarlı çalıştığından emin olmaktır. Numara biçiminin ayrıntıları için kart numarası biçimi yazısına, güvenlik kodunun formdaki rolü için CVV rehberine bakabilirsiniz. Hemen denemek isterseniz üreticiden birkaç test kartı üretip formunuza ileri tarihli değerlerle girerek akışı baştan sona test edin.