~~NOCACHE~~ ====== Java SDK ====== Das GiroCheckout SDK für Java ermöglicht die einfache Integration der GiroCheckout API in alle Arten von javabasierte Anwendungen. Das SDK umfasst alle Schnittstellen des GiroCheckout APIs der Girosolution AG zur Erzeugung von Requests und der Verarbeitung von Responses. Das SDK kümmert sich dabei um alle technischen Details, wie z.B. die Berechnung der Hash-Summen und die Thread-sichere Verarbeitung. Ergänzend zu der vorliegenden Dokumentation stehen Ihnen unter http://api.girocheckout.de weiterführende Informationen zur Verfügung. ===== Download ===== {{:javasdk:girocheckout_sdk_java_1.2.4.zip|download GiroCheckout Java SDK 1.2.4}} \\ {{:javasdk:girocheckout_sdk_java_doc_1.2.4.zip|download GiroCheckout Java SDK Dokumentation}} ===== Beispiele und Einbindung ===== Voraussetzung für die Verwendung von GiroCheckout ist die Anlage eines Benutzerkontos und entsprechender Projekte unter https://www.girocockpit.de. ===== Wichtiger Hinweis zu Notify und Redirect ===== GiroCheckout verwendet zwei parallele Kanäle zur Kommunikation zwischen dem GiroCheckout-Server und dem Shop: Die Notification (oder Notify) und das Redirect. Das Notify ist ein Server-to-Server-Aufruf im Hintergrund, wobei das Redirect über den Kundenbrowser läuft und diesem am Ende das Transaktionsergebnis anzeigt. Beide Kommunikationswege sollten auch unabhängig voneinander funktionieren, falls eine der beiden Meldungen nicht ankommt. Auf dieser Weise ist die Transaktion auch erfolgreich, wenn die Notification aus irgendeinem Grunde nicht ankommen konnte (also nur der Redirect erfolgen konnte), oder wenn der Kunde die Rückleitung zum Shop unterbricht (also nur ein Notify ankam). Aber natürlich sollte an beiden Stellen ein Check erfolgen, ob die Bestellung bereits im Shop abgearbeitet wurde, damit das nicht doppelt geschieht. Siehe dazu auch [[girocheckout:general:start|API Grundlagen]]. ===== Einbindung des Jar-Files ===== Fügen Sie zunächst das File girocheckout.jar zum Build Path hinzu. ===== Referenz auf Ihr Händlerkonto und Ihr Projekt ===== Für alle Aufrufe des GiroCheckout APIs benötigen Sie eine Referenz auf Ihr Händlerkonto und das zu verwendende Projekt. Merchant merchant = MerchantFactory.createMerchant(ihreHändlerID); Project project = merchant.createProject(ihreProjektID, ihrProjektPasswort); ===== Requests und Responses ===== Beim Absetzen von Requests in Richtung GiroCheckout definieren Sie die zunächst die für die Transaktion benötigten Daten und erstellen dann auf dem Project Objekt den entsprechenden Request. Beispiel: Giropay Zahlung GiropayTransactionRequest request = project.createGiropayTransactionRequest(merchantTxId, amount, currency, purpose, bic, iban, info1Label, info2Label, info3Label, info4Label, info5Label, info1Text, info2Text, info3Text, info4Text, info5Text, urlRedirect, urlNotify); Jeder Request besitzt eine execute Methode, die das zugehörige Response Objekt zurückliefert. Beispiel: GiropayTransactionResponse response = request.execute(); System.out.println("redirect: [" + response.getRedirect() + "]"); System.out.println("reference: [" + response.getReference() + "]"); ===== Fehlerhandling ===== Sofern bei der Kommunikation mit dem GiroCheckout API Probleme auftreten wird eine GiroCheckoutProtocolException geworfen, die weitergehende Informationen zum Fehler enthält. Darüber hinaus zeigt die ''GiroCheckoutException'' interne Fehler an. Eine Auflistung der Fehlernummern finden Sie [[http://api.girocheckout.de/girocheckout:errorcodes|hier]]. ===== Ergebniscodes / Zahlungsausgang ===== Das Ergebnis eines Zahlungsausgangs ist entweder in der notify/redirect URL oder bei direkten Zahlungen in der entsprechenden Response-Klasse enthalten. Der Code 4000 kennzeichnet dabei immer eine erfolgreiche Transaktion. Alle anderen Codes beschreiben, welcher Fehler aufgetreten ist. Eine Auflistung der Ergebniscodes finden Sie [[http://api.girocheckout.de/girocheckout:resultcodes|hier]]. ===== Changelog ===== ==== Version 1.2.4 - 10.02.2021 ==== * Unterstützung für 3-D Secure 2.0, bzw. der zugeh. neuen Felder bei Kreditkartentransaktionen ==== Version 1.2.3 - 16.01.2020 ==== * Problem mit paydirekt Storno behoben ==== Version 1.2.2 - 09.08.2018 ==== * Erweiterung Payment Page Initialisierung um weitere Parameter ==== Version 1.2.1 - 28.03.2017 ==== * Neu: Lastschrift Storno * Neu: Kreditkarten Storno * Neu: Paydirekt Storno * Kreditkarte Transaktionstyp MoTo eingeführt * Hinweis: Aufruf für Lastschriften / Kreditkarten Transaktionen nicht mehr kompatibel mit Vorversion ==== Version 1.2.0 - 21.02.2017 ==== * Integration Paypage API * Integration Maestro API * Unterstützung digitale Warenkörbe Paydirekt * Hinweis: Aufruf für paydirekt nicht mit Version 1.1.x kompatibel ==== Version 1.1.1 - 01.07.2016 ==== * Alle Zahlarten der GiroCheckout API werden unterstützt * Unterstützung für Reservierung, Buchung und Erstattung hinzugefügt * Hinweis: Aufruf für Kreditkarte und Lastschrift nicht mit Version 1.0.x kompatibel ==== Version 1.0.3 - 08.05.2015 ==== * Neue Funktion getHash zur Prüfung des Hash bei Aufruf der Notify oder Redirect URL ==== Version 1.0.2 - 27.01.2015 ==== * Fehlerbehandlung in GCGiropayBankstatusRequest erweitert ==== Version 1.0.1 - 21.01.2015 ==== * Neues Feld Kontoinhaber als Pflichtfeld bei Lastschrift Transaktionen ohne Payment-Page ==== Version 1.0.0 - 20.10.2014 ==== * Initialversion