Archiv der Kategorie: Wordpress

Postbank mit PHP über HBCI-Schnittstelle (wieder) abfragen

Seit dem 14.09.2019 ist es komplizierter geworden per HBCI auf das eigene Konto zuzugreifen. Geschuldet ist das der EU-Richtlinie PSD2.

Wer bis dahin das beliebte Paket fints-hbci-php genutzt hatte, hat jetzt Probleme, denn dieses Paket wird nicht mehr gepflegt; es kommt mit den Anforderungen von PSD2 nicht klar.

Da ich selbst für meinen Shop auf Null Papier einmal am Tag per HBCI automatisch die Zahlungseingänge abfrage und verarbeite, musste schnell eine neue Lösung, ein neues Paket gefunden werden.

Schnell fiel die Wahl auf nemiah/phpFinTS. Nach kurzem Austausch mit der Entwicklerin, lief es dann auch (wieder) für meine Postbank-Konten.

Anleitung

Neu ist hier die sogenannte FinTS-Registrierungsnummer. Jeder, der jetzt mit HBCI/FinTS arbeiten will, muss seine Software, egal ob App, Server-Script oder Desktop-Anwendung, registrieren lassen. Das klingt komplizierter, als es ist. Ich selbst erhielt meine Registrierungsnummer nach wenigen Minuten, daher denke ich, dass es sich hier um einen automatisierten Vergabeprozess handelt.

Die Registrierungsnummer erhält man unter: https://www.hbci-zka.de/register/prod_register.htm.

Die einzelnen Settings

FHP_BANK_URL: https://hbci.postbank.de/banking/hbci.do

FHP_BANK_PORT: 443

FHP_BANK_CODE: die Bankleitzahl

FHP_ONLINE_BANKING_USERNAME: die eigene Postbank-ID

FHP_ONLINE_BANKING_PIN: das Online-Passwort

FHP_REGISTRATION_NO: die oben erhaltene Registrierungsnummer

FHP_SOFTWARE_VERSION: die Versionsnummer der eigenen Software, bspw. 0.1b

Jetzt muss man nur noch folgende Zeile anpassen:

mit

$fints->getVariables();

liefert die Postbank folgende, verfügbaren TAN-Mechnismen:

Ich selbst nutze die BestSign-App. WICHTIG: Die selbst erstellte Bezeichnung für das gewählte BestSign-Verfahren muss auch noch angegeben werden.

Also erhalten wir folgende Zeile

Jetzt sollte es eigentlich schon funktionieren. Bei mir hat es das jedenfalls.

Fragen stellt man am besten bei https://github.com/nemiah/phpFinTS/issues, damit alle etwas davon haben.

WordPress 4.9.6 – Link zur Datenschutzerklärung automatisch ausgeben

Wer nicht immer von Hand die URL zur Datenschutzerklärung eingeben möchte, oder wer sicher gehen muss, dass in den eigenen Themes immer die richtige URL angegeben wird, der kann auf folgende Funktion zurückgreifen.

In Detail könnte der Abschnitt so aussehen:

 

Alle Preise in Woocommerce ändern – auf die smarte Art

Wer schon einmal nach dem Schlüsselwort price in einem Datenbankdump von Woocommerce und WordPress gesucht hat, weil er seine Artikelpreise gerne auf einen Schlag ändern möchte, der wird einfach nur verzweifeln.

Es gibt allein in wp_post_meta 12 Möglichkeiten, Preise einzugeben. Und das ist noch nicht einmal alles.

Annahme: Wir wollen unsere Preise einer Inflation von 2 Prozent anpassen. Wie geht man vor?

Tabelle wp_postmeta

Tabelle wp_options

Die letzte Zeile ist besonders wichtig, da Woocommerce  einen Transient-Cache nutzt, um Seiten schneller darstellen zu können. Indem man diesen Speicher auf einen Schlag löscht, wird er automatisch beim nächsten Aufruf eines Produktes neu generiert.

Eine simple API für WordPress, Teil 4

Wir wissen jetzt, wie wir mit Hilfe unserer kleinen API einen Artikel anlegen und wie wir ihn mit einem Bild versorgen. Nun fügen wir einige Metadaten hinzu. Dazu benötigen wird die Funktion „add_post_meta„. Diese verlangt folgende Parameter:

  • post_id – Die eindeutige Artikel-ID aus Teil 2
  • meta_key – Der Name des Metadaten-Feldes
  • meta_value – Der Wert des Metadaten-Feldes

Wir packen also wieder einen Befehlsaufruf für unseren Server zusammen:

Und natürlich müssen wir auch unseren Server wieder ein wenig ergänzen.

Diese 3 Zeilen erweitern unseren Server um die Fähigkeit, mit Hilfe der Funktion „add_post_meta“ Artikel mit beliebigen Metadaten zu versorgen.

Und so sieht dann das neue benutzerdefinierte Feld aus.

Zusammenfassung

Server

Client