Pain001 به فارسی

Pain001: آغاز پرداخت ISO 20022 متن‌باز

مجموعهٔ متن‌بازی که داده‌های پرداخت شما را به XML اعتبارسنجی‌شدهٔ ISO 20022 تبدیل می‌کند و پیش از رسیدن به بانک، درستی‌اش را اثبات می‌کند.

خطاهای فایل‌های پرداخت را زودتر از بانک خود پیدا کنید#

Pain001 یک مجموعهٔ متن‌باز Python برای آغاز پرداخت طبق ISO 20022 است. داده‌هایی را که همین حالا دارید (CSV، Excel، SQLite، JSON، Parquet یا پیام‌های قدیمی SWIFT MT101) به XML از نوع pain.001 (انتقال وجه) و pain.008 (برداشت مستقیم) تبدیل می‌کند، اعتبارسنجی‌شده با اسکیماهای رسمی XSD.

هر فایل پیش از نوشته‌شدن از سه لایهٔ اعتبارسنجی می‌گذرد: اسکیمای JSON برای هر رکورد (شامل بررسی mod-97 برای IBAN و ساختار BIC)، قواعد scheme (SEPA و CBPR+ برون‌مرزی) و اعتبارسنجی نهایی XSD. جمع‌های کنترلی دوباره محاسبه می‌شوند و هرگز کپی نمی‌شوند. همه‌چیز به‌صورت محلی اجرا می‌شود: هیچ دادهٔ پرداختی از زیرساخت شما خارج نمی‌شود.

در مرورگر امتحان کنید#

یک دستهٔ نمونه را مستقیماً در مرورگر اعتبارسنجی کنید (چیزی بارگذاری نمی‌شود) و نتیجه را با اسکیمای رسمی XSD اثبات کنید: Pain001 را امتحان کنید. فایل‌های CSV نمونه به‌عنوان الگو برای خروجی‌های شما قابل دانلود است.

مهلت نشانی ساخت‌یافته که به تعویق افتاد#

پس از پایان هم‌زیستی MT–MX در ۲۲ نوامبر ۲۰۲۵، گام بعدی برای ۱۴ نوامبر ۲۰۲۶ برنامه‌ریزی شده بود: CBPR+ نشانی‌های پستی کاملاً بدون ساختار را رد می‌کرد و رلهٔ بین‌بانکی MT101 با pain.001 نسخهٔ ۹ جایگزین می‌شد. در اوت ۲۰۲۶، Swift هر دو تغییر را به تعویق انداخت و تاریخ‌های جدید را تا دسامبر ۲۰۲۶ اعلام خواهد کرد؛ خودِ الزامات به قوت خود باقی‌اند. Pain001 از هم‌اکنون نشانی‌های ساخت‌یافته و ترکیبی را پشتیبانی می‌کند و MT101 شما را با یک فرمان تبدیل می‌کند.

شروع کنید#

pip install pain001
pain001 -t pain.001.001.09 -d payments.csv -o out/ --dry-run

بیشتر: راهنمای نصب، مرجع فنی، نقشهٔ راه ISO 20022 تا ۲۰۲۸، کدهای رد pain.002، مرکز اعتماد و خلاصهٔ مدیریتی. مستندات کامل به انگلیسی است. مجوز دوگانهٔ Apache-2.0 / MIT؛ استفادهٔ تجاری آزاد در هر مقیاسی.