Tag Archives: pain

EBICS Client ( ebics_client.class.php)

[update 27.01.2016]

Nun also doch kommerzielle Version – Infos etc. findet Ihr hier: PHP EBICS Client

[/update]

endlich hab ich es fertiggebracht.. nach 11 langen Tagen coding, debugging und studieren der überaus umfangreichen und noch dazu auch fehlerhaften EBICS Dokumentation konnte ich nun endlich einen EBICS Client in php fertigstellen, der zumindest mit meiner Sparkasse einwandfrei funktioniert 😉 Im Moment kann der Client die folgenden Auftragsarten: INI, HIA, HPB, HKD, HTD, CDD (Sepa Lastschrift), CCT (Sepa Überweisung), CDB (Sepa B2B Lastschrift), IZL, IZV, STA, PTK. Eine Klasse zum Erzeugen der SEPA PAIN Nachrichten habe ich auch schon gebaut.

Aktuell bin ich noch am überlegen, ob ich den Client unter der GPL veröffentlichen soll oder nicht… Da es kommerzielle Anbieter gibt, die relativ simple EBICS Tools (z.b. nur für Upload, nur für Signatur) für enormes Geld anbieten (EBICS Tool für Upload und Signatur für 7.000 €!!!) muss ich da jetzt erst mal ein paar Nächte drüber schlafen…

SEPA PAIN! – Ich weiss jetzt warum die Nachrichten PAIN genannt wurden! ;)

 

Ich bin gerade dabei für meine Firma SEPA Lastschrift zu implementieren. Die nur 498 Seiten umfassende SEPA Dokumentation ist schon ein dicker Brocken, aber wenn man dann dabei ist SEPA XML PAIN Nachrichten zu schreiben, merkt man warum es Pain verursacht. Zum einen hat eine Definition in pain.008.002.02 für eine Lastschrift “nur” ca schlappe 130 Zeilen, damit nicht genug, das was mir am meisten Kopfzerbrechen bereitet sind die meiner Meinung nach absolut kranken Tagnamen:

	<CstmrDrctDbtInitn>
		<GrpHdr>
			<MsgId>MSG509d885febf476.43480101</MsgId>
			<CreDtTm>2012-11-09T23:49:03+01:00</CreDtTm>
			<NbOfTxs>1</NbOfTxs>
			<InitgPty>
				<Nm>Smart Weblications GmbH</Nm>
			</InitgPty>
		</GrpHdr>
		<PmtInf>
			<PmtInfId>Payment-ID</PmtInfId>
			<PmtMtd>DD</PmtMtd>
			<NbOfTxs/>
			<CtrlSum>10</CtrlSum>
			<PmtTpInf>
				<SvcLvl>
					<Cd>SEPA</Cd>....

 

Wenn man schon einen Standard erstellt und Tags frei wählen kann, warum nennt man die Tags dann nicht einfach so wie sie heissen? Ist CstmrDrctDbtInitn wirklich “kürzer” oder effizienter als CustomerDirectDebitInitiation? Wenn man das XML nur lesen muss mag das egal sein, wenn man es aber schreiben muss, aua! Sich die kryptischen Variablennamen merken zu müssen – es könnte so einfach sein, wenn diese einfach ausgeschrieben wären!

– So, das wars, Frust abgebaut, weiter gehts 😉