abcaeffchen / sephpa
Generates SEPA files for credit transfers (pain.001.001.03, pain.001.002.03, pain.001.003.03) and direct debit (pain.008.001.02, pain.008.002.02, pain.008.003.02)
Fund package maintenance!
AbcAeffchen
Installs: 1 007 286
Dependents: 0
Suggesters: 2
Security: 0
Stars: 71
Watchers: 10
Forks: 32
Open Issues: 4
Requires
- php: >=7.1
- ext-simplexml: *
- ext-xml: *
- abcaeffchen/sepa-utilities: ^1.3.4
Requires (Dev)
- ext-dom: *
- ext-zip: *
- abcaeffchen/sepa-documentor: ^2.0
- phpunit/phpunit: ^9 || ^8 || ^7
Suggests
- ext-zip: Needed to store or download multiple files at once.
- abcaeffchen/sepa-documentor: ^2.0
This package is auto-updated.
Last update: 2024-11-30 01:47:00 UTC
README
Sephpa - A PHP class to export SEPA files
General
Sephpa [sefa] is a PHP class that creates SEPA XML files. The created XML files fulfill the specifications of Electronic Banking Internet Communication Standard (EBICS).
Supported file versions
- SEPA Credit Transfer
- pain.001.001.03
- pain.001.002.03
- pain.001.003.03
- SEPA Direct Debit
- pain.008.001.02
- pain.008.001.02.austrian.003
- pain.008.002.02
- pain.008.003.02
Requirements
Sephpa was created for PHP >=7.1 including PHP 8 and requires SepaUtilities 1.3.4+ and SimpleXML. Sephpa should also work with PHP <=5.6, but since these versions are very old and don't get any security updates, it is strongly recommended not to use PHP older than 5.6.
If you want to download correctly sorted files, you also need the zip library and for documentation files you need SepaDocumentor.
Installation
Composer
Just add
{ "require": { "abcaeffchen/sephpa": "^2.0" } }
to your composer.json
and include the Composer autoloader to your script.
Direct download
You can download Sephpa from this GitHub page. Make sure you also download SepaUtilities. You should store the files in a structure that looks like this:
your project root
├── your_code
│ └── ...
└── vendor
├── Sephpa (the Sephpa project go here)
├── SepaUtilities (the SepaUtilities files go here)
└── ...
In your code you can include the Sephpa autoloader by including the file
vendor/Sephpa/src/autoloader.php
You also need to include the SepaUtilities file which should be
vendor/SepaUtilities/src/SepaUtilities.php
In total your code should look something like this:
require PROJECT_ROOT . '/vendor/Sephpa/src/autoloader.php';
require PROJECT_ROOT . '/vendor/abcaeffchen/sepa-utilities/src/SepaUtilities.php';
You need to define PROJECT_ROOT
by yourself.
Documentation Module
Sephpa uses SepaDocumentor to create File Routing Slips and Control Lists. If you are interested in this files you need to add
{
"require": {
"abcaeffchen/sepa-documentor": "^1.0"
}
}
to your composer file or download it from the website and make it available to Sephpa.
Disclaimer
Sephpa is not meant to teach you SEPA. If you want to learn more about SEPA or SEPA files, you should ask your bank for help. You use this library at your own risk and I assume no liability if anything goes wrong. You are supposed to check the files before handing them to your bank.
Documentation
Have a look at the wiki pages for the documentation and examples.
Credits
Thanks to Hermann Herz who supported me debugging and with great
ideas to improve Sephpa and SepaUtilities.
Thanks to sargac for the help with the wiki pages and for creating
the nice logo.
Support Sephpa
If you use and like Sephpa, drop me a note on what project you use it. I'm really curious. If you like it a lot, consider buying me a coffee :)
License
Licensed under the LGPL v3.0 License.