Amsoshi kai tsaye ga masu baitulmali, ayyukan biyan kuɗi, injiniyoyi da masu bincike. An tsara tambayoyin kamar yadda mutane ke yin su da gaske. Don ƙarin bayani na fasaha, duba Jagorar Fasaha.
Ga shugabannin baitulmali da kuɗi#
Menene pain.001, a sakin layi ɗaya?
pain.001 shi ne saƙon ISO 20022 da abokin ciniki ke aikawa bankinsa domin fara tura kuɗi — magajin XML ga tsare-tsare kamar SWIFT MT101 da fayilolin gida masu layi ɗaya. Bankinka yana tantance shi bisa schema da littafin ƙa'idar tsari kafin ya karɓe shi. Pain001 (manhajar) tana samar da waɗannan fayilolin daga bayanan da kake da su, tana kuma tabbatar da ingancinsu kafin ka gabatar da su.
Menene bambanci tsakanin pain.001 da pain.008?
Alkiblar kuɗin ce ta bambanta. pain.001 yana fara tura kuɗi — kana fitar da kuɗi. pain.008 yana fara cirar kuɗi kai tsaye — kana karɓar kuɗin da ake binka bisa izini. Pain001 tana samar da su duka: sigogi goma na pain.001 (daga .001.03 zuwa .001.12) da pain.008.001.02.
Har yanzu muna aika fayilolin MT101. Yaya gaggawar sauyawa take?
Gaggawa ce. SWIFT ta janye saƙonnin MT na rukunin 1, 2 da 9 don umarnin biyan kuɗi tsakanin bankuna a ƙasashen waje a watan Nuwamba 2025; hanyoyin kamfanoni da suke har yanzu karɓar MT suna yin hakan bisa ra'ayin kowane banki kuma na ɗan lokaci ne. Loader ɗin MT101 yana juya hanyoyin MT101 da kake da su zuwa pain.001 da aka tantance ba tare da sake shigar da komai ba.
Me wa'adin adireshi mai tsari na Nuwamba 2026 ke nufi a gare mu?
Daga ƙarshen Nuwamba 2026, ba za a ƙara karɓar adiresoshin gidan waya marasa tsari gaba ɗaya a biyan kuɗi tsakanin ƙasashe na CBPR+ ba; dole adireshi ya kasance mai tsari ko haɗaɗɗe — sassa daban-daban kamar gari () da ƙasa () maimakon layukan rubutu kyauta. Idan bayananku na asali suna riƙe da adiresoshi a matsayin rubutu guda, aikin yana cikin bayananku ne, ba a haɗin bankinku ba. Ku fara daga can. Takaitaccen bayanin 2026 ya yi bayanin lokutan dalla-dalla.
Nawa ne kuɗin Pain001?
Ba kome. Tushen yana da lasisi biyu na Apache-2.0 / MIT; ƙarin fakitocin suna ƙarƙashin Apache-2.0. An ba da izinin amfani na kasuwanci, gyarawa da sake rarrabawa. A matsayin ma'auni na kwatanta, SDK na fassara na SWIFT kaɗai yana kan €10,000–30,000 a shekara.
Ga masu ayyukan biyan kuɗi#
Me ya sa bankuna ke ƙin fayilolin biyan kuɗi?
Dalilai huɗu ne ke maimaituwa: karya ƙa'idar schema (kuskuren sashe, kuskuren siga, kuskuren namespace), alamun ganewa marasa kyau (faɗuwar checksum na IBAN, BIC marasa tsari), jimillolin sarrafawa da suka ɓaci (NbOfTxs / CtrlSum da ba su dace da mu'amaloli ba), da haruffa a wajen tarin Latin na ISO 20022. Pain001 tana duba dukkan huɗun kafin fayil ya kasance: tantance JSON Schema ga kowane rikodi, duban IBAN da mod-97 da na BIC da ISO 9362, sake ƙidaya jimillolin sarrafawa, canza haruffa, da tantancewar XSD ta ƙarshe ga XML ɗin da aka samar.
Za mu iya tantance fayil ba tare da ƙirƙirar komai ba?
Eh — pain001 --dry-run (ko ƙaramin umarnin validate, ko POST /api/v1/validate). Lambar fita 0 na nufin fayil ɗin yana da inganci; 1 na nufin tantancewa ta faɗi tare da kurakurai a matakin filaye. Ka haɗa shi cikin CI ko cikin jerin duba kafin gabatarwa.
Waɗanne littattafan ƙa'ida na SEPA ake tallafawa?
Littattafan ƙa'idar tsari guda biyar suna zuwa a ciki: SEPA Credit Transfer (sepa-sct), SEPA Instant (sepa-inst), SEPA Direct Debit Core (sepa-sdd), SEPA B2B (sepa-b2b), da tura kuɗi tsakanin ƙasashe (xborder-ct). Yi amfani da --scheme don ganin kowace ƙa'ida da ta ci nasara ko ta faɗi.
Bayananmu suna cikin Excel. Ina matsalar?
Excel yana juya rubutun da yake kama da IBAN zuwa lambobi a shiru. Loader ɗin Excel yana karanta .xlsx/.xlsm kai tsaye kuma yana tsayawa nan take idan ginshiƙan IBAN suna ɗauke da sel na lambobi — ana kama lalacewar a lokacin ɗorawa, ba a banki ba.
Yaya yake sarrafa tari mai layuka 500,000?
--streaming yana sarrafa shigarwa a gutsuttsura masu iyakancewar ƙwaƙwalwa (tsoho: mu'amala 1,000), kuma ana fitar da kowanne a matsayin fayil ɗin XML nasa tare da jimillolin sarrafawa da aka sake ƙidayawa daidai. REST API tana bayar da POST /api/v1/generate/async tare da duba matsayin aiki saboda dalili guda.
Ga injiniyoyi da masu ƙirar tsari#
Yaya za mu haɗa shi — ɗakin karatu, CLI, ko API?
Dukkan ukun suna nan a matsayin manyan hanyoyi: Python API mai nau'ika bayyanannu, CLI mai lambobin fita da suka dace da CI, da ƙaramar hidimar FastAPI (pain001 serve) mai endpoints na aiki kai tsaye, na aikin async, na lafiya, da na ma'aunan Prometheus. Tsarin tantancewa ɗaya ne a ƙasa, don haka sakamako ba ya taɓa bambanta tsakanin hanyoyin.
Shin ƙirƙirar XML tana da tsaro daga zagaye lambobi na float da gaske?
Kuɗaɗe suna kasancewa decimal.Decimal daga farko zuwa ƙarshe a ƙirƙira da tantance tsari — ana karanta su a matsayin lambobin goma cikakku, a haɗa su a matsayin lambobin goma cikakku, kuma a fitar da su ba tare da wakilcin float ba. Ana sake ƙidaya jimillolin sarrafawa daga rikodin da aka tantance, ba a taɓa dogara ga shigarwa ba.
Yaya tsarin tsaro yake?
Dukkan karanta XML yana wucewa ta defusedxml (yana toshe hare-haren XXE da faɗaɗa entity); babu lxml a cikin itacen dogaro. Shigarwa tana wucewa ta mai tantance hanyar fayil. Hoton Docker yana aiki ba a matsayin root ba. Ana samar da SBOM na CycloneDX ga fitarwar tushe, kuma ana iya kashe gano plugins na waje gaba ɗaya da PAIN001_DISABLE_PLUGINS=1.
Yaya ake tabbatar da inganci?
Rufin gwaji na kashi 100% na layuka da na rassa a matsayin ƙofa mai tsauri a CI kan tushen (a tabbatacce: layuka 3,828, rassa 926 kan 100%), tsauraran mypy, kashi 100% na docstring, binciken tsaro na Bandit da pip-audit, da binciken CodeQL. Ƙarin fakitocin suna riƙe da wannan ka'idar ta kashi 100% ɗin.
Za mu iya faɗaɗa shi don wani tsari na kanmu?
Eh — akwai ƙungiyoyin shiga huɗu na plugin (pain001.loaders, pain001.validators, pain001.schemes, pain001.writers). Loader ɗin Excel shi kansa plugin ne da ke amfani da yarjejeniyar jama'a, don haka yana aiki kuma a matsayin misalin aiwatarwa.
Ga masu bincike da bin ƙa'ida#
Za mu iya sake samar da fayil ɗin da aka ƙirƙira a kwata da ya wuce?
Eh. Ka ƙayyade sigar fakitin, ka sake gudanar da shigarwa iri ɗaya, fitarwar kuwa ba za ta sauya ba. Tunda kayan aikin buɗaɗɗen tushe ne, hanyar binciken tana kaiwa har cikin lambar kanta — ba kawai takardar shaida ta mai sayarwa ba.
Shin bayanan biyan kuɗi suna barin muhallinmu?
A'a. Kowane sashe — CLI, ɗakin karatu, REST API, sabar MCP, LSP — yana aiki a cikin gida. Babu telemetry, babu kiran SaaS, babu hidimar tantancewa ta waje. Sabar MCP tana magana ta stdio kaɗai kuma an yiwa dukkan kayan aikinta 17 alamar karantawa kaɗai da rashin canja yanayi.
Wa ke kula da Pain001?
Sebastien Rousseau, shugaban injiniyanci na fintech mazaunin London, tare da masu ba da gudummawa daga al'umma. Ana gudanar da ci gaban a bayyane a GitHub, ana buga fitarwa a PyPI, kuma ana yiwa tarihin canje-canje siga a kowace fitarwa.