PayPal-PlugIn ver. 2.1.4 - Datenabruf-Optimierung als Vorbereitung für API-Abruf

veröffentlicht um 05.04.2014, 10:59 von Sebastian Richter   [ aktualisiert: 07.04.2014, 00:10 ]
Update vom 07.04.2014 - Benutzer die dieses Update bereits am 06.04.2014 installiert haben sollten dieses noch einmal drüber installieren um eine weitere Änderung zu aktivieren


Liebe Hibiscus-Scripting User,

diese Version darf als weitere (und sehr wahrscheinlich letzte) Vorbereitung zur kommenden Version mit API-Abruf gesehen werden.

Da versucht wird das nicht mehr unmögliche Ziel zu erreichen dass die Umsätze eines API-Abrufs voll kompatibel zu den bisherigen Umsätzen eines CSV-Abruf (per ScreenScraping) sind, wurde der Datenabruf erheblich optimiert.

Zum Beispiel wird das scharfe 'ß' nun nicht mehr durch ein Doppel-S ersetzt.

Außerdem wird der Zeichensatz angepasst falls dieser nicht kompatibel ist:
(dieser Abschnitt würde nur die PayPal-Accounts betreffen in denen also ein falscher Zeichensatz eingestellt wurde)

Es wird hierzu nun automatisch die Codierung im PayPal-Konto angepasst und alle deutschen Sonderzeichen angezeigt (konkret ging es hier um 'ß' und '€').
Kompatibel sind die Zeichensätze "ISO-8859-15", "UTF-8" und "windows-1252" und können somit verwendet werden.

Durch diese Optimierungsmaßnahmen könnten mit Sicherheit viele Umsätze neu abgerufen werden und somit Umsatzdoppler erzeugen falls im PayPal-Account ein anderer Zeichensatz eingestellt war.
Hier sollte man dann die alten, ursprünglichen Umsätze einfach löschen.

Wenn man es einfach und schnell machen möchte wäre es optimal alle Umsätze der letzten zwei Jahre zu löschen und einen erneuten Komplett-Abruf zu starten bei dem dann ein Abrufdatum von zwei Jahren angegeben wird. (Heute z. B. der 06.04.2012)

Zu beachten ist hier wieder dass manuelle Zuordungen zu einer Kategorie hierbei verloren gehen und erneut gesetzt werden müssen.
Daher immer der Tipp: Verwenden Sie die automatische Kategorisierung.



Welche Änderungen und Erweiterungen sich genau ergeben haben, lest ihr wie gewohnt hier weiter unten nach
oder als vollständige ChangeLog in der jeweiligen Version unter Projekt Dateien.
Die nicht relevanten Teile wurden dieses Mal ausgegraut da diese nur für die kommende Version mit API-Abruf relevant sind.


Diese neue Version kann wie immer am besten mit der Installations-Methode #1 ab Punkt 8 (über das Online-Repository) übernommen werden
oder für den manuellen Download und Installation hier auf der Projektseite bezogen werden.


Neuerungen und/oder Änderungen sollten hier vollständig gelesen werden und sind wie folgt:

ver. 2.1.4 (chronologisch von unten nach oben)

Die nicht relevanten Teile wurden dieses Mal ausgegraut da diese nur für die kommende Version mit API-Abruf relevant sind.
  • CHG [140407]: PayPal-Gebühren die erstattet wurden (also positiv sind) werden nun wie beim Original-CSV-Kontoauszug mit "Widerrufene Gebühr" betitelt; Auch hier können dadurch Umsatzdoppler entstehen
  • NEW [140406]: Die Codierung für Daten die PayPal an Sie sendet (z. B. sofortige Zahlungsbestätigungen, herunter ladbare Kontoauszüge, E-Mails) wird in Ihrem PayPal-Konto automatisch umgestellt, falls diese nicht kompatibel ist:
    Erlaubt sind die Zeichensätze "ISO-8859-15", "UTF-8" und "windows-1252" da diese alle notwendigen Zeichen beinhalten und kompatibel zu anderer Software sein sollten.
    Ist ein anderer Zeichensatz konfiguriert wird hier automatisch "windows-1252" eingestellt.
    Hinweis: Durch diese Umstellung könnten im Aufbau andere Umsätze geliefert werden da vorher ein falscher Zeichensatz verwendet wurde, wodurch unter den letzten Umsätzen im Konto bestimmte doppelt angelegt werden könnten
    oder bei einem erneuten Komplettabruf gewisse Umsätze im gewählten Zeitraum neu angelegt werden, also zu Dopplern werden.
    Hier sollten die alten Umsätze gelöscht werden
  • CHG [140405]: Die Fehlerprüfung im Titel der Homepage wurde nun temporär deaktiviert
  • BUG [140405]: Der CSV-Kontoauszug wird nun korrekterweise mit dem Zeichensatz eingelesen der unter dem PayPal-Konto aktiv ist, um alle deutschen Sonderzeichen wie z. B. das €-Zeichen zu übernehmen und um mehr Kompatibilität zu erreichen
  • CHG [140404]: Im Fusions- oder Migrationsmechanismus wird nun bei einem Wechsel von API zu CSV auch die Gegenkontonummer (E-Mail) geprüft und korrigiert; Diese könnte im API-Umsatz falsch oder vertauscht sein
  • BUG [140404]: Der Kontosaldo wird nun wieder richtig eingetragen und nicht der Zwischensaldo des vorletzten Umsatzes
  • NEW [140403]: Am Ende der Synchronisierung wird nun auch zusätzlich ausgegeben wie viele Umsätze fusioniert wurden falls ein Wechsel durchgeführt wurde
  • BUG [140403]: Anpassung des Setzen des Java-Systemproxy für Java 8
  • NEW [140403]: Fusions- oder Migrationsmechanismus der bei einem Wechsel zwischen den Abrufarten CSV (ScreenScrapping) und API-Abruf greift und schon vorhandene aber unterschiedliche Buchungen zu einer sauberen Buchung vereint
    >>> Wechsel von CSV- bzw. ScreenScrapping zum API-Abruf:
    • Ein Verwendungszweck der CSV kann aufgrund eines Fehlers bei PayPal entweder ganz fehlen oder falsch mit "Shopping Cart" gesetzt worden sein. Hier wird der meist korrekte API-Verwendungszweck migriert
    • Die meisten Benutzer haben das Feld "Hinweis" im CSV-Kontoauszug nicht aktiviert. Da dieses über die API immer ausgelesen wird, wird diese Notiz als Kommentar in den Umsatz eingefügt
    >>> Wechsel vom API-Abruf zum CSV-Kontoauszug über Screenscrapping:
    • Migrierte Datensätze von einem Wechsel CSV->API werden natürlich in dem besseren Zustand beibehalten
    • Da PayPal über die API keine detaillierten Informationen zu der Zahlungsmethode zu Verfügung stellt welche als Umsatzart eingetragen wird, werden in die API-Umsätze diese zusätzlichen Informationen eingetragen
    • Es gibt einen Fall bei dem im API-Umsatz die E-Mail-Adresse (Business) vertauscht war; Passt API- und CSV-Gegenkontonummer nicht zusammen wird die Information übernommen
    > Beide Migrationsfälle greifen nur bei einem Wechsel der Abrufart über die Synchronisationsoptionen und gelten natürlich nur für schon vorhandene Umsätze
    > Mit einem gleichzeitig durchgeführten Komplettabruf können somit alle Umsätze immer wieder in einen optimalen Zustand gebracht werden; Alle Verwendungszwecke und Zahlungsinformationen zum Beispiel
    > Am Ende der Synchronisierung wird ausgegeben wie viele Umsätze fusioniert wurden
  • CHG [140403]: Dekodieren von BASE64-Zeichenketten im Verwendungsweck eines API-Abrufs; zusätzlich Sicherung falls dieser nicht dekodiert wurde aber ein Zweck aus dem Feld "Subject" gelesen werden kann
  • BUG [140402]: Bei der Javacodepage-Prüfung wird nun kompatibel zu den neuen JavaScript-Strings nach Übereinstimmungen gesucht
  • BUG [140331]: In der Java- und HTMLUnit-Versionsprüfung werden nun alle Zeichenketten als JavaScript-Strings erstellt; Funktionalität unter allen Java- bzw. JavaScript-Umgebungen
  • CHG [140326]: Wird bei einem Erstabruf oder erneutem Komplettabruf die Eingabe des Abrufdatum vom Benutzer abgebrochen, wird die Synchronisierung nun direkt gestoppt und das Passwort nicht zurückgesetzt
  • CHG [140325]: Neue Einstellung in den Synchronisierungsoptionen mit der man steuert ob der API-Abruf aktiviert oder deaktiviert ist; Entscheidung nicht mehr rein über den Benutzernamen (Danke an Olaf)
    Diese Option ist ab Hibiscus 2.6.5 sauber als Checkbox sichtbar und benutzbar; bis Hibiscus 2.6.2 ist dies ein Textfeld in das die Werte "true" oder "false" eingetragen werden können
  • CHG [140325]: Konvertieren aller Date.Funktionen in ein Java-Datum immer über reine Integer-Werte; höchste Kompatibilität unter den verschiedensten Systemen und Installationen
  • NEW [140325]: Unterstützung von Java 8 aka 1.8; Laden der "nashorn:mozilla_compat.js" für die Funktion von "importPackage" und Angabe des statischen Klassenpfads bei Übergabe als Attribut
  • CHG [140324]: Anpassungen des Quellcodes für die Umsatzübernahme an die neue Struktur der Hibiscus-Scripting Scripte, da somit besserer Arbeitsaufbau
  • BUG [140320]: Fehlerhaftes Teilen des Verwendungszweck ab der sechsten Zeile korrigiert
  • CHG [140320]: Scharfes-S (ß) wird nun nicht mehr in Doppel-S (ss) umgewandelt; Umwandlung entfernt da der Nutzen nicht klar ist und keine Probleme erkennbar sind
    Hinweis: Durch diese Umstellung können im Aufbau andere Umsätze geliefert werden, wodurch unter den letzten Umsätzen im Konto bestimmte doppelt angelegt werden könnten
    oder bei einem erneuten Komplettabruf gewisse Umsätze im gewählten Zeitraum neu angelegt werden, also zu Dopplern werden. Hier sollten die alten Umsätze gelöscht werden
  • CHG [140320]: Weitere verbesserte Formatierung, Anpassung und parsen von fehlerhaften Teilen der API-Daten und Anpassungen am Kontoauszug; Auskommentieren von nicht verwendeten Spalten
    Der Kontoauszug sollte soweit wie nur möglich dem CSV gleichen um die bestmögliche Variante einer Crossover-Funktion zu gewährleisten (Wechsel zwischen API und ScreenScraping)
    (Leider fehlt z. B. manchmal in der CSV der Verwendungszweck was dann natürlich zu Umsatzdopplern führt; Oder können bei der API keine Bezahlmethoden und andere Felder ausgelesen werden)
  • CHG [140320]: Umrechnung der GMT-Zeit aus dem API-Abruf in die eigentlichen Werte der Zeitzone MEZ bzw. MESZ und Angabe der richtigen Zeitzone im Kontoauszug (hierdurch Dopplervermeidung)
  • NEW [140319]: Hinzufügen der Spalte/Feld "Notiz" unter API- bzw. "Hinweis" unter dem CSV-Kontoauszug; Kann für CSV im PayPal-Account, durch erweitern der Kontoauszug-Felder, aktiviert werden.
  • CHG [140319]: Erweiterung bzw. Aktivierung der neuen Sync-Option (sichtbar ab Hibiscus 2.6.2) zum Hinterlegen und Ändern des API-Benutzernamen vom eigenen PayPal-Account
    Somit erste Variante für die Möglichkeit jederzeit zwischen ScreenScrapping- und API-Abruf wechseln zu können (Daten hinterlegt oder nicht)
  • NEW [140318]: Berechung des Zwischensaldo jeder Buchung; Dieser wird gleich beim Abruf berechnet und wie bei der CSV in das Feld 'Guthaben' (im automatischen Kontoauszug) eingetragen
  • BUG [140318]: Neusetzen der Trennzeichen in Beträgen nur beim CSV-Abruf; Format scheint beim API-Abruf schon zu stimmen und ist zu Hibiscus kompatibel
  • BUG [140318]: Erweitern des definieren eines String-Ende um z. B. Namen die das Zeichen '&' enthalten nicht abzutrennen
  • NEW [140318]: Einfügen der ersten Version einer Übersetzungsmatrix; Übersetzung von bisher bekannten Ausdrücken in den Feldern L_NAME, L_TYP und L_STATUS in die deutsche Variante
  • CHG [140317]: Anpassen des automatischen Kontoauszugs vom API-Abruf an den Aufbau des CSV-Kontoauszug; Header wieder entfernt; Trennzeichen ist TAB; somit erster Test von Datenübernahme (Alpha)
  • NEW [140317]: Auslesen des aktuellen Saldo mit der Methode "GetBalance" über API; Eintragen des Datenfeldes in einen automatisch generierten Kontoauszug (ohne Übernahme)
  • NEW [140317]: Auswerten des Detaildatensatz der Methode "GetTransactionDetails" über API; Eintragen der Datenfelder in einen automatisch generierten Kontoauszug (ohne Übernahme)
  • BUG [140317]: Kodierung des Antwortstring und des Decode beim API-Abruf gefixt; Umlaute werden nun korrekt übernommen



Gruß
Comments