pain.002 Nedir? SEPA Ödeme Durum Raporu
Bir SEPA ödeme talimatı (pain.001) gönderdiğinizde bankanız size ISO 20022 formatında bir yanıt döner: pain.002, yani ödeme durum raporu. Bu rehber pain.002'nin ne olduğunu, hangi durum kodlarını taşıdığını ve bir işlem reddedildiğinde ne yapmanız gerektiğini kaynaklı biçimde açıklar.
Güncelleme:
Kısa cevap
pain.002, gönderdiğiniz pain.001 ödeme talimatının bankada hangi durumda olduğunu bildiren yanıt mesajıdır.
Resmî adı CustomerPaymentStatusReport. Durumu iki düzeyde taşır: grup düzeyi (GrpSts) — talimatın tümü için tek durum — ve işlem düzeyi (TxSts) — her bir ödeme satırı için ayrı durum. Durum bir koddur (RCVD, ACCP, ACSP, ACSC, PDNG, PART, RJCT); yalnızca RJCT reddi ifade eder ve reddin nedeni ayrı bir sebep kodunda (AC01, AM04…) gelir.
SEPA'da bir toplu ödeme veya tekil havale gönderirken, muhasebe yazılımınız veya bankacılık kanalınız arka planda bir pain.001 mesajı üretir — bu, bankanıza verdiğiniz "şu ödemeleri yap" talimatıdır. Ama talimatı göndermek işin yarısıdır: bankanın onu kabul edip etmediğini, işleme alıp almadığını veya reddedip reddetmediğini de bilmeniz gerekir. İşte bu geri bildirim, pain.002 mesajıyla gelir. Bu sayfa pain.002'nin ne olduğunu, hangi durum kodlarını taşıdığını, red durumunda nedenin nerede saklı olduğunu ve bir sonraki adımda ne yapmanız gerektiğini açıklar.
pain.002 nedir?
pain.002 mesajının resmî ISO 20022 adı CustomerPaymentStatusReport'tur. "pain", ISO 20022 mesaj ailesinde payment initiation (ödeme başlatma) grubunun kısaltmasıdır; aynı ailede ödeme talimatını taşıyan pain.001 ve doğrudan borçlandırma talimatı olan pain.008 de bulunur. pain.002, bu ailenin durum raporu üyesidir: bir bankanın, kendisine gönderilen bir ödeme başlatma talimatına verdiği yapılandırılmış yanıttır.
Yani pain.002 bir para hareketi değildir; bir bilgilendirmedir. "Talimatını aldım", "biçim kurallarına uygun, kabul ettim", "işleme aldım" veya "şu nedenle reddettim" gibi bir bankanın verebileceği yanıtları makine-okunur bir formatta iletir. Kurumsal ve toplu ödeme akışlarında bu mesaj kritik önemdedir, çünkü yüzlerce satır içeren bir toplu dosyanın hangi satırının geçtiğini, hangisinin takıldığını elle değil otomatik olarak takip etmeyi sağlar.
pain.001 → pain.002 akışı
Temel akış tek yönlü bir soru-cevap gibidir:
- Müşteri → Banka: Ödeme talimatı (pain.001) gönderilir. "Bu havaleleri yap."
- Banka → Müşteri: Durum raporu (pain.002) döner. "Talimatın şu durumda."
Banka, talimatın işleyişi ilerledikçe birden fazla pain.002 de gönderebilir: önce "aldım/kabul ettim", sonra "işleme aldım", en sonunda "mutabakat tamamlandı" gibi. Her yeni pain.002, işlemin o anki durumunu bildirir.
Burada sık karışan bir nokta var: pain.002 ile pacs.008'i karıştırmayın. pain.002, müşteri ile bankası arasındaki (customer-to-bank) durum raporudur. pacs.008 ise bankalar arasındaki (bank-to-bank) SEPA kredi transferi mesajıdır — sizin talimatınız bankanız tarafından karşı bankaya iletilirken kullanılan formattır. pacs mesajları (pacs.008 transfer, pacs.002 bankalar arası durum, pacs.004 return) arka planda bankalar arasında akar; siz normalde yalnızca kendinize gelen pain.002'yi görürsünüz. Kısacası: pain = siz ↔ bankanız, pacs = bankalar arası.
pain.002 durum kodları: iki düzey
pain.002 durumu iki ayrı düzeyde raporlar:
- Grup durumu — GrpSts (Group Status): Talimatın tümü için tek bir özet durum. Örneğin bir toplu dosyanın tamamı kabul edildiyse grup düzeyinde ACCP görünür.
- İşlem durumu — TxSts (Transaction Status): Dosyadaki her bir ödeme satırı için ayrı durum. Toplu bir dosyada bazı satırlar geçip bazıları reddedilebilir; bu ayrım işlem düzeyinde görünür.
Sık kullanılan durum kodları ve anlamları aşağıdaki tablodadır. En kritik ayrımı akılda tutun: RJCT dışındaki durumlar bir hata değildir — çoğu, başarı yolundaki normal ara aşamalardır.
| Kod | Açık adı | Anlamı |
|---|---|---|
| RCVD | Received | Talimat bankaya ulaştı; henüz içerik kontrolü yapılmadı. Başarı yolunun ilk adımı. |
| ACTC / ACCP | Accepted Technical / Customer Profile | Biçim ve içerik kontrolü geçti, talimat kabul edildi. Henüz para hareketi yok. |
| ACSP | Accepted Settlement In Process | İşleme alındı; mutabakat süreci başladı. Ödeme yolda. |
| ACSC | Accepted Settlement Completed | Mutabakat tamamlandı; tutar hesaptan çıktı ve takas edildi. Başarı yolunun sonu. |
| PDNG | Pending | Beklemede — geçici bir durum (ör. ek kontrol, cut-off, fon bekleme). Red değildir. |
| PART | Partially Accepted | Toplu dosyanın bir kısmı kabul, bir kısmı reddedildi. Satır düzeyine (TxSts) bakın. |
| RJCT | Rejected | Reddedildi. Neden ayrı bir sebep kodunda gelir (AC01, AM04…). Tek gerçek "hata" durumu. |
Kod kümesi ISO 20022 durum kodları setinden gelir ve banka/kural kitabı sürümüne göre gösterilen alt küme değişebilir. Bir işlemin nihai sonucunu her zaman bankanızın kanalındaki açıklamayla birlikte değerlendirin.
RJCT gördüm: reddin nedeni nerede?
Bu, kullanıcıların en çok takıldığı noktadır. RJCT durum kodu size yalnızca "reddedildi" der; neden reddedildiğini söylemez. Reddin gerçek nedeni, pain.002 içinde ayrı bir alanda — StatusReasonInformation — bir sebep kodu (reason code) olarak taşınır. Yani bir işlem reddedildiğinde iki bilgi birlikte gelir: durum = RJCT, sebep = örneğin AC01.
Sık görülen sebep kodları:
AC01— hesap numarası / IBAN hatalı veya biçimsel olarak geçersiz.AC04— hesap kapalı.AM04— yetersiz bakiye.MD01— geçerli bir yetki (mandate) yok — doğrudan borçlandırmada sık görülür.RR04— düzenleyici/regülasyon nedeniyle red.
Bankanızın kanalında gördüğünüz "ödeme reddedildi" açıklamasının arkasında genellikle bu kodlardan biri vardır. Elinizdeki durum veya sebep kodunu girip Türkçe karşılığını ve atmanız gereken adımı görmek için aşağıdaki aracı kullanabilirsiniz.
Bir durum veya red kodu mu aldınız?
RJCT ile birlikte gelen AC01, AM04, MD01 gibi bir kodun ne anlama geldiğini ve ne yapmanız gerektiğini anında çözün.
pain.002'yi kim kullanır?
pain.002 çoğunlukla kurumsal ve toplu ödeme senaryolarında öne çıkar: maaş ödemeleri, tedarikçi ödemeleri, muhasebe/ERP entegrasyonları. Bireysel bir kullanıcı bankasının internet şubesinden tek bir havale yaparken pain.002'yi çıplak gözle görmez — banka bu mesajı arka planda işleyip size sade bir "işleminiz alındı / reddedildi" ekranı gösterir. Ama makine tarafında dönen yapı çoğunlukla budur. pain.001 dosyanızı göndermeden önce biçimsel geçerliliğini kontrol etmek isterseniz pain.001 oluşturucu ve doğrulayıcı aracımız, ISO 20022 mesaj ailesinin tamamı için ise ISO 20022 mesajları sayfamız yardımcı olur.
Özet ve uyarı
pain.002, gönderdiğiniz pain.001 ödeme talimatının bankadaki durumunu bildiren yanıt mesajıdır; durumu grup (GrpSts) ve işlem (TxSts) düzeyinde taşır ve RCVD → ACCP → ACSP → ACSC başarı yolunu izler. RJCT dışındaki durumlar bir hata değildir; RJCT geldiğinde ise gerçek neden ayrı bir sebep kodunda saklıdır. Bu sayfadaki bilgiler bilgilendirme amaçlıdır: ISO 20022 mesajlarının bağlayıcı yapısı ISO 20022 Registration Authority tarafından, SEPA'ya özgü kullanımları ise European Payments Council kural kitaplarında tanımlanır ve zamanla güncellenir. Kritik bir ödeme için işlemin nihai durumunu her zaman bankanızla doğrulayın.
Sık sorulan sorular
pain.002 ile pain.001 arasındaki fark nedir?
pain.001 (CustomerCreditTransferInitiation), müşterinin bankasına gönderdiği ödeme başlatma talimatıdır — yani 'şu havaleyi yap' emri. pain.002 (CustomerPaymentStatusReport) ise bankanın müşteriye geri gönderdiği yanıttır — 'talimatın şu durumda' bilgisidir. pain.001 gider, pain.002 geri döner. İkisi de ISO 20022 pain (payment initiation) mesaj ailesindendir.
pain.002'de RJCT görüyorum, işlem neden reddedildi?
RJCT (Rejected) yalnızca işlemin reddedildiğini söyler; nedeni ayrı bir alanda, StatusReasonInformation içindeki sebep kodunda (reason code) taşınır. Örneğin AC01 hesap/IBAN hatalı, AM04 yetersiz bakiye, MD01 geçerli yetki yok anlamına gelir. Bankanız size gösterdiği açıklamanın arkasında genelde bu kod vardır; tam karşılığını görmek için durum ve hata kodu çözücü aracımızı kullanabilirsiniz.
pain.002 durum kodlarının hepsi hata mı demek?
Hayır. RJCT dışındaki durumlar hata değildir. RCVD (alındı), ACTC/ACCP (biçim ve içerik kabul edildi), ACSP (işleme alındı), ACSC (mutabakat tamamlandı) başarı yolundaki normal aşamalardır. PDNG (beklemede) geçici bir bekleme, PART kısmi kabul demektir. Yalnızca RJCT gerçek bir reddi ifade eder.
pacs.008 ile pain.002 aynı şey mi?
Hayır. pain.002 müşteri ile bankası arasındaki (customer-to-bank) durum raporudur. pacs.008 ise bankalar arasındaki (bank-to-bank) SEPA kredi transferi mesajıdır — yani sizin talimatınız bankanız tarafından karşı bankaya iletilirken kullandığı format. pain.002 size gelir; pacs mesajları arka planda bankalar arasında akar ve normalde son kullanıcı bunları görmez.
Kaynaklar
Güven seviyeleri A (resmî belge) → E (doğrulanmamış) arasında derecelendirilir.
ISO 20022 mesaj standartları (pain / camt)
ISO 20022 Registration Authority
- Belge tarihi:
- 2025
- Son kontrol:
- 2026-07-16
SEPA şema kuralları ve coğrafi kapsam (SEPA scheme rulebooks & scope)
European Payments Council (EPC)
- Belge tarihi:
- 2025
- Son kontrol:
- 2026-07-16