Bu yazıda 7 bölüm
Online ödemede “İşleminiz onaylanmadı” veya “Ödeme reddedildi (05)” gibi bir mesaj gördüğünüzde ilk soru şu olur: bu ne demek, hata bende mi, müşteride mi, bankada mı? Bu yazı hem e-ticaret işletmecileri hem de kartı reddedilen müşteriler için kapsamlı bir POS / banka hata kodları sözlüğüdür. Aşağıdaki tabloda en sık karşılaşılan kodların ne anlama geldiğini, müşteriye ne söylemeniz gerektiğini ve satıcı olarak ne yapabileceğinizi bulacaksınız. Aradığınız kodu Ctrl+F ile sayfada hızlıca arayabilirsiniz.
POS hata kodu (banka red kodu) nedir?
Bir kart ödemesi denendiğinde, kartı veren banka işlemi ya onaylar ya da bir yanıt kodu (response code) ile reddeder. Bu kodlar büyük ölçüde uluslararası ISO 8583 standardına dayanır; dolayısıyla iyzico, PayTR, NestPay altyapısındaki bankalar, Garanti, Yapı Kredi gibi neredeyse tüm sanal POS’lar aynı numaraları kullanır. Yani “05” hatası hangi bankada olursa olsun benzer anlama gelir. Önemli nokta şudur: bu kodların büyük çoğunluğu satıcının değil, kartın veya bankanın durumuyla ilgilidir — yani sizin sistem hatanız değildir.
En sık POS / banka hata kodları tablosu
| Kod | Anlamı | Müşteriye ne söyleyin | Satıcı ne yapmalı |
|---|---|---|---|
| 00 | Onaylandı (başarılı işlem) | — | Sipariş tamamlandı |
| 01 | Bankanızı arayın (referral) | Kartı veren bankanızı arayın | Tekrar denenebilir, çözüm bankada |
| 03 | Geçersiz üye işyeri | — | Sizde: POS/üye işyeri tanımını kontrol edin |
| 04 / 07 / 41 / 43 | Karta el koyun (kayıp/çalıntı kart) | Bankanızla iletişime geçin | İşlemi tamamlamayın; şüpheli |
| 05 | Onaylanmadı (Do not honor) — en genel red | Başka kart deneyin / bankanızı arayın | Genelde banka kararı; sizde hata yok |
| 12 | Geçersiz işlem | Tekrar deneyin | İşlem tipi/taksit kartla uyumsuz olabilir |
| 13 | Geçersiz tutar | — | Tutar/kuruş formatını kontrol edin |
| 14 | Geçersiz kart numarası | Kart numarasını kontrol edin | Müşteri yanlış girmiş olabilir |
| 33 / 54 | Kartın süresi dolmuş | Kartınızın son kullanma tarihini kontrol edin | Başka/güncel kart istenmeli |
| 34 / 59 | Sahtekârlık şüphesi | Bankanızla görüşün | İşlemi zorlamayın |
| 36 / 62 | Kısıtlı kart (bölge/kullanım kısıtı) | Kartınız internet/yurt dışı işleme kapalı olabilir | Müşteri bankadan açtırmalı |
| 38 / 55 / 75 | Hatalı PIN / PIN deneme aşıldı | PIN’inizi kontrol edin | Genelde fiziksel POS; online’da nadir |
| 51 | Yetersiz bakiye / limit | Kart limitiniz/bakiyeniz yetersiz | Başka kart veya daha düşük tutar |
| 57 / 58 | İşlem türüne izin yok (kart/terminal) | Kartınız bu işleme izin vermiyor | Kartın e-ticarete açık olması gerekir |
| 61 / 65 | İşlem tutar/adet limiti aşıldı | Günlük limitinizi aştınız | 3D Secure ile tekrar denenebilir |
| 78 | Aktif olmayan kart (ilk kullanım) | Yeni kartınızı aktive edin | Müşteri bankadan aktivasyon yapmalı |
| 82 | CVV/güvenlik kodu hatalı | Kart arkasındaki 3 haneli kodu kontrol edin | Müşteri yanlış girmiş olabilir |
| 91 | Kart bankasına ulaşılamıyor (geçici) | Birkaç dakika sonra tekrar deneyin | Geçici; tekrar deneme genelde çözer |
| 96 | Sistem arızası / genel hata | Daha sonra tekrar deneyin | Banka/PSP tarafı geçici sorun |
Not: Bazı bankalar aynı koda küçük anlam farkları yükleyebilir; kesin açıklama için işlem sonucunda dönen banka mesajını esas alın. Yukarıdaki tablo sektörde en yaygın kullanılan ISO 8583 karşılıklarını verir.
3D Secure doğrulama durumları (mdStatus)
Banka red kodlarından ayrı olarak, 3D Secure aşamasında dönen bir doğrulama durumu (mdStatus) vardır. NestPay ve benzeri altyapılarda en sık görülenler:
- 1 — Tam doğrulama başarılı (kart 3DS’e kayıtlı, müşteri onayladı). İşleme devam edilir.
- 2, 3, 4 — Kart veya banka 3DS’e tam kayıtlı değil ama “deneme (attempt)” kaydı var. Kabul edilip edilmeyeceği sizin/PSP’nin güvenlik politikasına bağlıdır.
- 0 — Doğrulama başarısız veya yapılamadı. İşlem durdurulmalıdır.
- 5, 6, 7, 8 — Doğrulama yapılamadı / sistem hatası / bilinmeyen kart. İşlem güvenli sayılmaz.
3D Secure’un nasıl çalıştığını ve neden bu kadar önemli olduğunu ayrıntılı okumak için 3D Secure Nedir? yazımıza bakabilirsiniz.
Sağlayıcıya özel hata mesajları
- NestPay bankaları (Akbank, İş Bankası, Ziraat, QNB Finansbank vb.): Yukarıdaki sayısal ISO kodlarını ve mdStatus değerlerini birebir kullanır.
- iyzico: Sayısal kodun yanında açıklayıcı metin mesajları döner (ör. “Yetersiz bakiye”, “Kartınız 3D Secure’a kapalı”). Hata mesajını müşteriye anlaşılır biçimde iletin.
- PayTR: “Mağaza No eşleşmiyor” ve “Hash doğrulanamadı” gibi mesajlar genelde entegrasyon hatasıdır (kimlik bilgisi/imza), kart hatası değil. Bunlar için PayTR kurulum rehberimize bakın.
“Ödeme reddedildi” görünce ne yapmalı?
- Kodun kart mı yoksa entegrasyon hatası mı olduğunu ayırın. 05, 51, 54 gibi kodlar karta aittir; “geçersiz üye işyeri”, “hash doğrulanamadı” gibi mesajlar sizin ayarınızdır.
- Kart kaynaklı ise müşteriye başka kart denemesini veya bankasını aramasını önerin. Sepeti kaybetmemek için nazik bir hata mesajı gösterin.
- Entegrasyon kaynaklı ise API kimlik bilgilerini, test/canlı mod eşleşmesini ve SSL’i kontrol edin.
- 91 / 96 gibi geçici hatalarda birkaç dakika sonra tekrar denemek çoğu zaman yeterlidir.
İyi bir ödeme altyapısı bu kodları müşteriye ham haliyle göstermez; anlaşılır bir dile çevirir ve hassas bilgiyi (kart no, CVV) asla loglara yazmaz. Invum POS tam olarak bunu yapar: banka/PSP hatalarını sade mesajlara dönüştürür, her hatayı bir doküman bağlantısıyla ilişkilendirir ve kart verisini maskeler. Böylece hem müşteri ne olduğunu anlar hem de siz sorunu hızlıca teşhis edersiniz.
Özet
POS hata kodlarının büyük kısmı ISO 8583 standardına dayanır ve neredeyse tüm Türk bankaları/PSP’lerinde aynıdır. 05 (onaylanmadı), 51 (yetersiz bakiye) ve 54 (süresi dolmuş kart) en sık görülenlerdir ve çoğu satıcının değil, kartın/bankanın durumuyla ilgilidir. Entegrasyon kaynaklı mesajları (geçersiz üye işyeri, hash hatası) kart hatalarından ayırmak, sorunu doğru yerde aramanızı sağlar. Bu sayfayı yer imlerinize ekleyip bir kod gördüğünüzde Ctrl+F ile hızlıca arayabilirsiniz.
Kaynaklar
- EMVCo — EMV® 3-D Secure — 3DS 2.x protokolünün sahibi standart kuruluşu
- iyzico Geliştirici Dokümantasyonu — API anahtarları, sandbox ve test kartları
- PayTR Geliştirici Dokümantasyonu — Mağaza No / Key / Salt ve bildirim (callback) adresi
- Bankalararası Kart Merkezi (BKM) — Türkiye kart ödeme sistemi ve istatistikleri
Bağlantılar 1 Ekim 2026 itibarıyla kontrol edildi. Ücret, komisyon ve taksit koşulları sağlayıcıya ve bankaya göre değişebilir; güncel değerler için ilgili kuruluşun resmî sayfasına bakın.


