fabfuel / sephpa
PHP库,用于创建直接扣款交易的SEPA XML文档
Requires
- php: >=5.4
- orangecloud/simple-xml-extended: 1.*
This package is not auto-updated.
Last update: 2017-06-22 08:24:50 UTC
README
PHP库,用于创建直接扣款交易的SEPA XML文档。
需求
- Composer
安装
- 运行
`composer install`
来安装依赖项并生成autoload.php
使用
1. 创建配置
首先,我们必须定义一些变量并创建一个配置实例
使用.ini配置文件
创建一个配置文件(例如 `config/application.ini`
)来定义您的公司名称、IBAN、BIC和债权人ID。您可以使用`config/_application.ini`
作为模板。通过`\Sephpa\Config\ConfigIni('config/application.ini')`
创建配置实例
不使用配置文件
通过`\Sephpa\Config\ConfigInline($name, $iban, $bic, $creditorId)`
创建配置实例
2. 创建文件
接下来,我们必须创建一个文件实例,最终将生成一个XML文件。
根据ebics规范[http://www.ebics.de],一个文件可以包含多个支付(例如,具有不同的到期日或序列类型如"first"或"recurring"的支付),但某些银行不支持这一点。如果您有具有不同到期日或序列类型的交易,您可能必须为每个支付创建一个单独的文件。
3. 创建支付
接下来创建支付实例,定义序列类型和到期日,并将支付添加到文件中。
4. 创建交易
最后一步是创建一个或多个交易并将它们添加到相应的支付中。
在交易中,您定义客户的姓名、IBAN、BIC、其授权参考和签名日期、交易金额、主题(这将显示在客户的账户对账单上)和一个参考,该参考用作"端到端ID"(这可能对客户可见)。
5. 解析并保存XML文件
最后一步是解析/编译XML并将其保存到文件中。
请参阅借记示例以了解一个交易的全示例。
借记示例
:::php
$configuration = new ConfigIni('config/application.ini');
$file = new File($configuration);
$payment = new PaymentDebit(
$configuration,
PaymentDebit::SEQUENCE_TYPE_FIRST,
new DateTime('2013-12-20')
);
$file->addPayment($payment);
$debit = new Debit();
$debit
->setName('Customer #1')
->setIban('DE12123456781234567890')
->setBic('BANKDEXXXXX')
->setMandateReference('MANDATE')
->setMandateReferenceSignDate('2013-12-01')
->setAmount(35)
->setSubject('Order #12345')
->setReference('C123456');
$payment->addTransaction($debit);
$file->parse();
$file->save('debit.xml');`
此示例已删除命名空间。完整的示例请见examples/debit.php