Add pain.001.001.09 and pain.008.001.08#117
Add pain.001.001.09 and pain.008.001.08#117tobischo wants to merge 3 commits intosalesking:masterfrom
Conversation
|
Hello @tobischo -> What's the status of this PR? Should we merge it anytime soon? cc @ledermann |
|
As far as I am concerned it is ready. |
|
@tobischo Addressing this then:
does this bothered you in production for v9 sepa_xml ? |
|
Not so far, but we also didn't need instant payment support. For regular sepa credit transfers, date is sufficient. For supporting sepa instant transfers, date time would be required. That is why I highlighted that I skipped it. It needs to be clear that it is a limitation and for you to decide if you would want to merge the change as is or whether you'd require it to be added before merging. |
….001.12 support - Add support for ISO 20022 newer schema versions (.09/.13 for credit transfers, .08/.12 for direct debits) using official ISO XSDs - Use BICFI element instead of BIC for newer schemas (ISO renaming) - Use nested ReqdExctnDt/Dt structure for pain.001.001.09+ - Fix PR #117 bug: use group[:account].bic (not account.bic) in direct_debit.rb CdtrAgt block to preserve per-group creditor BIC - Add 24 new XSD validation tests (228 total, 0 failures, 100% coverage) - Include AUDIT.md with comprehensive gem audit findings
Ruby 3.2 is only end of life since March 2026, so probably still used Rails 6.1 is end of life since 2024
|
@MerciMax maybe worth looking at AdVitam/sepa_rator#1 The bug mentioned in there I also addressed here. We could introduce the newer formats directly as well or leave it for a separate change. Since tests started failing for ActiveModel 6.1 I updated the ruby and active model versions to cover some that are maybe only somewhat recently end of life: https://endoflife.date/rails, https://endoflife.date/ruby Regarding sepa instant payments, I would suggest adding a |
This pull request adds support for generating pain.001.001.09 and pain.008.001.08 files.
The relevant difference is surprisingly small.
For pain.001.001.09 the difference for the requested execution date is that it now supports date and date time for facilitating instant transfers eventually. In this pull request I skipped the changes to allow passing a time or date time value instead of the date. It should be a relatively simple addition, however it does require adapting the
validate_requested_date_afterfunction to a higher degree than I would want to add in this pull request.I would appreciate any feedback on this