BAV 为德国银行账户(Konto)提供验证

1.2.0 2015-07-05 21:18 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:18:14 UTC


README

BAV (银行账户验证器) 是一个用于德国银行账户的验证库。

安装

使用 Composer

{
    "require": {
        "malkusch/bav": "^1"
    }
}

配置

您可以直接使用 BAV,BAV 附带一个默认配置(DefaultConfiguration

  • UTF-8 编码(如果支持)

  • FileDataBackendContainer。即它使用联邦银行文件的二分搜索。请注意,此数据后端使用目录 bav/data 进行安装和更新操作。您必须确保此目录可写。

  • 自动安装。您不需要调用任何安装脚本。容器将在首次执行时下载联邦银行文件。

  • 更新计划,如果联邦银行文件过时,则会触发 E_USER_NOTICE。

您可以通过调用 ConfigurationRegistry::setConfiguration() 或创建文件 bav/configuration.php(它返回一个 Configuration 对象)来自定义配置

namespace malkusch\bav;

$configuration = new DefaultConfiguration();

$pdo = new \PDO("mysql:host=localhost;dbname=test;charset=UTF8");
$configuration->setDataBackendContainer(new PDODataBackendContainer($pdo));

$configuration->setUpdatePlan(new AutomaticUpdatePlan());

return $configuration;

更新

联邦银行发布每月三、六、九和十二月的新的文件。BAV 需要这些新文件。您有几种方法可以更新 bav

脚本

调用 bin/bav-update.php

程序化

use malkusch\bav\BAV;

$bav = new BAV();
$bav->update();

自动

bav/configuration.php 中启用 AutomaticUpdatePlan 以自动更新

namespace malkusch\bav;

$configuration = new DefaultConfiguration();
$configuration->setUpdatePlan(new AutomaticUpdatePlan());

return $configuration;

此自动更新计划将作为关闭钩子执行长时间运行的操作。即它不会在正常操作期间打扰用户。

使用方法

您可以使用 API 外观 BAV 使用 BAV

Agency对象具有以下字段

示例

use malkusch\bav\BAV;

$bav = new BAV();
$bankID  = "10000000";
$account = "1234567890"

// check for a bank
var_dump(
    $bav->isValidBank($bankID)
);

// check for a bank account
var_dump(
    $bav->isValidBankAccount($bankID, $account)
);

// filter validation
var_dump(
    filter_var($bankID, FILTER_CALLBACK, $bav->getValidBankFilterCallback()),
    filter_var($account, FILTER_CALLBACK, $bav->getValidAccountFilterCallback())
);

// Get informations about a bank
$agency = $bav->getMainAgency($bankID);
echo "{$agency->getName()} {$agency->getCity()}\n";

另请参阅 bav/docs/example.php

可选依赖

您可能需要

  • CURL:如果您提供 bav/data/banklist.txt,则不需要CURL。

  • mbstring:BAV使用Unicode编码。您的PHP必须包含编译了mb_*函数。如果这些函数缺失,BAV只能使用ISO-8859-15编码。

  • PDO:如果您打算使用DBS,则需要使用PDODataBackendContainerPDODataBackendContainer需要PHP中编译了PDO支持。

  • doctrine/orm:您可以使用DoctrineBackendContainer,它使用doctrine作为数据后端。

许可和作者

此项目是免费的,并受WTFPL许可。所以您可以随心所欲。但留下关于作者的信息会很好。

原始项目的作者Björn Wilmsmann为此项目提供了灵感。此项目的负责人是Markus Malkusch markus@malkusch.de

捐赠

如果您喜欢BAV并且愿意慷慨捐赠,请在此处捐赠一些比特币:1335STSwu9hST4vcMRppEPgENMHD2r1REK

Build Status