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

1.0.3 2025-10-09 10:27 UTC

This package is auto-updated.

Last update: 2025-10-09 10:28:07 UTC


README

Fluent builder per generare flussi di bonifico CBI conformi a PaymentRequest.00.04.01 ed esportarli in XML.

Latest Version on Packagist GitHub Tests Action Status Total Downloads

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