Sie wollen mit Ihrer Bank sprechen?

Können Sie, mit dem smart ebics client!

EBICS 3.0 PHP Client

EBICS 3.0 (H005) & 2.5 (H004)

SEPA Lastschrift & Überweisung

Umsatzabruf · CAMT · MT940

Verteilte Elektronische Unterschrift

Im Abo

Ab 10,00 € / Monat netto

Rolling Updates inklusive

Monatlich kündbar

getestet mit PHP 5.6 – 8.4

REST-API

EBICS ohne eigene Installation

HTTPS/TLS gesichert

nutzungsbasiert je API-Call

OpenAPI dokumentiert

Ihr Abo – sofort startklar

Alle Editionen mit EBICS 3.0, rolling Updates und flexibler Laufzeit. Preise netto zzgl. USt.

Client-Abo

20,00 €
/ Monat netto
  • ✓ 1 Bank, 1 Benutzer
  • ✓ EBICS 3.0 (H005)
  • ✓ ionCube-Binary + Lizenz-Token
  • ✓ Rolling Updates inklusive
  • ✓ Monatlich kündbar
Abo starten »

API-Abo

10,00 €
/ Monat netto + 0,08 € / API-Call
  • ✓ EBICS 3.0 über REST-API
  • ✓ Keine eigene Installation nötig
  • ✓ API-Token, HTTPS/TLS
  • ✓ Nutzungsbasiert: 0,08 € / Call
  • ✓ Monatlich kündbar
Abo starten »

Integrator

2.500,00 €
/ Jahr netto
  • ✓ Unbegrenzt Banken & Benutzer
  • ✓ Vollständiger Sourcecode
  • ✓ Git-Zugang, rolling Updates
  • ✓ EBICS 3.0 (H005)
  • ✓ Jahreslaufzeit
Abo starten »

Software

PHP Klasse, leicht integrierbar


SEPA Lastschrift/Überweisung


Umsatzabruf / CAMT / MT940


Verteilte Elektronische Unterschrift VEU



Lizenzen

Limited max. 1 Bank und User


unlimited developer Version


API Limited max. 1 Bank and User


API unlimited Version


Support

Ticket System


Live Chat


E-Mail Support





Was ist der Smart EBICS Client?

Der Smart EBICS Client ist eine ausgereifte PHP-Klasse, mit der Ihre Anwendung direkt und sicher mit Ihrer Bank über das EBICS-Protokoll (Electronic Banking Internet Communication Standard) kommuniziert – ganz ohne teure Middleware oder proprietäre Bank-Software. Sie integrieren die Klasse in Ihr eigenes PHP-Projekt und automatisieren so Ihren Zahlungsverkehr.

Was kann der Smart EBICS Client?

  • SEPA-Lastschrift (CDD) und SEPA-Überweisung (CCT) erzeugen und einreichen
  • Umsatzabruf und Kontoauszüge im Format CAMT.052/053/054, MT940 und STA/PTK
  • Verteilte Elektronische Unterschrift (VEU) für mehrstufige Freigabeprozesse
  • Vollständige Schlüsselverwaltung (INI, HIA, HPB) inkl. INI-/HIA-Brief
  • Getestet mit Sparkasse, Volks- & Raiffeisenbanken, Commerzbank, Postbank, Deutsche Bank, UBS Schweiz, ProCredit u. v. m.

EBICS 2.5 und EBICS 3.0

Der Smart EBICS Client 2.0 unterstützt sowohl EBICS 2.5 (H004) als auch EBICS 3.0 (H005) mit A006-Signaturen und X.509-Zertifikaten. Bestehende Order-Types (C53, CCT, CDD …) werden automatisch auf das EBICS-3.0-Format (BTF) umgesetzt – Sie stellen lediglich ebics_version = 'H005' ein, Ihr Code bleibt unverändert.

Abo-Modell

Sie erhalten den Client im flexiblen Abo: als Client-Abo mit ionCube-Binary (20 €/Monat, eine Bank/ein User), als REST-API-Abo ohne eigene Installation (10 €/Monat + 0,08 € je API-Call) oder als Integrator-Abo mit vollem Sourcecode und Git-Zugang (2.500 €/Jahr). Rolling Updates inklusive, getestet mit PHP 5.6 bis 8.4, monatlich bzw. zum Laufzeitende kündbar.

Jetzt Abo starten »   Kostenlose Video-Tutorials ansehen »

Include Class:

	
$data_path = getcwd(). "/.ebics_client_data/";
$work_dir = getcwd();


error_reporting(E_ALL);
ini_set('display_errors', 1);
set_include_path(get_include_path().PATH_SEPARATOR .$work_dir."/phpseclib");

include_once("Crypt/RSA.php");
include_once('Crypt/Rijndael.php');
include_once('mt940/autoload.php');		
		

define('CLASSES_ROOT',$work_dir);

include("ebics_client.class.php");
include("sepa.class.php");
	
	
Examples - EBICS Initialization:

	
1. What this software does

This software is intended to be used as a class for programming EBICS clients written in
PHP. With this software you can upload or download data from EBICS servers (normally hosted
at a datacenter owned or managed by a bank).

2. Requirements

- PHP 5.6 or greater

- php5-curl php5-gmp php5-mcrypt openssl php5-xmlrpc php-pear

- run in isolated vm and connect your app via vpn tunnel


3. Tested bank institutes

This client has been tested with.

- Sparkasse 

- Volks + Raiffeisenbank

- Commerzbank

- Postbank

- Deutsche Bank

- UBS Schweiz

- procredit Bank

- Banken mit ebics.multivia-suite.de
 
- St. Galler Kantonalbank sgkb.ch !!! crippled EBICS implementation 
  -> https://www.sgkb.ch/download/online/EBICS_Verbindungsparameter.pdf

3. Setup a user

How EBICS Initialization works:

1. The customer (you) requests an EBICS account from your bank and receive User ID, Partner ID, EBICS Host ID,
EBICS URL and the fingerprints of the public keys of the bank.

2. with this code you create your encryption keys and submit them to the bank:


$ebics = new ebics_client($user_id,$partner_id,$host_id,$host_url,$data_dir);
$ebics->initUser(); // creates a005,x002 and e002 keys...
$ebics->loadUser();

$request = $ebics->INI_request();
$result = $ebics->send_request($request);

$request = $ebics->HIA_request();
$result = $ebics->send_request($request);

$letter = $ebics->getINIHIA_letter();

echo $letter;

3. INI + HIA Letter must be printed and signed and sent back to the bank to activate the EBICS account. After the
bank has activated the account continue with step 4.

4. Get the banks public keys with this call:

$ebics = new ebics_client($user_id,$partner_id,$host_id,$host_url,$data_dir);
$ebics->loadUser();

$result = $ebics->HPB_request();
$result = $ebics->send_request($result);
$parsed = $ebics->parse_response($result,"HPB");


5. EBICS successfully initialized.


	
	
SEPA Lastschrift:

	
$creditor = array("initiator_name" => "Smart Weblications GmbH",
					"id" => "DE52ZZZ00000012516",
					"bic" => "BYLADEM1HOF",
					"iban" => "DE44780500000220626666",
);

$debitor = array("debitor_name" => "Florian Wiessner",
				"id" => "00001337",
				"bic" => "BYLADEM1HOF",
				"iban" => "DE95780500000220696666",
				"verwendungszweck" => "Test SEPA Lastschrift",
				"refnum" => date("YmdHis"),
				"amount" => 23.42,
				"mandate_date_of_sig" => "2011-10-01",
				"payment_id" => "00001337"

);



$sepa = new sepa;
$sepa->loadXML("debitnote");
$sepa->add_debitnote($debitor, $creditor,true);
$sepa_cdd = $sepa->getXML("debitnote",$creditor);


$dom = new DOMDocument('1.0','UTF-8');
$dom->loadXML($sepa_cdd);
$sepa_cdd = preg_replace("/\r|\n/"," ",$dom->C14N());
$sepa_cdd = preg_replace("/\s+/", " ", $sepa_cdd);


$result = $ebics->Upload_init_request("CDD",$sepa_cdd);

print $result;

	
	
SEPA Transfer:

	
$from = array("initiator_name" => "Smart Weblications GmbH",
					"id" => "DE52ZZZ00000012516",
					"bic" => "BYLADEM1HOF",
					"iban" => "DE44780500000220626666",
);

$to = array("name" => "Max Mustermann",
				"bic" => "BYLADEM1HOF",
				"iban" => "DE26244444334444833333",
				"verwendungszweck" => "SEPA Ueberweisung",
				"ref-nummer" => date("YmdHis"),
				"amount" => "23.42"

);

$sepa = new sepa;
$sepa->loadXML("transfer");
$sepa->addPosition($to);
$sepa_transfer = $sepa->getXML("transfer",$from);



$dom = new DOMDocument('1.0','UTF-8');
$dom->loadXML($sepa_transfer);
$sepa_transfer = preg_replace("/\r\n/"," ",$dom->C14N());
$sepa_transfer = preg_replace("/\s+/", " ", $sepa_transfer);


$result = $ebics->Upload_init_request("CCT",$sepa_transfer);

print $result;

	
	
Bankstatements / Balance:

	
$Auftrag = "STA"; // STA, PTK, C53, C54
if (isset($_GET["start"])) { $start = $_GET["start"]; } else { $start = date("Y-m-d",mktime(0,0,0,date("m"),date("d")-7,date("Y"))); } 
if (isset($_GET["end"])) { $end = $_GET["end"]; } else { $end = date("Y-m-d"); } 

$result = $ebics->ebics_request($Auftrag, $start, $end );
$result = $ebics->send_request($result);
$result = $ebics->parse_response($result,$Auftrag);
print $result;

	
	
Copyright © 2013 - 2026 smart-weblications.de | Impressum