~~NOCACHE~~
====== .NET SDK ======
Das GiroCheckout SDK für .NET ermöglicht die einfache Integration der GiroCheckout API in alle Arten von .NET 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 =====
{{:dotnetsdk:girocheckout_sdk_dotnet_1.2.4.zip|download GiroCheckout .NET SDK 1.2.4}} \\
{{:dotnetsdk:girocheckout_sdk_dotnet_doc_1.2.4.zip|download GiroCheckout .NET 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]].
===== Verweise hinzufügen =====
Fügen Sie Ihrem Projekt die Verweise auf die GiroCheckout.dll und Newtonsoft.Json.dll hinzu. \\
//**Hinweis:** Sofern die Newtonsoft.Json.dll bereits in einer älteren Version vorhanden ist, aktualisieren Sie diese bitte entsprechend.//
===== 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 = new Merchant(ihreHändlerID, logger);
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();
Console.WriteLine("redirect: [" + response.Redirect + "]");
Console.WriteLine("reference: [" + response.Reference + "]");
===== 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.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.0 - 14.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.0 kompatibel//
==== Version 1.0.0 - 03.11.2015====
* Initialversion