bolovsky / sepa-xml
为单一欧元支付区域(SEPA)信用转账创建XML文件。修改了原始版本以兼容葡萄牙标准
0.10.1
2013-12-19 21:05 UTC
Requires
- php: >=5.3.2
This package is not auto-updated.
Last update: 2024-09-24 01:36:00 UTC
README
PHP的SEPA文件生成器。
为单一欧元支付区域(SEPA)信用转账和直接借记创建XML文件。
许可证:GNU Lesser General Public License v3.0
遵循的标准版本是: pain.001.001.03 和 pain.008.001.02
应接受此格式的机构和协会
- 葡萄牙银行
但是,在使用之前,请始终验证生成的文件与您的银行!
##安装 ###Composer 该库在packagist.org可用,您可以通过Composer将其添加到项目中。
在您的composer.json文件的"require"部分
始终是最新的(前沿,API 不 保证稳定)
"bolovsky/sepa-xml" : "dev-master"
没有命名空间,只有错误修复
"digitick/sepa-xml" : "dev-no_namespace"
##示例用法使用工厂的DirectDebit
//Set the initial information $directDebit = TransferFileFacadeFactory::createDirectDebit('test123', 'Me'); // create a payment, it's possible to create multiple payments, // "firstPayment" is the identifier for the transactions $directDebit->addPaymentInfo('firstPayment', array( 'id' => 'firstPayment', 'creditorName' => 'My Company', 'creditorAccountIBAN' => 'FI1350001540000056', 'creditorAgentBIC' => 'PSSTFRPPMON', 'seqType' => PaymentInformation::S_ONEOFF, 'creditorId' => 'DE21WVM1234567890' )); // Add a Single Transaction to the named payment $directDebit->addTransfer('firstPayment', array( 'amount' => '500', 'debtorIban' => 'FI1350001540000056', 'debtorBic' => 'OKOYFIHH', 'debtorName' => 'Their Company', 'debtorMandate' => 'AB12345', 'debtorMandateSignDate' => '13.10.2012', 'remittanceInformation' => 'Purpose of this direct debit' )); // Retrieve the resulting XML $directDebit->asXML();
##扩展用法Credit Transfer
// Create the initiating information $groupHeader = new GroupHeader('SEPA File Identifier', 'Your Company Name'); // Some portuguese banks require Fiscal Identification Number as Id $groupHeader->setInitiatingPartyId("123456789"); $sepaFile = new CustomerCreditTransferFile($groupHeader); $transfer = new CustomerCreditTransferInformation( '0.02', // Amount 'FI1350001540000056', //IBAN of creditor 'Their Corp' //Name of Creditor ); $transfer->setBic('OKOYFIHH'); // Set the BIC explicitly $transfer->setRemittanceInformation('Transaction Description'); $sepa_transfer->setCode("SCOR"); // transaction code for this specific transfer, according to annex 5 (ISO codes billing/transfer reasons) $sepa_transfer->setReference("INV20140101A-033"); // reference number to descript this transaction, i.e. an invoice // Create a PaymentInformation the Transfer belongs to $payment = new PaymentInformation( 'Payment Info ID', 'FR1420041010050500013M02606', // IBAN the money is transferred from 'PSSTFRPPMON', // BIC 'My Corp' // Debitor Name ); // It's possible to add multiple Transfers in one Payment $payment->addTransfer($transfer); // It's possible to add multiple payments to one SEPA File $sepaFile->addPaymentInformation($payment); // Attach a dombuilder to the sepaFile to create the XML output $domBuilder = DomBuilderFactory::createDomBuilder($sepaFile); $domBuilder->asXml();