Hazine yöneticileri, ödeme operasyonları, mühendisler ve denetçiler için net yanıtlar. Sorular, insanların gerçekten sorduğu biçimde ifade edilmiştir. Daha derin teknik ayrıntı için Teknik Referans sayfasına bakın.
Hazine ve finans liderleri için#
Tek paragrafta pain.001 nedir?
pain.001, bir müşterinin havale başlatmak için bankasına gönderdiği ISO 20022 mesajıdır — SWIFT MT101 ve yerel düz dosya biçimlerinin XML halefi. Bankanız, dosyayı kabul etmeden önce bir şemaya ve bir şema kural kitabına göre doğrular. Pain001 (yazılım) bu dosyaları zaten elinizde olan verilerden üretir ve göndermeden önce geçerli olduklarını kanıtlar.
pain.001 ile pain.008 arasındaki fark nedir?
Akışın yönü. pain.001 havaleleri başlatır — parayı dışarı gönderirsiniz. pain.008 otomatik ödemeleri (direct debit) başlatır — bir yetki belgesi kapsamında size borçlu olunan parayı tahsil edersiniz. Pain001 her ikisini de üretir: pain.001'in on sürümü (.001.03'ten .001.12'ye) ve pain.008.001.02.
Hâlâ MT101 dosyaları gönderiyoruz. Geçiş ne kadar acil?
Acil. SWIFT, sınır ötesi bankalar arası ödeme talimatları için MT kategori 1, 2 ve 9 mesajlarını Kasım 2025'te emekliye ayırdı; MT'yi hâlâ kabul eden kurumsal kanallar bunu her bankanın kendi takdiriyle ve ödünç alınmış zamanla yapıyor. MT101 yükleyicisi, mevcut MT101 akışlarını hiçbir şeyi yeniden girmeden doğrulanmış pain.001'e dönüştürür.
Kasım 2026 yapılandırılmış adres son tarihi bizim için ne anlama geliyor?
Kasım 2026 sonundan itibaren, tamamen yapılandırılmamış posta adresleri CBPR+ sınır ötesi ödemelerde artık kabul edilmiyor; adresler yapılandırılmış veya hibrit olmalı — serbest metin satırları yerine şehir () ve ülke () gibi ayrık öğeler. Ana verileriniz adresleri tek parça metin olarak tutuyorsa, iş banka bağlantınızda değil verilerinizdedir. Oradan başlayın. 2026 brifingi zaman çizelgesini ayrıntılı olarak ele alır.
Pain001'in maliyeti nedir?
Hiçbir şey. Çekirdek, Apache-2.0 / MIT çift lisanslıdır; yardımcı paketler Apache-2.0'dır. Ticari kullanım, değiştirme ve yeniden dağıtımın tümü serbesttir. Ölçek için: yalnızca SWIFT'in çeviri SDK'sının liste fiyatı yılda €10,000–30,000'dir.
Ödeme operasyonları için#
Bankalar ödeme dosyalarını neden reddeder?
Dört yinelenen neden: şema ihlalleri (yanlış öğe, yanlış sürüm, yanlış ad alanı), hatalı tanımlayıcılar (IBAN sağlama toplamı hataları, bozuk BIC'ler), tutarsız kontrol toplamları (NbOfTxs / CtrlSum işlemlerle eşleşmiyor) ve ISO 20022 Latin kümesi dışındaki karakterler. Pain001, dördünü de dosya var olmadan önce denetler: kayıt başına JSON Schema doğrulaması, mod-97 IBAN ve ISO 9362 BIC denetimleri, yeniden hesaplanan kontrol toplamları, karakter kümesi harf çevirisi ve üretilen XML'in son XSD doğrulaması.
Hiçbir şey üretmeden bir dosyayı doğrulayabilir miyiz?
Evet — pain001 --dry-run (veya validate alt komutu ya da POST /api/v1/validate). Çıkış kodu 0 geçerli demektir; 1, doğrulamanın alan düzeyinde hatalarla başarısız olduğu anlamına gelir. CI'a veya gönderim öncesi kontrol listesine bağlayın.
Hangi SEPA kural kitapları kapsanıyor?
Beş şema kural kitabı yerleşik olarak gelir: SEPA Credit Transfer (sepa-sct), SEPA Instant (sepa-inst), SEPA Direct Debit Core (sepa-sdd), SEPA B2B (sepa-b2b) ve sınır ötesi havale (xborder-ct). Geçen veya başarısız olan her kuralı görmek için --scheme kullanın.
Verilerimiz Excel'de. Sorun nerede?
Excel, IBAN benzeri dizeleri sessizce sayılara dönüştürür. Excel yükleyicisi, .xlsx/.xlsm dosyalarını doğrudan okur ve IBAN sütunları sayısal hücreler içeriyorsa işlemi durdurur — bozulma bankada değil, yükleme anında yakalanır.
500,000 satırlık bir partiyi nasıl işler?
--streaming, girdiyi bellek sınırlı parçalar halinde işler (varsayılan 1,000 işlem); her parça, doğru şekilde yeniden hesaplanmış kontrol toplamlarıyla kendi XML dosyası olarak üretilir. REST API, aynı nedenle iş sorgulamalı POST /api/v1/generate/async sunar.
Mühendisler ve mimarlar için#
Nasıl entegre ederiz — kütüphane, CLI mi, API mi?
Üçü de birinci sınıf yüzey olarak mevcuttur: tipli bir Python API, CI dostu çıkış kodlarına sahip bir CLI ve eşzamanlı, eşzamansız iş, sağlık ve Prometheus metrik uç noktalarına sahip bir FastAPI mikroservisi (pain001 serve). Altta aynı doğrulama hattı çalışır; bu nedenle sonuçlar yüzeyler arasında asla farklılaşmaz.
XML üretimi kayan nokta yuvarlamasına karşı gerçekten güvenli mi?
Tutarlar, üretimde ve şema doğrulamasında uçtan uca decimal.Decimal'dir — tam ondalık olarak ayrıştırılır, tam ondalık olarak toplanır, kayan nokta gösterimi olmadan yazılır. Kontrol toplamları doğrulanmış kayıtlardan yeniden hesaplanır, asla girdiden alınmaz.
Güvenlik duruşu nedir?
Tüm XML ayrıştırması defusedxml üzerinden geçer (XXE ve varlık genişletme saldırılarını engeller); bağımlılık ağacında lxml yoktur. Girdiler bir yol geçişi (path traversal) doğrulayıcısından geçer. Docker imajı root olmayan kullanıcıyla çalışır. Çekirdek sürümler için CycloneDX SBOM üretilir ve üçüncü taraf eklenti keşfi PAIN001_DISABLE_PLUGINS=1 ile tamamen kapatılabilir.
Kalite nasıl güvence altına alınır?
Çekirdekte katı bir CI kapısı olarak %100 satır ve dal kapsamı (doğrulanabilir biçimde: %100'de 3,828 satır, 926 dal), katı mypy, %100 docstring kapsamı, Bandit ve pip-audit güvenlik denetimi ve CodeQL taraması. Yardımcı paketler de aynı %100 kapsam disiplinini taşır.
Tescilli bir biçim için genişletebilir miyiz?
Evet — dört eklenti giriş noktası grubu (pain001.loaders, pain001.validators, pain001.schemes, pain001.writers). Excel yükleyicisi, genel protokolü kullanan bir eklenti olduğundan aynı zamanda bir referans uygulama işlevi görür.
Denetçiler ve uyum için#
Geçen çeyrekte üretilmiş bir dosyayı yeniden üretebilir miyiz?
Evet. Paket sürümünü sabitleyin, aynı girdiyi yeniden çalıştırın; çıktı deterministiktir. Araç zinciri açık kaynak olduğundan denetim izi kod yolunun kendisine kadar uzanır — yalnızca bir tedarikçi beyanıyla sınırlı kalmaz.
Ödeme verileri ortamımızdan dışarı çıkıyor mu?
Hayır. Her bileşen — CLI, kütüphane, REST API, MCP sunucusu, LSP — yerel olarak çalışır. Telemetri, SaaS geri çağrısı veya harici doğrulama servisi yoktur. MCP sunucusu yalnızca stdio üzerinden konuşur ve 17 aracının tamamı salt okunur ve idempotent olarak işaretlenmiştir.
Pain001'i kim sürdürüyor?
Londra merkezli bir fintech mühendislik lideri olan Sebastien Rousseau, topluluk katkıcılarıyla birlikte. Geliştirme GitHub'da halka açıktır, sürümler PyPI'da yayımlanır ve değişiklik günlüğü her sürümle birlikte sürümlenir.