Giropay
1.2 Diagaram zum Prozessablauf
2 1cs Online Bezahlsystem Schnittstelle
2.2 Aufruf der giropay-Schnittstelle
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:
Info | Typ |
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:
Format | Beschreibung |
a | alphabetisch |
as | alphabetisch mit Sonderzeichen |
n | numerisch |
an | alphanumerisch |
ans | alphanumerisch mit Sonderzeichen |
ns | numerisch mit Sonderzeichen |
bool | Bool’scher Ausdruck (true oder false) |
3 | feste Länge mit 3 Stellen/Zeichen |
..3 | variable Länge mit maximal 3 Stellen/Zeichen |
enum | Aufzählung erlaubter Werte |
dttm | ISODateTime (JJJJ-MM-TTThh:mm:ss) |
2.1.2 Abkürzungen
Abkürzung | Beschreibung | Kommentar |
CND | Bedingung (condition) | |
M | Pflicht (mandatory) | Wenn ein Parameter Pflicht ist, dann muss er vorhanden sein |
O | optional | Wenn ein Parameter optional ist, dann kann er vorhanden sein, ist aber nicht erforderlich |
C | bedingt (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:
Parameter | Format | CND | Beschreibung |
MerchantID | ans..30 | M | HändlerID, die von der First Cash Solution vergeben wird. Dieser Parameter ist zusätzlich auch unverschlüsselt zu übergeben. |
TransID | ans..64 | M | Ihre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss |
RefNr | ns..30 | OC | Eindeutige 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, …). |
Amount | n..10 | M | Betrag 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. |
Currency | a3 | M | Währung, drei Zeichen DIN / ISO 4217, z.B. EUR, USD, GBP. Hier eine Übersicht: Währungstabelle |
MAC | an64 | M | Hash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier: HMAC-Authentisierung (Anfrage) HMAC-Authentisierung (Notify) |
OrderDesc | ans..768 | M | Beschreibung 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. |
UserData | ans..1024 | O | Wenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop |
URLSuccess | ans..256 | M | Vollstä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. |
URLFailure | ans..256 | M | Vollstä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. |
Response | a7 | O | Die Status-Rückmeldung, die das 1cs Online Bezahlsystem an URLSuccess und URLFailure sendet, sollte verschlüsselt werden. Dazu übergeben Sie den Parameter Response=encrypt. |
URLNotify | ans..256 | O | Vollstä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. |
ReqID | ans..32 | O | Um Doppelzahlungen zu vermeiden, übergeben Sie einen alphanumerischen Wert, der Ihre Transaktion identifiziert und nur einmal vergeben werden darf. Falls die Transaktion mit derselben ReqID erneut eingereicht wird, führt das 1cs Online Bezahlsystem keine Zahlung aus sondern gibt nur den Status der ursprünglichen 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. |
Scheme | enum | O | Gibt das Schema vor: „gir“ oder „eps“ |
BIC | ans..11 | O | Bank Identifier Code |
Plain | ans..50 | O | Ein 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. |
Custom | ans..1024 | O | Der “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. |
expirationTime | ans..19 | O | Zeitstempel für den Endzeitpunkt der Transaktionsverarbeitung, Angabe in UTC. Format: YYYY-MM-ddTHH:mm:ss |
IBAN | ans..34 | C | Nur bei EVO: International Bank Account Number (bei Gutschriftenfunktion und bei Account Prüfung über EVO Pflicht) |
Capture | an..6 | M | Bestimmt 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. |
ShoppingBasketCategory | a..8 | M | Kategorisiert 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 |
DeliveryMethod | ans..12 | O | Lieferort: 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. |
sdFirstName | ans..50 | C | Vorname in der Lieferanschrift. Pflicht, wenn ShoppingBasketCategory IST NICHT „AUTHORITIES_PAYMENT“ und IST NICHT „ANONYMOUS_DONATION“ |
sdLastName | ans..50 | C | Nachname in der Lieferanschrift. Pflicht, wenn ShoppingBasketCategory IST NICHT „AUTHORITIES_PAYMENT“ und IST NICHT „ANONYMOUS_DONATION“ |
sdCompany | ans..100 | O | Firmenname in der Lieferanschrift |
sdAddressAddition | ans..30 | O | Adresszusatz in der Lieferanschrift |
sdStreet | ans..100 | C | Straßenname in der Lieferanschrift Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION” |
sdStreetNr | ans..8 | C | Hausnummer in der Lieferanschrift Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION” |
sdZip | n..5 | C | Postleitzahl in der Lieferanschrift Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION” |
sdCity | ans..100 | C | Ort in der Lieferanschrift Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION” |
sdCountryCode | an2 | C | Ländercode in der Lieferanschrift Pflicht, wenn ShoppingBasketCategory IST NICHT “DIGITAL” und IST NICHT “AUTHORITIES_PAYMENT” und IST NICHT “ANONYMOUS_DONATION” |
sdEMail | ans..100 | C | E-Mail-Adresse des Empfängers Pflicht, wenn ShoppingBasketCategory = „DIGITAL“ |
MinAge | n..3 | O | Durch 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. |
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:
Parameter | Format | CND | Beschreibung |
MID | ans..30 | M | HändlerID, die von der First Cash Solution vergeben wird |
PayID | an32 | M | Vom 1cs Online Bezahlsystem vergebene ID für die Zahlung, z.B. zur Referenzierung in Batch-Dateien sowie im Capture- oder Credit-Request. |
XID | an32 | M | Vom 1cs Online Bezahlsystem vergebene ID für alle einzelnen Transaktionen (Autorisierung, Buchung, Gutschrift), die für eine Zahlung durchgeführt werden |
TransID | ans..64 | M | Ihre eigene TransaktionsID, die für jede Zahlung eindeutig sein muss |
Status | a..50 | M | OK (URLSuccess) oder FAILED (URLFailure) |
Description | ans..1024 | M | Nähere Beschreibung bei Ablehnung der Zahlung. Bitte nutzen Sie nicht den Parameter Description sondern Code für die Auswertung des Transaktionsstatus! |
Code | n8 | M | Fehlercode gemäß Excel-Datei 1cs Online Bezahlsystem Antwort-Codes |
RefNr | ans..30 | OC | Eindeutige 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, …). |
UserData | ans..1024 | O | Wenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop |
MAC | an64 | M | Hash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier: HMAC-Authentisierung (Anfrage) HMAC-Authentisierung (Notify) |
TransactionID | an..20 | O | Eindeutige Transaktionsnummer |
Plain | ans..50 | O | Ein 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. |
Custom | ans..1024 | O | Der “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. |
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:
Key | Format | CND | Beschreibung |
MerchantID | ans..30 | M | HändlerID, die von der First Cash Solution vergeben wird. Dieser Parameter ist zusätzlich auch unverschlüsselt zu übergeben. |
PayID | an32 | M | Vom 1cs Online Bezahlsystem vergebene ID für die zu buchende Zahlung |
TransID | ans..20 | M | TransaktionsID, die für jede Zahlung eindeutig sein muss. Es darf kein Unterstrich verwendet werden. |
RefNr | ns..30 | O | Referenznummer 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, …). |
Amount | n..10 | M | Betrag 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. |
MAC | an64 | M | Hash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier: HMAC-Authentisierung (Anfrage) HMAC-Authentisierung (Notify) |
UserData | ans..1024 | O | Wenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop |
Note | ans..37 | O | Text, der dem Kunden im Verwendungszweck angezeigt wird |
Folgende Tabelle beschreibt die Ergebnis-Parameter, die das 1cs Online Bezahlsystem als Antwort zurückgibt:
es können jederzeit neue Parameter hinzugefügt bzw. die Reihenfolge geändert werden
die Parameter (z.B. MerchantId, RefNr) sollten nicht auf Groß-/Kleinschreibung geprüft werden
Key | Format | CND | Beschreibung |
MID | ans..30 | M | HändlerID, die von der First Cash Solution vergeben wird |
PayID | an32 | M | Vom 1cs Online Bezahlsystem vergebene ID für die Zahlung, z.B. zur Referenzierung in Batch-Dateien sowie im Capture- oder Credit-Request. |
XID | an32 | M | Vom 1cs Online Bezahlsystem vergebene ID für alle einzelnen Transaktionen (Autorisierung, Buchung, Gutschrift), die für eine Zahlung durchgeführt werden |
TransID | ans..20 | M | Transaktions-ID, die für jede Zahlung eindeutig sein muss |
Status | a..50 | M | OK, CAPTURE_REQUEST oder FAILED |
Description | ans..1024 | M | Nähere Beschreibung bei Ablehnung der Zahlung. Bitte nutzen Sie nicht den Parameter Description sondern Code für die Auswertung des Transaktionsstatus! |
Code | n8 | M | Fehlercode gemäß Excel-Datei 1cs Online Bezahlsystem Antwort Codes |
RefNr | ns..30 | O | Eindeutige 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, …). |
UserData | ans..1024 | O | Wenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop |
TransactionID | ans36 | O | Eindeutige Transaktions-ID dieses Captures (UUID). Der Wert wird durch das paydirekt-System vergeben. |