dvsoftsrl / php-cbi-xml
Fluent builder for CBI CBIPaymentRequest.00.04.01 with XML export
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/dvsoftsrl/php-cbi-xml
Requires
- php: >=8.1
- ext-dom: *
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.5
README
Fluent builder per generare flussi di bonifico CBI conformi a PaymentRequest.00.04.01 ed esportarli in XML.
Installazione
composer require dvsoftsrl/php-cbi-xml
Utilizzo
use DvSoft\PhpCbiXml\Support\Facade; $request = Facade::createPaymentRequest('CBIPaymentRequest.00.04.01'); // initiatingPartyCUC (CUC CBI) e debtorAgentMemberId (ABI) sono OBBLIGATORI Facade::addPaymentInfo($request, 'pagamentoFatture', [ 'id' => date('d/m/y-H.i'), 'debtorName' => 'AZIENDA DEBITORE', 'debtorAccountIBAN' => 'IT14O0300203280547974125187', 'batchBooking' => true, 'requestedExecutionDate' => '2025-01-02', 'initiatingPartyName' => 'AZIENDA DEBITORE', 'initiatingPartyCUC' => '0123456Z', // CUC CBI // opzionale: issuer per InitgPty/Id/OrgId/Othr // 'initiatingPartyIssuer' => 'CBI', 'debtorAgentMemberId' => '03069012345', // ABI banca debitore ]); Facade::addTransfer($request, 'pagamentoFatture', [ 'amount' => 12345, // centesimi 'creditorIban' => 'IT26W0300203280876486588966', 'creditorName' => 'ALFA SRL', 'remittanceInformation' => 'Pagamento fattura 123 del 01/01/2025', ]); $xml = Facade::asXML($request);
Utilizzo senza Facade
use DvSoft\PhpCbiXml\PaymentRequest\PaymentRequest; use DvSoft\PhpCbiXml\PaymentRequest\PaymentInfo; use DvSoft\PhpCbiXml\PaymentRequest\Transfer; $request = PaymentRequest::create('CBIPaymentRequest.00.04.01'); $pmtInfo = new PaymentInfo('id-pag', 'AZIENDA DEBITORE', 'IT14O0300203280547974125187'); $pmtInfo->setRequestedExecutionDate('2025-01-02'); $pmtInfo->setInitiatingParty('AZIENDA DEBITORE', '0123456Z'); // CUC CBI obbligatorio $pmtInfo->setDebtorAgentMemberId('03069012345'); // ABI obbligatorio $request->addPaymentInfo('pagamentoFatture', $pmtInfo); $transfer = new Transfer(12345, 'IT26W0300203280876486588966', 'ALFA SRL', 'Pagamento fattura 123 del 01/01/2025'); $request->addTransfer('pagamentoFatture', $transfer); $xml = $request->asXML();
Estendibilità
La libreria è progettata per supportare nuovi tracciati aggiungendo nuovi generatori e modelli sotto src/
.
PaymentRequest.00.04.01 è il primo tracciato supportato.
Test
composer install vendor/bin/phpunit