PHPackages                             cube43/ebics-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. cube43/ebics-client

ActiveLibrary[HTTP &amp; Networking](/categories/http)

cube43/ebics-client
===================

PHP library to communicate with bank through EBICS protocol.

0.12.0(1y ago)219.6k↑133.3%2[4 PRs](https://github.com/cube43/ebics-client/pulls)MITPHPPHP ^8.1 || ^8.2 || ^8.3 || ^8.4CI passing

Since Dec 7Pushed 3mo ago3 watchersCompare

[ Source](https://github.com/cube43/ebics-client)[ Packagist](https://packagist.org/packages/cube43/ebics-client)[ RSS](/packages/cube43-ebics-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (9)Versions (34)Used By (0)

cube43/ebics-client
===================

[](#cube43ebics-client)

PHP library to communicate with bank through EBICS protocol.

[![Build Status](https://github.com/cube43/ebics-client/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/cube43/ebics-client/actions/workflows/continuous-integration.yml)[![Latest Stable Version](https://camo.githubusercontent.com/fa3a85dca41cd745673a2047ba5133e9630326df797366ab61cbdf3c12ae6ebd/68747470733a2f2f706f7365722e707567782e6f72672f6375626534332f65626963732d636c69656e742f762f737461626c65)](https://packagist.org/packages/cube43/ebics-client)[![Total Downloads](https://camo.githubusercontent.com/23d98de94eb4efb544f7ef8c7e7d75a206ec85c877f8e37f7e7d594873f0830b/68747470733a2f2f706f7365722e707567782e6f72672f6375626534332f65626963732d636c69656e742f646f776e6c6f616473)](https://packagist.org/packages/cube43/ebics-client)[![License](https://camo.githubusercontent.com/58b9238fde72f9bbd5312061c78edc9f391de1653b91c1a9ccb027055a1a9014/68747470733a2f2f706f7365722e707567782e6f72672f6375626534332f65626963732d636c69656e742f6c6963656e7365)](https://packagist.org/packages/cube43/ebics-client)

License
-------

[](#license)

cube43/ebics-client is licensed under the MIT License, see the LICENSE file for details

Note
----

[](#note)

This library is a refactoring of andrew-svirin/ebics-client-php to allow multiple protocol version + unit test and E2e test

Ebics protocol version supported :

- 2.4
- 2.5
- 3.0

Command supported :

- INI
- HIA
- HPB
- FDL

This library work only with X509 certified communication

Installation
------------

[](#installation)

```
composer require cube43/ebics-client
```

Initialize client
-----------------

[](#initialize-client)

You will need to have this informations from your Bank :

- HostID
- HostURL
- PartnerID
- UserID
- protocol version

```
$bankInfo            = new \Cube43\Component\Ebics\BankInfo($HOST_ID, $HOST_URL, \Cube43\Component\Ebics\Version::v24(), $PARTNER_ID, $USER_ID);
$keyring             = new \Cube43\Component\Ebics\KeyRing('myPassword');
$x509OptionGenerator = new \Cube43\Component\Ebics\X509\DefaultX509OptionGenerator();
```

**Note** : $HOST\_ID, $HOST\_URL, $PARTNER\_ID, $USER\_ID and version are decided between you and your bank.

How to use
----------

[](#how-to-use)

Before making what you want to achieve (ex: FDL call) you have to generate keys and communicate it to with the server (INI, HIA and HPB command).

INI command
-----------

[](#ini-command)

INI command will generate a certificat of type A and send it to ebics server. After making this request, you have to save the keyring with the new generate certificat because it will be used in call after.

```
$keyring = (new \Cube43\Component\Ebics\Command\INICommand())->__invoke($bankInfo, $keyring, $x509OptionGenerator);
// save keyring
```

HIA command
-----------

[](#hia-command)

HIA command will generate a certificat of type e and x and then send it to ebics server. After making this request, you have to save the keyring with the new generate certificat because it will be used in call after.

```
$keyring = (new \Cube43\Component\Ebics\Command\HIACommand())->__invoke($bankInfo, $keyring, $x509OptionGenerator);
// save keyring
```

HPB command
-----------

[](#hpb-command)

HPB command will retrieve certificat of type e and x from the ebics server. After making this request, you have to save the keyring with the new retrieved certificat because it will be used in call after.

```
$keyring = (new \Cube43\Component\Ebics\Command\HPBCommand())->__invoke($bankInfo, $keyring);
// save keyring
```

Once INI, HIA and HPB have been run your good to use ebics protocol.

FDL command
-----------

[](#fdl-command)

```
