Inhaltsverzeichnis

.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

Download GiroCheckout .NET SDK 2.5.2
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 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 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 hier.

Changelog

Version 2.5.2 - 24.09.2024

Version 2.5.1 - 04.06.2024

Version 2.4.11 - 14.02.2023

Version 2.4.10 - 21.12.2022

Version 2.4.9 - 14.10.2022

Version 1.2.5 - 31.05.2021

Version 1.2.4 - 10.02.2021

Version 1.2.1 - 28.03.2017

Version 1.2.0 - 21.02.2017

Version 1.1.0 - 14.07.2016

Version 1.0.0 - 03.11.2015