1 Über giropay

1.1 Allgemeines zu giropay

giropay ist ein Standard, den Sparkassen, Postbank sowie Volks- und Raiffeisenbanken gegründet haben. Die giropay Online-Überweisung hat für den Händler gleich mehrere Vorteile: Zum einen gewährt giropay dem Verkäufer eine Zahlungsgarantie bis 10.000 Euro, zum anderen ist die Überweisung eine Vorauszahlung, die das Zahlungsziel minimiert. Und nicht zuletzt nutzt der Kunde das ihm bekannte und vertrauenswürdige Online-Banking seines eigenen Kreditinstitutes – genau wie beim Online-Banking.

Im ersten Schritt wählt der Kunde im Online-Shop an der Kasse die Zahlungsmethode giropay und wählt sein Kreditinstitut aus. Er wird dann direkt mit seiner Sparkasse oder Bank verbunden und meldet sich wie gewohnt mit seiner PIN an. Daraufhin erscheint ein vorausgefüllter Überweisungsträger, so dass der Kunde nur noch seine TAN eingeben muss, um die Zahlung zu bestätigen.

Wie beim Online-Banking üblich, sind auch bei der Online-Überweisung die übermittelten Daten mit SSL (Secure Sockets Layer) verschlüsselt und so gegen Manipulation gesichert.

Logo:

Logo giropay
InfoTyp
giropay ist eine Online-Überweisung mit PIN und TAN, die Ihnen Zugang zu fast 40 Millionen deutschen und österreichischen Online-Banking-Nutzern verschafft. Zusätzlich zu der 100%-Zahlungsgarantie ist die Nutzung von giropay auch relativ günstig.Zahlungen per Onlineüberweisung

Weitere Informationen finden Sie auch auf der Webseite von giropay (http://www.giropay.de).

1.2 Diagramm zum Prozessablauf

giropay Prozessablauf

2 1cs Online Bezahlsystem Schnittstelle

2.1 Definitionen

2.1.1 Datenformate:

FormatBeschreibung
aalphabetisch
asalphabetisch mit Sonderzeichen
nnumerisch
analphanumerisch
ansalphanumerisch mit Sonderzeichen
nsnumerisch mit Sonderzeichen
boolBool’scher Ausdruck (true oder false)
3feste Länge mit 3 Stellen/Zeichen
..3variable Länge mit maximal 3 Stellen/Zeichen
enumAufzählung erlaubter Werte
dttmISODateTime (JJJJ-MM-TTThh:mm:ss)

2.1.2 Abkürzungen

AbkürzungBeschreibungKommentar
CNDBedingung (condition) 
MPflicht (mandatory)Wenn ein Parameter Pflicht ist, dann muss er vorhanden sein
OoptionalWenn ein Parameter optional ist, dann kann er vorhanden sein, ist aber nicht erforderlich
Cbedingt (conditional)Wenn ein Parameter bedingt ist, dann gibt es eine Bedingungsregel, die angibt, ob er Pflicht oder optional ist

Hinweis: Bitte beachten Sie, dass die Bezeichnungen der Parameter in Groß- oder Kleinbuchstaben zurückgegeben werden können.

2.2 Aufruf der giropay-Schnittstelle

Um eine Zahlung per Online-Überweisung mit giropay abzuwickeln, rufen Sie folgende URL auf:

https://www.computop-paygate.com/giropay.aspx

Hinweis: Bitte beachten Sie, dass eine Anbindung im Shop per iFrame aufgrund von Regularien nicht möglich ist und technisch verhindert wird.

Hinweis: Aus Sicherheitsgründen lehnt das 1cs Online Bezahlsystem alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.

Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:

ParameterFormatCNDBeschreibung
MerchantIDans..30MHändlerID, die von der First Cash Solution vergeben wird. Dieser Parameter ist zusätzlich auch unverschlüsselt zu übergeben.
TransIDans..64MIhre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss
RefNrns..30OCEindeutige Referenznummer Es sind ausschließlich ASCII-Zeichen erlaubt. Sonderzeichen wie (“Umlaute”, …) sind nicht erlaubt und müssen ggf. durch ASCII-Zeichen ersetzt werden (z.B. ü → ue, é → e, …).
Amountn..10MBetrag in der kleinsten Währungseinheit (z.B. EUR Cent). Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.
Currencya3MWährung, drei Zeichen DIN / ISO 4217, z.B. EUR, USD, GBP. Hier eine Übersicht: Währungstabelle
MACan64MHash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier: HMAC-Authentisierung (Anfrage) HMAC-Authentisierung (Notify)
OrderDescans..768MBeschreibung der gekauften Waren, Einzelpreise etc. Bitte beachten Sie: Die ersten 27 Zeichen erscheinen auf dem Kontoauszug des Kunden. Im Händler Cockpit können Sie die kompletten Daten einsehen.
UserDataans..1024OWenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop
URLSuccessans..256MVollständige URL, die das 1cs Online Bezahlsystem aufruft, wenn die Zahlung erfolgreich war. Die URL darf nur über Port 443 aufgerufen werden. Diese URL darf keine Parameter enthalten: Um Parameter durchzureichen, nutzen Sie stattdessen den Parameter UserData. Allgemeine Hinweise: Wir empfehlen, den Parameter “response=encrypt” zu verwenden, um eine verschlüsselte Antwort vom 1cs Online Bezahlsystem zu erhalten Betrüger könnten das verschlüsselte DATA-Element kopieren, welches an URLFailure gesendet wurde, und betrügerisch dasselbe DATA an URLSuccess senden. Überprüfen Sie daher unbedingt den “code”-Wert des DATA-Elements. Nur eine Antwort mit “code=00000000” sollte als erfolgreich angesehen werden.
URLFailureans..256MVollständige URL, die das 1cs Online Bezahlsystem aufruft, wenn die Zahlung gescheitert ist. Die URL darf nur über Port 443 aufgerufen werden. Diese URL darf keine Parameter enthalten: Um Parameter durchzureichen, nutzen Sie stattdessen den Parameter UserData. Allgemeine Hinweise: Wir empfehlen, den Parameter “response=encrypt” zu verwenden, um eine verschlüsselte Antwort vom 1cs Online Bezahlsystem zu erhalten Betrüger könnten das verschlüsselte DATA-Element kopieren, welches an URLFailure gesendet wurde, und betrügerisch dasselbe DATA an URLSuccess senden. Überprüfen Sie daher unbedingt den “code”-Wert des DATA-Elements. Nur eine Antwort mit “code=00000000” sollte als erfolgreich angesehen werden.
Responsea7ODie Status-Rückmeldung, die das 1cs Online Bezahlsystem an URLSuccess und URLFailure sendet, sollte verschlüsselt werden. Dazu übergeben Sie den Parameter Response=encrypt.
URLNotifyans..256OVollständige URL, die das 1cs Online Bezahlsystem aufruft, um den Shop zu benachrichtigen. Die URL darf nur über Port 443 aufgerufen werden. Sie darf keine Parameter enthalten: Nutzen Sie stattdessen den Parameter UserData. Allgemeine Hinweise: Wir empfehlen, den Parameter “response=encrypt” zu verwenden, um eine verschlüsselte Antwort vom 1cs Online Bezahlsystem zu erhalten Betrüger könnten das verschlüsselte DATA-Element kopieren, welches an URLFailure gesendet wurde, und betrügerisch dasselbe DATA an URLSuccess/URLNotify senden. Überprüfen Sie daher unbedingt den “code”-Wert des DATA-Elements. Nur eine Antwort mit “code=00000000” sollte als erfolgreich angesehen werden.
ReqIDans..32OUm Doppelzahlungen zu vermeiden, übergeben Sie einen alphanumerischen Wert, der Ihre Transaktion identifiziert und nur einmal vergeben wer­den darf. Falls die Transaktion mit derselben ReqID erneut eingereicht wird, führt das 1cs Online Bezahlsystem keine Zah­lung aus sondern gibt nur den Status der ursprüng­lichen Transaktion zurück. Bitte beachten Sie, dass das 1cs OBS für die erste initiale Aktion einen abgeschlossenen Transaktionsstatus haben muss. Einreichungen mit identischer ReqID auf einen offenen Status werden regulär verarbeitet. Bitte beachten Sie, dass eine ReqID nur 12 Monate gültig ist, danach wird sie vom 1cs OBS gelöscht.
SchemeenumOGibt das Schema vor: „gir“ oder „eps“
BICans..11OBank Identifier Code
Plainans..50OEin einzelner Wert, der von Ihnen gesetzt werden kann, um Informationen wieder unverschlüsselt in der Antwort bzw. im Notify zurückzugeben, z.B. die MID. Da der “Plain”-Parameter Teil des verschlüsselten “Data” im 1cs Online Bezahlsystem ist, ist dieser vor Manipulationen geschützt.
Customans..1024ODer “Custom”-Parameter wird vor der Verschlüsselung an den Aufruf angehängt und ist Teil des verschlüsselten “Data” im 1cs OBS. Dadurch ist der Wert gegen Manipulation geschützt.  Der Custom-Wert wird dann in Klartext an die 1cs OBS-Antwort angehängt und dabei wird “|” durch “&” ersetzt. Dadurch können Sie einen Custom-Wert übergeben und bekommen mehrere Key-Value-Paare zu Ihrer eigenen Verwendung in der Antwort zurück.
expirationTimeans..19OZeitstempel für den Endzeitpunkt der Transaktionsverarbeitung, Angabe in UTC. Format: YYYY-MM-ddTHH:mm:ss
IBANans..34CNur bei EVO: International Bank Account Number (bei Gutschriftenfunktion und bei Account Prüfung über EVO Pflicht)
Capturean..6MBestimmt Art und Zeitpunkt der Buchung (engl. Capture).
AUTO Buchung sofort nach Autorisierung (Standardwert).
MANUAL Buchung erfolgt durch den Händler – in der Regel die Buchung zum Zeitpunkt der Warenauslieferung bzw. Leistungserbringung.
ShoppingBasketCategorya..8MKategorisiert den Warenkorb:
„DIGITAL“ für Warenkörbe mit ausschließlich digitalen Gütern
„PHYSICAL“ für Warenkörbe mit ausschließlich physischen Gütern
„MIXED“ für Warenkörbe mit sowohl digitalen als auch physischen Gütern
“ANONYMOUS_DONATION”: Beim Warenkorb handelt es sich ausschließlich um eine anonyme Spende
“AUTHORITIES_PAYMENT”: Beim Warenkorb handelt es sich ausschließlich um Behördenzahlungen
DeliveryMethodans..12OLieferort: STANDARD, PACKSTATION oder STORE_PICKUP. Der Standardwert ist STANDARD.
STANDARD: Die Güter werden an eine gewöhnliche Postadresse geliefert.
PACKSTATION: Die Güter werden an eine Packstation geliefert.
STORE_PICKUP: Die Güter werden in der Filiale abgeholt.
Dieses Feld enthält bei Express-Checkouts immer den Wert STANDARD und wird nicht anhand der gewählten Lieferoption aktualisiert.
sdFirstNameans..50CVorname in der Lieferanschrift. Pflicht, wenn ShoppingBasketCategory IST NICHT „AUTHORITIES_PAYMENT“ und IST NICHT „ANONYMOUS_DONATION“
sdLastNameans..50CNachname in der Lieferanschrift. Pflicht, wenn ShoppingBasketCategory IST NICHT „AUTHORITIES_PAYMENT“ und IST NICHT „ANONYMOUS_DONATION“
sdCompanyans..100OFirmenname in der Lieferanschrift
sdAddressAdditionans..30OAdresszusatz in der Lieferanschrift
sdStreetans..100CStraßenname in der Lieferanschrift
Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION”
sdStreetNrans..8CHausnummer in der Lieferanschrift
Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION”
sdZipn..5CPostleitzahl in der Lieferanschrift
Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION”
sdCityans..100COrt in der Lieferanschrift
Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION”
sdCountryCodean2CLändercode in der Lieferanschrift
Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION”
sdEMailans..100CE-Mail-Adresse des Empfängers
Pflicht, wenn ShoppingBasketCategory = „DIGITAL“
MinAgen..3ODurch Nutzung des Feldes Mindestalter ergibt sich für den Kunden nur die Option „giropay-Login“, da eine Altersüberprüfung zu diesem Zeitpunkt nur mit einem bestehenden giropay-Konto möglich ist. Mindestalter in Jahren.
Parameter für Online-Überweisungen mit giropay

Die folgende Tabelle beschreibt die Ergebnis-Parameter, die das 1cs Online Bezahlsystem an Ihre URLSuccess, URLFailure und URLNotify übergibt. Wenn Sie den Parameter Response=encrypt angegeben haben, werden die folgenden Parameter mit Blowfish verschlüsselt an Ihr System übergeben:

ParameterFormatCNDBeschreibung
MIDans..30MHändlerID, die von der First Cash Solution vergeben wird
PayIDan32MVom 1cs Online Bezahlsystem vergebene ID für die Zahlung, z.B. zur Referenzierung in Batch-Dateien sowie im Capture- oder Credit-Request.
XIDan32MVom 1cs Online Bezahlsystem vergebene ID für alle einzelnen Transaktionen (Autorisierung, Buchung, Gutschrift), die für eine Zahlung durchgeführt werden
TransIDans..64MIhre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss
Statusa..50MOK (URLSuccess) oder FAILED (URLFailure)
Descriptionans..1024MNähere Beschreibung bei Ablehnung der Zahlung. Bitte nutzen Sie nicht den Parameter Description sondern Code für die Auswertung des Transaktionsstatus!
Coden8MFehlercode gemäß Excel-Datei 1cs Online Bezahlsystem Antwort-Codes
RefNrans..30OCEindeutige Referenznummer des Händlers Es sind ausschließlich ASCII-Zeichen erlaubt. Sonderzeichen wie (“Umlaute”, …) sind nicht erlaubt und müssen ggf. durch ASCII-Zeichen ersetzt werden (z.B. ü → ue, é → e, …).
UserDataans..1024OWenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop
MACan64MHash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier: HMAC-Authentisierung (Anfrage) HMAC-Authentisierung (Notify)
TransactionIDan..20OEindeutige Transaktionsnummer
Plainans..50OEin einzelner Wert, der von Ihnen gesetzt werden kann, um Informationen wieder unverschlüsselt in der Antwort bzw. im Notify zurückzugeben, z.B. die MID. Da der “Plain”-Parameter Teil des verschlüsselten “Data” im 1cs Online Bezahlsystem ist, ist dieser vor Manipulationen geschützt.
Customans..1024ODer “Custom”-Parameter wird vor der Verschlüsselung an den Aufruf angehängt und ist Teil des verschlüsselten “Data” im 1cs OBS Aufruf. Dadurch ist der Wert gegen Manipulation geschützt.  Der Custom-Wert wird dann in Klartext an die 1cs OBS-Antwort angehängt und dabei wird “|” durch “&” ersetzt. Dadurch können Sie einen Custom-Wert übergeben und bekommen mehrere Key-Value-Paare zu Ihrer eigenen Verwendung in der Antwort zurück.
Ergebnis-Parameter für URLNotify, URLSuccess und URLFailure bei giropay

2.3 Buchung

Buchungen sind über eine Server-zu-Server-Kommunikation möglich. Um eine Buchung (Capture) für paydirekt über eine Server-zu-Server-Verbindung auszuführen, verwenden Sie bitte folgende URL:

https://www.computop-paygate.com/capture.aspx

Hinweis: Aus Sicherheitsgründen lehnt das 1cs Online Bezahlsystem alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.

Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:

KeyFormatCNDBeschreibung
MerchantIDans..30MHändlerID, die von der First Cash Solution vergeben wird. Dieser Parameter ist zusätzlich auch unverschlüsselt zu übergeben.
PayIDan32MVom 1cs Online Bezahlsystem vergebene ID für die zu buchende Zahlung
TransIDans..20MTransaktionsID, die für jede Zahlung eindeutig sein muss. Es darf kein Unterstrich verwendet werden.
RefNrns..30OReferenznummer des Händlers: hier kann eine separate Referenznummer wie z.B. Rechnungsnummer übergeben werden Es sind ausschließlich ASCII-Zeichen erlaubt. Sonderzeichen wie (“Umlaute”, …) sind nicht erlaubt und müssen ggf. durch ASCII-Zeichen ersetzt werden (z.B. ü → ue, é → e, …).
Amountn..10MBetrag in der kleinsten Währungseinheit (z.B. EUR Cent) Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.
MACan64MHash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier: HMAC-Authentisierung (Anfrage) HMAC-Authentisierung (Notify)
UserDataans..1024OWenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop
Noteans..37OText, der dem Kunden im Verwendungszweck angezeigt wird
Parameter für giropay-Buchungen

Folgende Tabelle beschreibt die Ergebnis-Parameter, die das 1cs Online Bezahlsystem als Antwort zurückgibt:

hinweis es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden

hinweis die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden 

KeyFormatCNDBeschreibung
MIDans..30MHändlerID, die von der First Cash Solution vergeben wird
PayIDan32MVom 1cs Online Bezahlsystem vergebene ID für die Zahlung, z.B. zur Referenzierung in Batch-Dateien sowie im Capture- oder Credit-Request.
XIDan32MVom 1cs Online Bezahlsystem vergebene ID für alle einzelnen Transaktionen (Autorisierung, Buchung, Gutschrift), die für eine Zahlung durchgeführt werden
TransIDans..20MTransaktions-ID, die für jede Zahlung eindeutig sein muss
Statusa..50MOK, CAPTURE_REQUEST oder FAILED
Descriptionans..1024MNähere Beschreibung bei Ablehnung der Zahlung. Bitte nutzen Sie nicht den Parameter Description sondern Code für die Auswertung des Transaktionsstatus!
Coden8MFehlercode gemäß Excel-Datei 1cs Online Bezahlsystem Antwort Codes
RefNrns..30OEindeutige Referenznummer des Händlers Es sind ausschließlich ASCII-Zeichen erlaubt. Sonderzeichen wie (“Umlaute”, …) sind nicht erlaubt und müssen ggf. durch ASCII-Zeichen ersetzt werden (z.B. ü → ue, é → e, …).
UserDataans..1024OWenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop
TransactionIDans36OEindeutige Transaktions-ID dieses Captures (UUID). Der Wert wird durch das paydirekt-System vergeben.
Ergebnis-Parameter für giropay-Buchungen