Benutzer-Werkzeuge

Webseiten-Werkzeuge


girocheckout:giropay:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
girocheckout:giropay:start [2022/07/26 15:46]
thorstenmarx
girocheckout:giropay:start [2024/06/05 18:24] (aktuell)
michaelheumann
Zeile 1: Zeile 1:
 ~~NOCACHE~~ ~~NOCACHE~~
-====== giropay über Paydirekt ======+====== giropay ======
  
 giropay kann **ausschließlich** mit der Währung **EURO** verwendet werden. giropay kann **ausschließlich** mit der Währung **EURO** verwendet werden.
    
  
-<WRAP center round info 80%>+<WRAP center round info 70%>
 **Wichtiger Hinweis** \\ **Wichtiger Hinweis** \\
-In den nächsten Monaten stellen wir voraussichtlich schrittweise unsere Unterstützung für die bisherige giropay-Schnittstelle (s. [[/girocheckout:giropay:start|alte giropay-Beschreibung]]) ein. Danach gilt AUSSCHLIEßLICH die hier beschriebene neue Schnittstelle.  Falls Sie umsteigen, beachten Sie bitte unseren [[/girocheckout:giropay-overview:start#migrationsleitfaden|Migrationsleitfaden]] auf unserer giropay Übersichtsseite. Dort finden Sie auch einen [[/girocheckout:giropay-overview:start#vergleich_alte_und_neue_schnittstelle|Vergleich der alten und neuen Schnittstelle]].+In den nächsten Monaten stellen wir voraussichtlich schrittweise unsere Unterstützung für die bisherige giropay-Schnittstelle (s. [[/girocheckout:giropay-legacy:start|alte giropay-Beschreibung]]) ein. Danach gilt AUSSCHLIEßLICH die hier beschriebene neue Schnittstelle.  Falls Sie umsteigen, beachten Sie bitte unseren [[/girocheckout:giropay-overview:start#migrationsleitfaden|Migrationsleitfaden]] auf unserer giropay Übersichtsseite. Dort finden Sie auch einen [[/girocheckout:giropay-overview:start#vergleich_alte_und_neue_schnittstelle|Vergleich der alten und neuen Schnittstelle]]. 
 +</WRAP> 
 + 
 + 
 + 
 +<WRAP center round info 70%> 
 +**Änderung an der API** \\ 
 +Folgende Änderung an der API wird in diesen Tagen durchgeführt: \\ 
 +Der Parameter merchantReconciliationReferenceNumber wird ersetzt durch merchantOrderReferenceNumber, welcher weiterhin optional ist aber nur 20 Zeichen lang sein darf. Man beachte auch die unten angegebenen Restriktionen bzgl. der zugelassenen Zeichen.
 </WRAP> </WRAP>
  
Zeile 13: Zeile 21:
 ===== Testdaten giropay ===== ===== Testdaten giropay =====
 {{page>testdata:giropaypd&noheader&nofooter}} {{page>testdata:giropaypd&noheader&nofooter}}
 +
 +===== Transaktionstypen =====
 +Detaillierte Informationen zu den [[girocheckout:transactiontypes:start|Transaktionstypen]]. 
 +
 +<uml>
 +left to right direction
 +skinparam packageStyle rect
 +
 +rectangle SALE{
 +  (SALE) --> (REFUND)
 +  (REFUND)
 +}
 +rectangle AUTH {
 +  (AUTH) --> (CAPTURE )
 +  (CAPTURE ) --> (REFUND )
 +
 +}
 +</uml>
  
 ===== Workflow ===== ===== Workflow =====
Zeile 51: Zeile 77:
  
   - Käufer/Kunde wählt giropay   - Käufer/Kunde wählt giropay
-  - Shop initiiert giropay Transaktion ([[girocheckout:giropaypd:start#initialisierung_einer_giropay_zahlung|Initialisierung]])+  - Shop initiiert giropay Transaktion ([[girocheckout:giropay:start#initialisierung_einer_giropay_zahlung|Initialisierung]])
   - GiroCheckout initialisiert Transaktion bei giropay   - GiroCheckout initialisiert Transaktion bei giropay
   - giropay übermittelt Ergebnis an GiroCheckout   - giropay übermittelt Ergebnis an GiroCheckout
Zeile 63: Zeile 89:
   - Bank übermittelt Ergebnis an giropay   - Bank übermittelt Ergebnis an giropay
   - giropay übermittelt Ergebnis an GiroCheckout   - giropay übermittelt Ergebnis an GiroCheckout
-  - GiroCheckout benachrichtigt Shop über Ausgang ([[girocheckout:giropaypd:start#Benachrichtigung_über_den_Zahlungsausgang|Benachrichtigung]])+  - GiroCheckout benachrichtigt Shop über Ausgang ([[girocheckout:giropay:start#Benachrichtigung_über_den_Zahlungsausgang|Benachrichtigung]])
   - Shop verarbeitet Ausgang   - Shop verarbeitet Ausgang
   - Shop sendet HTTP Statuscode an GiroCheckout   - Shop sendet HTTP Statuscode an GiroCheckout
   - GiroCheckout sendet Rücksprung zum Händler an giropay   - GiroCheckout sendet Rücksprung zum Händler an giropay
-  - Käufer/Kunde klickt "Zurück zum Shop" ([[girocheckout:giropaypd:start#Rückleitung_des_Kunden_zum_Händler|Rücksprung]])+  - Käufer/Kunde klickt "Zurück zum Shop" ([[girocheckout:giropay:start#Rückleitung_des_Kunden_zum_Händler|Rücksprung]]) 
 + 
 + 
 +==== Reservieren (AUTH) ==== 
 +{{page>girocheckout:transactiontypes:descriptions#auth.desc&noheader&nofooter}} 
 +<uml> 
 +left to right direction 
 +skinparam packageStyle rect 
 + 
 +rectangle AUTH { 
 +  (AUTH) --> (capture) 
 +  (AUTH) --> (refund) 
 +} 
 +</uml> 
 + 
 +==== Reservieren/Buchen (SALE) ==== 
 +{{page>girocheckout:transactiontypes:descriptions#sale.desc&noheader&nofooter}} 
 +<uml> 
 +left to right direction 
 +skinparam packageStyle rect 
 + 
 +rectangle SALE{ 
 +  (SALE) --> (refund) 
 +} 
 +</uml> 
  
 ===== API-Funktionen ===== ===== API-Funktionen =====
Zeile 77: Zeile 128:
   - Transaktion initiieren   - Transaktion initiieren
   - Bezahlinformation an Händler übermitteln   - Bezahlinformation an Händler übermitteln
-  - Bezahlinformation mit Käuferbrowserweiterleitung zurück zum Händler (durch Käufer nach Zahlung ausgelöst)+  - Bezahlinformation mit Käuferbrowserweiterleitung zurück zum Händler (durch Käufer nach Zahlung ausgelöst oder automatisch nach einigen Sekunden)
  
 Im Folgenden werden die API-Felder und Aufrufe näher erläutert. Im Folgenden werden die API-Felder und Aufrufe näher erläutert.
Zeile 98: Zeile 149:
 |amount         |Ja       |Integer     |Bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny | |amount         |Ja       |Integer     |Bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny |
 |currency       |Ja       |String(3)   |Währung der Transaktion\\ EUR = Euro| |currency       |Ja       |String(3)   |Währung der Transaktion\\ EUR = Euro|
-|purpose        |Ja       |String(20)  |Verwendungszweck der giropay Überweisung. **Achtung: Zulässige Zeichen: A-Z a-z 0-9 + ? / - : ( ) . , ' (KEINE Blanks)**, maximale Länge: 20  | +|purpose        |Ja       |String(27)  |Verwendungszweck der giropay Überweisung. Zulässige Zeichen entsprechend dem SEPA-Zeichensatz (s. [[girocheckout:giropay:start#sepa-konforme_zeichen|SEPA-konforme Zeichen]]). | 
-|shoppingCartType |Optional | String    |Typ des Warenkorbs. Folgende Werte sind zulässig: \\ PHYSICAL = Alle Waren im Warenkorb sind physischer Natur, \\ DIGITAL = Alle Waren im Warenkorb sind digitaler Natur (benötigen also keinen Versand), \\ MIXED = Der Warenkorb enthält sowohl physische als auch digitale Waren (dies ist der Default-Wert, wenn der Parameter nicht angegeben wird), \\ ANONYMOUS_DONATION = Es handelt sich um eine anonyme Spende (keine Adressdaten notwendig), \\ AUTHORITIES_PAYMENT = Es handelt sich um eine Behördenzahlung (keine Adressdaten notwendig) | +|type           |Optional |String(4)      |Transaktionsart (siehe [[girocheckout:transactiontypes:start]]) \\ SALE = Verkauf wird sofort gebucht (default) \\ AUTH = Reservierung des Betrags | 
-|shippingAddresseFirstName |(s. Beschr.) |String    | Vorname des Addressaten, **Pflicht** bei Warenkorbtypen PHYSICAL, DIGITAL und MIXED, optional bei ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. | +|shoppingCartType |Optional | String(19) |Typ des Warenkorbs. Folgende Werte sind zulässig: \\ PHYSICAL = Alle Waren im Warenkorb sind physischer Natur, \\ DIGITAL = Alle Waren im Warenkorb sind digitaler Natur (benötigen also keinen Versand), \\ MIXED = Der Warenkorb enthält sowohl physische als auch digitale Waren (dies ist der Default-Wert, wenn der Parameter nicht angegeben wird), \\ ANONYMOUS_DONATION = Es handelt sich um eine anonyme Spende (keine Adressdaten notwendig), \\ AUTHORITIES_PAYMENT = Es handelt sich um eine Behördenzahlung (keine Adressdaten notwendig) | 
-|shippingAddresseLastName  |(s. Beschr.) |String    | Nachname des Addressaten, **Pflicht** bei Warenkorbtypen PHYSICAL, DIGITAL und MIXED, optional bei ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. | +|shippingAddresseFirstName |(s. Beschr.) |String(100) | Vorname des Addressaten, **Pflicht** bei Warenkorbtypen PHYSICAL, DIGITAL und MIXED, optional bei ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. Zulässige Zeichen: Alle Buchstaben (UTF-8, auch ausländisch), 0-9, die Zeichen %% .-!#$%&'*+/=?^_’`´{|}~"(),:;<>@[] %%, außerdem Leerzeichen und Zeilenumbruch.| 
-|shippingCompany      |Optional   |String    | Firmenname | +|shippingAddresseLastName  |(s. Beschr.) |String(100) | Nachname des Addressaten, **Pflicht** bei Warenkorbtypen PHYSICAL, DIGITAL und MIXED, optional bei ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. Zulässige Zeichen s. shippingAddresseLastName. | 
-|shippingAdditionalAddressInformation |Optional       |String | Addresszusatz | +|shippingCompany      |Optional   |String(100)   | Firmenname. Zulässige Zeichen s. shippingAddresseLastName. | 
-|shippingStreet       |Optional      |String    | Straße des Addressaten | +|shippingAdditionalAddressInformation |Optional   |String(100) | Addresszusatz. Zulässige Zeichen s. shippingAddresseLastName. | 
-|shippingStreetNumber |Optional    |String    | Hausnummer des Addressaten | +|shippingStreet       |Optional      |String(100) | Straße des Addressaten. Zulässige Zeichen s. shippingAddresseLastName.  | 
-|shippingZipCode      |(s. Beschr.)      |String    | PLZ des Addressaten. Dies ist Pflicht bei Warenkörben der Typen PHYSICAL und MIXED, optional bei DIGITAL, ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. | +|shippingStreetNumber |Optional    |String(10)    | Hausnummer des Addressaten. Zulässige Zeichen s. shippingAddresseLastName. | 
-|shippingCity         |(s. Beschr.)      |String    | Ort des Addressaten. Dies ist Pflicht bei Warenkörben der Typen PHYSICAL und MIXED, optional bei DIGITAL, ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. | +|shippingZipCode      |(s. Beschr.)      |String(10) | PLZ des Addressaten. **Pflicht** bei Warenkörben der Typen PHYSICAL und MIXED, optional bei DIGITAL, ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. Zulässige Zeichen s. shippingAddresseLastName. | 
-|shippingCountry      |(s. Beschr.)     |String(2) | Ländercode (ISO 3166-1). Dies ist Pflicht bei Warenkörben der Typen PHYSICAL und MIXED, optional bei DIGITAL, ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. | +|shippingCity         |(s. Beschr.)      |String(100) | Ort des Addressaten.  **Pflicht** bei Warenkörben der Typen PHYSICAL und MIXED, optional bei DIGITAL, ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. Zulässige Zeichen s. shippingAddresseLastName. | 
-|shippingEmail        |(s. Beschr.)     |String    | Email-Adresse des Käufers. Dies ist Pflicht bei digitalen Warenkörben (DIGITAL), bei allen anderen optional. | +|shippingCountry      |(s. Beschr.)     |String(2) | Ländercode (nach ISO 3166-1). **Pflicht** bei Warenkörben der Typen PHYSICAL und MIXED, optional bei DIGITAL, ANONYMOUS_DONATION und AUTHORITIES_PAYMENT. | 
-|merchantReconciliationReferenceNumber  |Optional         |String(30)    | Zusatzinformation für die Zahlungszuordnung, die im Verwendungszweck angezeigt wird (nur bei type=SALE) | +|shippingEmail        |(s. Beschr.)     |String(255)  | Email-Adresse des Käufers. **Pflicht** bei digitalen Warenkörben (DIGITAL), bei allen anderen optional. | 
-|cart           |Optional      |JSON String | alle Elemente des Warenkorbs im folgenden Format: s. weiter unten:  [[girocheckout:giropaypd:start#cart-element|Beschreibung cart-Element]] | +|merchantOrderReferenceNumber  |Optional         |String(20)    | Zusatzinformation für die Zahlungszuordnung, die im Verwendungszweck angezeigt wird (nur bei type=SALE). Zulässige Zeichen entsprechend dem SEPA-Zeichensatz (s. [[girocheckout:giropay:start#sepa-konforme_zeichen|SEPA-konforme Zeichen]]).  | 
-|deliveryType |Optional | String    |Typ des Versands. Folgende Werte sind zulässig: \\ STANDARD = Die Ware wird an eine normale Postadresse versandt (dies ist der Default-Wert, wenn der Parameter nicht angegeben wird), \\ PACKSTATION = Die Waren werden an eine Selbstbedienungs-Packstation für Pakete geliefert, \\ STORE_PICKUP = Die Waren werden in der Geschäftsstelle des Verkäufers abhgeholt. | +|cart           |Optional      |JSON String | alle Elemente des Warenkorbs im folgenden Format: s. weiter unten:  [[girocheckout:giropay:start#cart-element|Beschreibung cart-Element]]. Zulässige Zeichen s. shippingAddresseLastName. | 
-|urlRedirect    |Ja       |String      |URL, an die der Kunde nach der Zahlung geschickt werden soll. | +|deliveryType |Optional | String(12)  |Typ des Versands. Folgende Werte sind zulässig: \\ STANDARD = Die Ware wird an eine normale Postadresse versandt (dies ist der Default-Wert, wenn der Parameter nicht angegeben wird), \\ PACKSTATION = Die Waren werden an eine Selbstbedienungs-Packstation für Pakete geliefert, \\ STORE_PICKUP = Die Waren werden in der Geschäftsstelle des Verkäufers abhgeholt. | 
-|urlNotify      |Ja       |String      |URL, an die der Zahlungsausgang gemeldet werden soll. | +|urlRedirect    |Ja       |String(2048) |URL, an die der Kunde nach der Zahlung geschickt werden soll. | 
-|hash           |Ja       |String      |HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |+|urlNotify      |Ja       |String(2048) |URL, an die der Zahlungsausgang gemeldet werden soll. | 
 +|kassenzeichen  |Optional |String(255)  |Optionales Feld für die Übergabe eines Kassenzeichens.  Dieses wird dann im GiroCockpit in den Transaktionsdetails angezeigt (und bald auch exportiert) und es kann dort auch danach gesucht werden. Zulässige Zeichen sind alle UTF-8-Zeichen. | 
 +|giropayCustomerId     |Optional |String(20)   | Kundennummer, max. Länge: 20 | 
 +|hash           |Ja       |String(32)   |HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |
  
  
 == Beispiel == == Beispiel ==
-{{page>codesamples:giropaypd#transactionstart.request&noheader&nofooter}}+{{page>codesamples:giropay#transactionstart.request&noheader&nofooter}}
  
 === Antwort === === Antwort ===
Zeile 127: Zeile 181:
 ^Name           ^Pflicht  ^Type      ^Beschreibung   ^ ^Name           ^Pflicht  ^Type      ^Beschreibung   ^
 |rc             |Ja       |Integer   |[[girocheckout:errorcodes|Fehlernummer]] | |rc             |Ja       |Integer   |[[girocheckout:errorcodes|Fehlernummer]] |
-|msg            |Ja       |String    |zusätzliche Informationen im Fehlerfall | +|msg            |Ja       |String(255)    |zusätzliche Informationen im Fehlerfall | 
-|reference      |Optional |String    |eindeutige GiroCheckout Transaktions-ID | +|reference      |Optional |String(36)    |eindeutige GiroCheckout Transaktions-ID | 
-|redirect       |Optional |String    |Redirect URL zur Weiterleitung des Kunden an sein Online Banking|+|redirect       |Optional |String(2048)    |Redirect URL zur Weiterleitung des Kunden an sein Online Banking|
 ^HEADER Parameter^^^^ ^HEADER Parameter^^^^
-|hash           |Ja       |String    |HMAC MD5 hash über alle Werte der Rückmeldung. Siehe [[girocheckout:general:start#uebermittlung_von_daten_ueber_einen_schnittstellenaufruf_an_den_haendler|hash der Rückantwort]] |+|hash           |Ja       |String(32)    |HMAC MD5 hash über alle Werte der Rückmeldung. Siehe [[girocheckout:general:start#uebermittlung_von_daten_ueber_einen_schnittstellenaufruf_an_den_haendler|hash der Rückantwort]] |
  
 == Beispiel im Erfolgsfall == == Beispiel im Erfolgsfall ==
-{{page>codesamples:giropaypd#transactionstart.response.true&noheader&nofooter}}+{{page>codesamples:giropay#transactionstart.response.true&noheader&nofooter}}
  
 == Beispiel im Fehlerfall == == Beispiel im Fehlerfall ==
-{{page>codesamples:giropaypd#transactionstart.response.false&noheader&nofooter}}+{{page>codesamples:giropay#transactionstart.response.false&noheader&nofooter}} 
 + 
 +==== SEPA-konforme Zeichen ==== 
 +{{page>resources:sepa-chars&noheader&nofooter}}
  
 === cart-Element === === cart-Element ===
Zeile 143: Zeile 200:
  
 ^Name           ^Pflicht        ^Type        ^Beschreibung   ^ ^Name           ^Pflicht        ^Type        ^Beschreibung   ^
-|name           |Ja             |String      | Artikelname | +|name           |Ja             |String(100) | Artikelname | 
-|ean            |Optional       |String      | Die Internationale Artikel Nummer (EAN bzw. GTIN) | +|ean            |Optional       |String(100) | Die Internationale Artikel Nummer (EAN bzw. GTIN) | 
-|quantity       |Ja             |Dezimal     | Menge des Artikels (Ganzzahl) |+|quantity       |Ja             |Integer     | Menge des Artikels (Ganzzahl) |
 |grossAmount    |Optional       |Integer     | Brutto- und Einzelbetrag des Artikels (also Preis pro Stück, bei mehreren), bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny | |grossAmount    |Optional       |Integer     | Brutto- und Einzelbetrag des Artikels (also Preis pro Stück, bei mehreren), bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny |
  
Zeile 177: Zeile 234:
  
 == GET Parameter == == GET Parameter ==
-^Name           ^Pflicht  ^^^Type        ^Beschreibung   ^ +^Name           ^Pflicht  ^Type        ^Beschreibung   ^ 
-|gcReference      |Ja        String      | GiroCheckout Transaktions-ID | +|gcReference      |Ja  | String(36)  | GiroCheckout Transaktions-ID | 
-|gcMerchantTxId   |Ja     String      | Händler Transaktions-ID | +|gcMerchantTxId   |Ja  | String(255) | Händler Transaktions-ID | 
-|gcBackendTxId    |Ja    String      | Zahlungsabwickler Transaktions-ID | +|gcBackendTxId    |Ja  | String(36)  | Zahlungsabwickler Transaktions-ID | 
-|gcAmount         |Ja      Integer     | bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent | +|gcAmount         |Ja  | Integer     | bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent | 
-|gcCurrency       |Ja       String      | Währung | +|gcCurrency       |Ja  | String(3)   | Währung | 
-|gcResultPayment  |Ja    Integer     | [[girocheckout:resultcodes#zahlungsausgang|Ergebniscodes der giropay Zahlung]]| +|gcResultPayment  |Ja  | Integer/String(1) | String "0" oder numerischer [[girocheckout:resultcodes#zahlungsausgang|Ergebniscode der giropay Zahlung]]| 
-|gcHash           |Ja    String      | HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |+|gcHash           |Ja  | String(32)  | HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |
  
 === Antwort === === Antwort ===
Zeile 205: Zeile 262:
 ^Name           ^Pflicht  ^^^Type        ^Beschreibung   ^ ^Name           ^Pflicht  ^^^Type        ^Beschreibung   ^
 ^           ^giropay^giropay-ID^giropay+giropay-ID  ^        ^   ^ ^           ^giropay^giropay-ID^giropay+giropay-ID  ^        ^   ^
-|gcReference      |Ja      |Ja      |Ja       |String      | GiroCheckout Transaktions-ID | +|gcReference      |Ja      |Ja      |Ja       |String(36)  | GiroCheckout Transaktions-ID | 
-|gcMerchantTxId   |Ja      |Ja      |Ja       |String      | Händler Transaktions-ID | +|gcMerchantTxId   |Ja      |Ja      |Ja       |String(255) | Händler Transaktions-ID | 
-|gcBackendTxId    |Ja      |Ja      |Ja       |String      | Zahlungsabwickler Transaktions-ID |+|gcBackendTxId    |Ja      |Ja      |Ja       |String(36)  | Zahlungsabwickler Transaktions-ID |
 |gcAmount         |Ja      |        |Ja       |Integer     | bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent | |gcAmount         |Ja      |        |Ja       |Integer     | bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent |
-|gcCurrency       |Ja      |        |Ja       |String      | Währung | +|gcCurrency       |Ja      |        |Ja       |String(3)   | Währung | 
-|gcResultPayment  |Ja      |        |Ja       |Integer     | [[girocheckout:resultcodes#zahlungsausgang|Ergebniscodes der giropay Zahlung]]| +|gcResultPayment  |Ja      |        |Ja       |Integer/String(1) | String "0" oder numerischer [[girocheckout:resultcodes#zahlungsausgang|Ergebniscode der giropay Zahlung]]| 
-|gcHash           |Ja      |Ja      |Ja       |String      | HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |+|gcHash           |Ja      |Ja      |Ja       |String(32)  | HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |
  
 ===== Senderinformationen abrufen ===== ===== Senderinformationen abrufen =====
Zeile 229: Zeile 286:
  
 == Beispiel == == Beispiel ==
-{{page>codesamples:giropaypd#senderinfo.request&noheader&nofooter}}+{{page>codesamples:giropay#senderinfo.request&noheader&nofooter}}
  
 === Antwort === === Antwort ===
Zeile 237: Zeile 294:
 ^Name           ^Pflicht  ^Type      ^Beschreibung   ^ ^Name           ^Pflicht  ^Type      ^Beschreibung   ^
 |rc             |Ja       |Integer   |[[girocheckout:errorcodes|Fehlernummer]] | |rc             |Ja       |Integer   |[[girocheckout:errorcodes|Fehlernummer]] |
-|msg            |Ja       |String    |zusätzliche Informationen im Fehlerfall | +|msg            |Ja       |String(255)  |zusätzliche Informationen im Fehlerfall | 
-|accountholder  |Optional |String    |Inhaber des Absenderkontos| +|accountholder  |Optional |String(255)  |Inhaber des Absenderkontos| 
-|iban           |Optional |String    |IBAN des Absenderkontos | +|iban           |Optional |String(36)  |IBAN des Absenderkontos | 
-|bic            |Optional |String    |BIC des Absenderkontos |+|bic            |Optional |String(11)  |BIC des Absenderkontos |
 ^HEADER Parameter^^^^ ^HEADER Parameter^^^^
-|hash           |Ja       |String    |HMAC MD5 hash über alle Werte der Rückmeldung. Siehe [[girocheckout:general:start#uebermittlung_von_daten_ueber_einen_schnittstellenaufruf_an_den_haendler|hash der Rückantwort]] |+|hash           |Ja       |String(32) |HMAC MD5 hash über alle Werte der Rückmeldung. Siehe [[girocheckout:general:start#uebermittlung_von_daten_ueber_einen_schnittstellenaufruf_an_den_haendler|hash der Rückantwort]] |
  
 == Beispiel im Erfolgsfall == == Beispiel im Erfolgsfall ==
-{{page>codesamples:giropaypd#senderinfo.response.true&noheader&nofooter}}+{{page>codesamples:giropay#senderinfo.response.true&noheader&nofooter}}
  
 == Beispiel im Fehlerfall == == Beispiel im Fehlerfall ==
-{{page>codesamples:giropaypd#senderinfo.response.false&noheader&nofooter}}+{{page>codesamples:giropay#senderinfo.response.false&noheader&nofooter}}
  
 +===== Weitere Transaktionsarten =====
 +Diese Transaktionen verweisen (referenzieren) auf eine zuvor erfolgte Transaktion. Die Transaktion basiert auf einer Server-zu-Server-Kommunikation und erfordert keine Kundenaktion (Eingabe von Daten).
 +
 +Bereitzustellen von: GiroCheckout \\
 +Aufzurufen von: Händler \\
 +
 +==== Workflow ====
 +
 +<uml>
 +hide footbox
 +
 +participant "Shop" as shop
 +participant "GiroCheckout" as girocheckout
 +participant "giropay" as gp
 +
 +autonumber
 +
 +shop -> girocheckout: 
 +girocheckout -> gp: 
 +gp -> girocheckout: 
 +girocheckout -> shop: 
 +
 +center footer (c)2024 by S-Public Services GmbH
 +</uml>
 +
 +  - Shop sendet referenzierende Transaktion
 +  - GiroCheckout leitet Transaktion zu giropay
 +  - giropay übermittelt Ergebnis an GiroCheckout
 +  - Shop bekommt Rückmeldung über Transaktionsausgang ([[girocheckout:paydirekt:start#benachrichtigung_ueber_den_zahlungsausgang|Benachrichtigung]])
 +
 +==== Buchen (CAPTURE) ====
 +{{page>girocheckout:transactiontypes:descriptions#capture.desc&noheader&nofooter}}
 +
 +<uml>
 +left to right direction
 +skinparam packageStyle rect
 +
 +rectangle AUTH {
 +  (auth) --> (CAPTURE)
 +}
 +</uml>
 +
 +==== Erstattung (REFUND) ====
 +{{page>girocheckout:transactiontypes:descriptions#refund.desc&noheader&nofooter}}
 +<uml>
 +left to right direction
 +skinparam packageStyle rect
 +
 +rectangle SALE{
 +  (sale) --> (REFUND)
 +}
 +rectangle AUTH {
 +  (auth) --> (REFUND )
 +}
 +</uml>
 +
 +=== POST Parameter ===
 +URL CAPTURE: https://payment.girosolution.de/girocheckout/api/v2/transaction/capture \\
 +URL REFUND: https://payment.girosolution.de/girocheckout/api/v2/transaction/refund \\
 +
 +^Name           ^Pflicht^^Type        ^Beschreibung   ^
 +^::: ^ CAPTURE ^ REFUND ^::: ^::: ^
 +|merchantId     |Ja       |Ja  |Integer     |Händler-ID eines giropay-Projekts |
 +|projectId      |Ja       |Ja |Integer     |Projekt-ID eines giropay-Projekts |
 +|merchantTxId   |Ja       |Ja |String(255) |Eindeutige Transaktions-ID des Händlers. Zulässige Zeichen: beliebige Buchstaben (inkl. sprachl. Sonderzeichen), 0-9, Zeichen & = + , : ; . _ ! ? # /  |
 +|amount         |Ja       |Ja |Integer     |Betrag oder Teilbetrag, zwischen 1 und 5000000 (also min. 1 Cent, max. 50000 EUR), bei Refund zwischen 1 und 10000000 (max. 100000 EUR). Bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny |
 +|currency       |Ja       |Ja |String(3)   |Währung der Transaktion, gemäß [[http://de.wikipedia.org/wiki/ISO_4217#Aktuell_g.C3.BCltige_W.C3.A4hrungen|ISO 4217]].\\ EUR = Euro |
 +|purpose        |Ja       |Ja |String(37)  |Verwendungszweck der Transaktion. Diese Information erscheint auf der Abrechnung. |
 +|reference      |Ja  |Ja |String(36)      | GiroCheckout Transaktions-ID der zugrundeliegenden AUTH-Transaktion. |
 +|merchantReconciliationReferenceNumber |Optional |Optional  |String(30)    | Zusatzinformation für die Zahlungszuordnung, die im Verwendungszweck angezeigt wird. |
 +|final   |Optional  | |Boolean | NUR CAPTURE. Letzter CAPTURE auf eine Reservierung. Danach kann auf die referenzierte Reservierung kein weiterer CAPTURE mehr erstellt werden. |
 +|kassenzeichen  |Optional |  |String(255)      |NUR CAPTURE. Optionales Feld für die Übergabe eines Kassenzeichens.  Dieses wird dann im GiroCockpit in den Transaktionsdetails angezeigt (und bald auch exportiert) und es kann dort auch danach gesucht werden. |
 +|hash           |Ja       |Ja |String(32)      |HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |
 +
 +== Beispiel ==
 +{{page>codesamples:giropay#capture.request&noheader&nofooter}}
 +
 +=== Antwort ===
 +Die Antwort besteht aus einem JSON Objekt. Das Feld resultPayment liefert einen Fehlercode zurück. Wird resultPayment = 4000 zurückgeliefert, wurde die Transaktion erfolgreich durchgeführt. Sie bekommen als Antwort eine Transaktionsnummer zurück.
 +
 +== Parameter ==
 +^Name             ^Pflicht  ^Type        ^Beschreibung   ^
 +|rc             |Ja       |Integer   |Antwortcode |
 +|msg            |Ja       |String(255)    |zusätzliche Informationen im Fehlerfall |
 +|reference      |Ja       |String(36)      | GiroCheckout Transaktions-ID |
 +|merchantTxId   |Ja       |String(255)      | Händler Transaktions-ID |
 +|backendTxId    |Ja       |String(36)      | Zahlungsabwickler Transaktions-ID |
 +|amount         |Ja       |Integer     | Bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent |
 +|currency       |Ja       |String(3)      | Währung |
 +|resultPayment  |Ja       |Integer     | [[girocheckout:resultcodes#zahlungsausgang|Ergebnis der Zahlung]]|
 +|hash           |Ja       |String(32)      | HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |
 +
 +== Beispiel im Erfolgsfall ==
 +{{page>codesamples:giropay#capture.response.true&noheader&nofooter}}
 +
 +== Beispiel im Fehlerfall ==
 +{{page>codesamples:giropay#capture.response.false&noheader&nofooter}}
 +
 +==== Stornierung (VOID) ====
 +{{page>girocheckout:transactiontypes:descriptions#void.desc&noheader&nofooter}}
 +
 +=== POST Parameter ===
 +URL VOID: https://payment.girosolution.de/girocheckout/api/v2/transaction/void
 +
 +^Name           ^Pflicht  ^Type        ^Beschreibung   ^
 +|merchantId     |Ja       |Integer     |Händler-ID eines giropay-Projekts |
 +|projectId      |Ja       |Integer     |Projekt-ID eines giropay-Projekts |
 +|merchantTxId   |Ja       |String(255) |eindeutige Transaktions-ID des Händlers. Zulässige Zeichen: beliebige Buchstaben (inkl. sprachl. Sonderzeichen), 0-9, Zeichen & = + , : ; . _ ! ? # /  |
 +|reference      |Ja       |String(36)      |GiroCheckout Transaktions-ID, für die eine Stornierung durchgeführt werden soll |
 +|hash           |Ja       |String(32)      |HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |
 +
 +== Beispiel ==
 +{{page>codesamples:giropay#void.request&noheader&nofooter}}
 +
 +=== Antwort ===
 +Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, wurde die Transaktion erfolgreich initialisiert. Sie bekommen als Antwort eine Transaktionsnummer und weitere Informationen zurück.
 +
 +== Parameter ==
 +^Name             ^Pflicht  ^Type        ^Beschreibung   ^
 +|rc             |Ja       |Integer   |[[girocheckout:errorcodes|Fehlernummer]] |
 +|msg            |Ja       |String(255)    |zusätzliche Informationen im Fehlerfall |
 +|reference      |Ja       |String(36)      | GiroCheckout Transaktions-ID |
 +|referenceParent      |Ja       |String(36)      | GiroCheckout Transaktions-ID der zugrundeliegenden Ursprungstransaktion |
 +|merchantTxId   |Ja       |String(255)      | Händler Transaktions-ID |
 +|backendTxId    |Ja       |String(36)      | Zahlungsabwickler Transaktions-ID |
 +|amount         |Ja       |Integer     | Stornierter Betrag, bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny |
 +|currency       |Ja       |String(3)      | Währung |
 +|resultPayment  |Ja       |Integer     | [[girocheckout:resultcodes#zahlungsausgang|Ergebnis der Transaktion]]|
 +|hash           |Ja       |String(32)      | HMAC MD5 hash über alle Werte des Aufrufs. Siehe  [[girocheckout:general:start#hash_generieren|hash generieren]] |
 +
 +== Beispiel im Erfolgsfall ==
 +{{page>codesamples:giropay#void.response.true&noheader&nofooter}}
 +
 +== Beispiel im Fehlerfall ==
 +{{page>codesamples:giropay#void.response.false&noheader&nofooter}}
  
girocheckout/giropay/start.1658843196.txt.gz · Zuletzt geändert: 2022/07/26 15:46

Seiten-Werkzeuge