Module: SEPA::Profiles::EPC
- Defined in:
- lib/sepa_rator/profiles/epc.rb
Overview
EPC (European Payments Council) SEPA profiles. These reuse the ISO XSDs but tighten them with the EPC rulebook (EUR only, explicit SvcLvl=SEPA, charge bearer SLEV, CORE/B2B local instrument for SDD).
The acceptance lambdas themselves live in ISO::CT_EPC_RULES and
ISO::DD_EPC_RULES (defined first in load order) — we simply reuse
them here so a bugfix in one place flows to both the ISO AOS variants
(pain.001.002.03, pain.001.003.03, …) and the EPC-flavoured
wrappers around pain.001.001.09/.13 and pain.008.001.08/.12.
EPC sits between ISO and the national layers (CFONB, DK/DFÜ). Country profiles that carry SEPA semantics compose from EPC, not from ISO.
The SEPA character set is enforced at assignment time by the Converter
DSL (text sanitisation), so no dedicated validator is needed here.
Constant Summary collapse
- SCT_03 =
─── SEPA Credit Transfer ────────────────────────────────────────────
ProfileRegistry.register( ISO::SCT_03.with(id: 'epc.sct.03', accept_transaction: ISO::CT_EPC_RULES) )
- SCT_09 =
ProfileRegistry.register( ISO::SCT_09.with(id: 'epc.sct.09', accept_transaction: ISO::CT_EPC_RULES) )
- SCT_13 =
ProfileRegistry.register( ISO::SCT_13.with(id: 'epc.sct.13', accept_transaction: ISO::CT_EPC_RULES) )
- SDD_02 =
─── SEPA Direct Debit ───────────────────────────────────────────────
ProfileRegistry.register( ISO::SDD_02.with(id: 'epc.sdd.02', accept_transaction: ISO::DD_EPC_RULES) )
- SDD_08 =
ProfileRegistry.register( ISO::SDD_08.with(id: 'epc.sdd.08', accept_transaction: ISO::DD_EPC_RULES) )
- SDD_12 =
ProfileRegistry.register( ISO::SDD_12.with(id: 'epc.sdd.12', accept_transaction: ISO::DD_EPC_RULES) )