.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
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
Order secured für giropay implementiert (Parameter secureAuth und secureAuthUntil).
Refund, Capture und Void für giropay NEU implementiert
Nicht mehr unterstützte Zahlungsarten entfernt: Paydirekt, giropay ID,
Nicht mehr unterstützte Endpunkte und Beispiele entfernt: giropay AVS/KVS, Bankstatus
Parameter customerId für giropay umbenannt in giropayCustomerId
Neuer Parameter customerId für giropay
Version 2.4.11 - 14.02.2023
Version 2.4.10 - 21.12.2022
epsBankStatus: bankcode-Feld aus der Response entfernt
Neuer Endpunkt epsSenderInfo
Neuer Endpunkt idealSenderInfo
Neuer Endpunkt creditCardSenderInfo
Neuer Endpunkt directDebitSenderInfo
Neuer Endpunkt directGetPKN
Neuer Endpunkt paypageCapture
Neuer Endpunkt paypageRefund
Neuer Endpunkt paypalCapture
Neuer Endpunkt paypalRefund
Neuer Endpunkt bluecodeRefund
creditCardTransaction: indicator-Feld entfernt
creditCardVoid: Neues Feld referenceParent zur Response hinzugefügt
directDebitCapture: merchantTxId-Feld aus der Response entfernt
directDebitRefund: merchantTxId-Feld aus der Response entfernt
directDebitVoid: Neue Felder referenceParent, amount und currency zur Response hinzugefügt
paydirektVoid: Neues Feld referenceParent zur Response hinzugefügt
getTransactionTool: merchantTxId-Feld aus der Response entfernt
bluecodeTransaction: Felder branch, slip, slipDateTime und recurringid aus der Response entfernt
Version 2.4.9 - 14.10.2022
Anpassung Versionsnummer an PHP-SDK
iDeal-Logos durch neue Versionen ersetzt
Liste der Fehler- und Returncodes aktualisiert
In der neuen giropay-
API: Parameter merchantReconciliationReferenceNumber in merchantOrderReferenceNumber umbenannt.
Payment Page: Parameter paydirektMerchantReconciliationReferenceNumber in paydirektMerchantOrderReferenceNumber umbenannt.
Unterstützung für den neuen optionalen Kassenzeichen-Parameter bei allen Zahlungsarten
Unterstützung für das neue giropay über Paydirekt.
Unterstützung für PayPal Reservierung und Capture.
Unterstützung für PayPal Erstattung.
Unterstützung für Erstattung, Buchung (Capture) und Info für Transaktionen, die über die Payment Page initialisiert wurden, anhand der Referenznummer der Payment Page Transaktion.
Unterstützung für den
API-Aufruf senderInfo
Purpose parameter im Kreditkarten-Capture
Neuen Parameter informationText für die Payment Page eingeführt.
Alte paydirekt-Logos durch neue giropay/paydirekt-Logos ersetzt.
Neue Felder für Lastschriftmandat in der Payment Page.
Version 1.2.5 - 31.05.2021
Erstattungen und Captures bei Kreditkarte, Lastschrift und Maestro erlauben nun die Übergabe eines Verwendungszwecks (purpose).
Erstattungen und Captures bei Paydirekt erlauben nun die Übergabe des Parameters merchantReconciliationReferenceNumber.
Unterstützung weiterer Felder bei Payment Page Transaktionen:
timeout
certdata
otherpayments
tds2Address
tds2Postcode
tds2City
tds2Country
tds2Optional
mandateReference
mandateSignedOn
mandateReceiverName
mandateSequence
Unterstützung des neuen Endpunkts für Projektabfrage bei Payment Pages
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
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