Benutzer-Werkzeuge

Webseiten-Werkzeuge


Übersetzungen dieser Seite:
girocheckout:klarna:start

Klarna

Testdaten

Für das Testen von Klarna benötigen Sie keine Testdaten.

Transaktionstypen

Detaillierte Informationen zu den Transaktionstypen.

Klarna erlaubt:

  • Buchungen (SALE), also direkte Zahlungen ohne vorherige Reservierung.
  • Reservierungen (AUTH), auch Pre-Authorization genannt, um einen Betrag vorab zu reservieren und später ganz oder teilweise zu buchen.
  • Captures, also Buchungen auf eine vorherige Reservierung, wobei Klarna mehrere Teil-Captures erlaubt, die aber insgesamt die Summe des reservierten Betrags nicht überschreiten dürfen.
    Beispiel: Reservierung über 20,00 EUR, 1 Capture über 5,00 EUR, 1 weiterer Capture über 15,00 EUR.
    Es muss nicht unbedingt der volle Betrag einer Reservierung gebucht werden. Bleibt am Ende ein Rest übrig, kann dieser über einen Void wieder freigegeben werden.
  • Void oder Reversal (auch Stornierung), erlaubt die Freigabe eines reservierten Betrags oder Restbetrags, so dass dieser dem Kunden wieder zur Verfügung steht. Wir schon unter Capture im Beispiel gezeigt, ist die Freigabe eines Teilbetrags der Reservierung möglich.
  • Erstattung (Refund), erlaubt die Rückzahlung eines gebuchten Betrags oder eines Teilbetrags an den Kunden. Die Summe der Teilerstattungen darf den Betrag der ursprünglichen Buchung nicht übersteigen. Es sind aber mehrere Teilerstattungen erlaubt, solange diese Summe nicht überschritten wird. Reservierungen können nicht erstattet werden, sondern nur storniert (=Void).

Reservierung (AUTH)

Eine Reservierung ist zu verwenden, wenn die Erfüllung eines Auftrages zu einem späteren Zeitpunkt erfolgt, zum Zeitpunkt der Bestellung aber der Bestellwert für die vom Kunden vorgelegte Karte genehmigt werden soll (bei Kreditkarten-Transaktionen) bzw. die angegebene Bankverbindung geprüft werden soll o.ä.. Nach Ablauf dieses Zeitraumes wird die Reservierung entweder gebucht oder storniert.

  • initiale Transaktion

AUTHCAPTUREVOIDREFUND

Verkauf (SALE)

Verkauf ist zu verwenden, wenn der Geschäftsvorgang abgeschlossen ist, also z. B. ein Warenkorb angeboten, bestellt und an den Kunden ausgeliefert wurde. Das Zahlungsmittel des Kunden wird in Höhe des Betrags belastet.

  • initiale Transaktion

SALEREFUND

Initialisierung einer Klarna-Zahlung

Durch eine erfolgreiche Initialisierung wird eine Referenznummer erstellt sowie ein Weiterleitungslink (redirect) an den Händler übermittelt. Der übermittelte Link führt zum Bezahlformular. Der Kunde muss an diese URL weitergeleitet werden. Dies kann durch einen HTTP-Redirect-Header, eine HTML-Seite mit entsprechendem Meta-Tag oder Javascript erfolgen.

Bereitzustellen von: GiroCheckout
Aufzurufen von: Händler

Workflow

KundeShopGiroCheckoutRechenzentrumKundeShopGiroCheckoutRechenzentrum1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (c)2025 by S-Management Service GmbH

  1. Käufer wählt Zahlart Klarna aus
  2. Shop initiiert Klarna-Transaktion (Initialisierung)
  3. GiroCheckout initialisiert Transaktion bei Rechenzentrum
  4. Rechenzentrum übermittelt Ergebnis an GiroCheckout
  5. Shop bekommt Rückmeldung über Initialisierungsausgang (bei Fehler ist Transaktion beendet)
  6. Shop sendet Redirect URL an Kundenbrowser
  7. Kundenbrowser leitet zum Rechenzentrum weiter
  8. Rechenzentrum zeigt Zahlformular an
  9. Kunde autorisiert Transaktion
  10. Rechenzentrum führt Transaktion durch
  11. Rechenzentrum übermittelt Ergebnis an GiroCheckout
  12. Notification: GiroCheckout benachrichtigt Shop über Transaktionsausgang (Benachrichtigung)
  13. Notification: Shop verarbeitet Transaktionsausgang
  14. Notification: Shop sendet HTTP Statuscode an GiroCheckout
  15. Kunde klickt „Zurück zum Shop“ beim Rechenzentrum oder wartet die automatische Weiterleitung ab (Rücksprung)
  16. GiroCheckout leitet Kunden zurück an den Shop

API-Funktionen

Überblick

Wie im Workflow zu sehen ist, gibt es unterschiedliche API-Aufrufe während einer Klarna-Transaktion. Das Formular, das der Käufer nach Weiterleitung zum Rechenzentrum ausfüllt, wird von Klarna zur Verfügung gestellt und verarbeitet und kann sich im Inhalt und Ablauf je nach Shopeinstellungen oder Käufersituation ändern.

  1. Transaktion initialisieren
  2. Ausfüllen der Formulare bei Klarna durch den Käufer
  3. Benachrichtigung des Zahlungsergebnisses an den Händler
  4. Zurückleitung des Käufers auf die Händlerseiten (ausgelöst durch Käufer oder automatisch)

Reservierung/Sale

POST Parameter

URL https://payment.girosolution.de/girocheckout/api/v2/transaction/start

Name Pflicht Type Beschreibung
merchantId Ja Integer Händler-ID eines Klarna-Projekts
projectId Ja Integer Projekt-ID eines Klarna-Projekts
merchantTxId Ja String(255) eindeutige Transaktions-ID des Händlers. Zulässige Zeichen: beliebige Buchstaben (inkl. sprachl. Sonderzeichen), 0-9, Zeichen & = + , : ; . _ ! ? # /. Diese Information übergibt GiroCheckout über das Feld merchant_information.merchant_data_1 an Klarna.
type Optional String(4) Transaktionsart (siehe Transaktionsarten)
SALE = Verkauf wird sofort gebucht (default)
AUTH = Reservierung des Betrags
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, gemäß ISO 4217.
EUR = Euro
purpose Ja String(40) Verwendungszweck der Transaktion. Da Klarna diese Feld an sich nicht kennt, speichert GiroCheckout die Information unter basket.soft_descriptor, falls dort von Shopseite keine Information übergeben wird.
urlRedirect Ja String(2048) URL, an die der Kunde nach der Zahlung geschickt werden soll.
urlNotify Ja String(2048) URL, an die der Zahlungsausgang gemeldet werden soll.
locale Optional String(4) Sprache des Klarna-Formulars
de = deutsch (default)
en = englisch
es = spanisch
fr = französisch
it = italienisch
ja = japanisch
pt = portugiesisch
nl = niederländisch
cs = tschechisch
sv = schwedisch
da = dänisch
pl = polnisch
billingAddress Optional JSON-String Optionales Feld, das die Rechnungsadresse des Käufers enthalten kann. Die einzelnen Felder entnehmen Sie der Aufstellung weiter unten.
shippingAddress Optional JSON-String Optionales Feld, das die Lieferadresse des Käufers enthalten kann. Fehlt diese Information, wird als Lieferadresse ebenfalls die Rechnungsadresse verstanden. Die einzelnen Felder entnehmen Sie der Aufstellung weiter unten.
customerInfo Optional JSON-String Optionales Feld, das zusätzliche Informationen des Käufers enthalten kann. Die einzelnen Felder entnehmen Sie der Aufstellung weiter unten.
basket Ja JSON-String Pflichtfeld, das den Warenkorb beschreibt. Die einzelnen Felder entnehmen Sie der Aufstellung weiter unten.
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.
hash Ja String(32) HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren

JSON-Objekt für Adressen

Diese Objektstruktur gilt sowohl für die Rechnungsadresse (billingAddress) als auch für die Lieferadresse (shippingAddress).

Name Pflicht Type Beschreibung
first_name Ja String(50) Vorname des Rechnungsempfängers.
last_name Ja String(50) Nachname des Rechnungsempfängers.
title Nein String(20) Klarna versteht unter „title“ die Anrede des Kunden, also z.B. Herr, Frau usw.
email Ja String(254) E-Mail-Adresse des Rechnungsempfängers.
phone_contact Nein Unterobjekt Telefonnummer des Rechnungsempfängers (siehe unten).
company_name Nein String(100) Firmenname, falls der Rechnungsempfänger eine Firma ist.
address_line_1 Ja String(100) Hauptstraße und Hausnummer der Rechnungsadresse.
address_line_2 Nein String(100) Zusätzliche Adresszeile der Rechnungsadresse (optional).
address_line_3 Nein String(100) Weitere zusätzliche Adresszeile der Rechnungsadresse (optional).
postal_code Ja String(10) Postleitzahl der Rechnungsadresse.
city Ja String(50) Stadt der Rechnungsadresse.
state Nein String(50) Bundesland oder Region der Rechnungsadresse.
country Ja String(2) Zweibuchstabiger Ländercode der Rechnungsadresse (ISO 3166).

phone_contact Objekt:

Name Pflicht Type Beschreibung
phone_type Nein String(10) Art der Telefonnummer: `HOME`, `WORK` oder `MOBILE`.
phone_number Nein String(20) Telefonnummer des Rechnungsempfängers.

JSON-Objekt customerInfo

Name Pflicht Type Beschreibung
customer_id Nein String(50) Eindeutige Kunden-ID.
date_of_birth Nein String(10) Geburtsdatum des Kunden im Format `YYYY-MM-DD`.
gender Nein String(10) Geschlecht des Kunden: `MALE`, `FEMALE`, `DIVERSE`.
title Nein String(100) Klarna versteht unter „title“ die Anrede des Kunden, also z.B. Herr, Frau usw.
personal_identifications Nein Unterobjekt Liste von Identifikationsdokumenten (siehe unten).
contacts Nein Unterobjekt Liste von Kontaktmöglichkeiten des Kunden (siehe unten).

contacts-Objekt:

Hier kann im Objekt phone_contacts ein Array mit mehreren Elementen mit den folgenden Feldern angegeben werden:

Name Pflicht Type Beschreibung
phone_type Nein String(10) Art der Telefonnummer: `FAX`, `HOME`, `MOBILE`, `OTHER`, `PAGER`, `WORK`.
phone_number Nein String(16) Telefonnummer im E.164-Format (z. B. `+442071838750`).

personal_identifications-Objekt:

Hier kann ein Array mit mehreren Elementen mit den folgenden Feldern angegeben werden:

Name Pflicht Type Beschreibung
type Nein String(20) Art der Identifikation: `PASSPORT`, `NATIONAL`, `CPF`, `CNPJ`, `CURP`, `SSN`, `DRIVERS_LICENSE`.
id Nein String(26) Identifikationsnummer des Kunden.
issued_by Nein String(50) Für `DRIVERS_LICENSE`: Ausstellende Verwaltungsbehörde oder Gebiet, für alle anderen: Land (ISO 3166-1 Alpha-2 Code)

JSON-Objekt basket

Name Pflicht Type Beschreibung
basket_id Ja String(140) Eindeutige Kennung des Warenkorbs, z. B. „basket123456“.
invoice_id Nein String(127) Externe Rechnungsnummer des API-Aufrufers.
soft_descriptor Nein String Dynamischer Text, der auf dem Kontoauszug des Käufers erscheint, z. B. „800-123-1234“. Hier wird der „purpose“, also der Verwendungszweck gespeichert, wenn das Feld nicht anderweitig verwendet wird.
shipping_costs Nein Unterobjekt Versandkosten des Warenkorbs (siehe unten).
basket_discount Nein Unterobjekt Rabatt auf den gesamten Warenkorb (siehe unten).
basket_type Ja String(10) Typ des Warenkorbs: `DIGITAL`, `MIXED` oder `PHYSICAL`.

shipping_costs und basket_discount

Name Pflicht Type Beschreibung
amount Ja Integer Betrag in der kleinsten Währungseinheit (z. B. Cent).
currency Ja String(3) Währung gemäß ISO 4217 (z. B. `EUR`).

basket_items Liste:

Ein Array mit folgenden Feldern:

Name Pflicht Type Beschreibung
name Ja String(127) Name des Artikels, z. B. „A fine shirt“.
description Nein String(127) Beschreibung des Artikels.
reference Nein String(64) Artikelnummer, SKU oder eine andere Händlerreferenz.
quantity Ja Objekt Menge und Einheit des Artikels (siehe unten).
unit_price Ja Objekt Preisdetails für den Artikel (siehe unten).
item_discount Nein Objekt Rabatte für diesen Artikel (siehe unten).

quantity-Objekt:

Name Pflicht Type Beschreibung
quantity_amount Ja Integer Anzahl der gekauften Einheiten.
quantity_unit Ja String(8) Maßeinheit des Artikels (z. B. `pcs`, `kg`).

unit_price-Objekt:

Name Pflicht Type Beschreibung
net Ja Integer Nettopreis des Artikels in der kleinsten Währungseinheit.
gross Ja Integer Bruttopreis des Artikels in der kleinsten Währungseinheit.
currency Ja String(3) Währung gemäß ISO 4217 (z. B. `EUR`).
tax Ja Integer Steuerbetrag in der kleinsten Währungseinheit oder Steuersatz (mit zwei Nachkommastellen).

item_discount-Objekt:

Name Pflicht Type Beschreibung
net Nein Integer Rabatt ohne Steuern in der kleinsten Währungseinheit.
gross Nein Integer Rabatt inklusive Steuern in der kleinsten Währungseinheit.
currency Nein String(3) Währung gemäß ISO 4217 (z. B. `EUR`).
tax Nein Integer Steuerbetrag in der kleinsten Währungseinheit oder Steuersatz.
Beispiele der obigen Strukturen
  basket:
  {
    "basket_id": "basket123456",
    "basket_type": "PHYSICAL",
    "basket_items": [
      {
        "name": "Item 1",
        "quantity": {
          "quantity_amount": 3,
          "quantity_unit": "pcs"
        },
        "unit_price": {
          "net": 500,
          "gross": 600,
          "currency": "EUR",
          "tax": 2000
        }
      }
    ]
  }
  
  billing_address: 
  {
    "title": "Herr",
    "first_name": "Max",
    "last_name": "Mustermann",
    "company_name": "Acme GmbH",
    "email": "maxi.muster@example.com",
    "phone_contact": {
      "phone_type": "MOBILE",
      "phone_number": "+491701234567"
    },
    "address_line_1": "Mustergasse 123",
    "address_line_2": "Haus A",
    "address_line_3": "Wohnung 12",
    "postal_code": "88888",
    "city": "Berlin",
    "state": "Berlin",
    "country": "DE"
  }
  
  shipping_address: 
  {
    "title": "Herr",
    "first_name": "Max",
    "last_name": "Mustermann",
    "company_name": "Acme GmbH",
    "email": "maxi.muster@example.com",
    "phone_contact": {
      "phone_type": "HOME",
      "phone_number": "+49755283492987"
    },
    "address_line_1": "Musterstr. 1a",
    "postal_code": "88888",
    "city": "Berlin",
    "state": "Berlin",
    "country": "DE"
  }
  
  customer_information: 
  {
    "customer_id": "CUST123456",
    "date_of_birth": "1985-06-15",
    "gender": "MALE",
    "title": "Herr",
    "personal_identifications": [
      {
        "type": "PASSPORT",
        "id": "A1234567",
        "issued_by": "DE"
      },
      {
        "type": "DRIVERS_LICENSE",
        "id": "DL78901234",
        "issued_by": "Bayrisches Verkehrsministerium"
      }
    ],
    "contacts": {
      "phone_contacts": [
        {
          "phone_type": "HOME",
          "phone_number": "+442071838750"
        }
      ]
    }
  }
}

Beispiel einer Transaktionsinitialisierung

curl -d "merchantId=1234567" \
     -d "projectId=1234" \
     -d "merchantTxId=1234567890" \
     -d "amount=1000" \
     -d "currency=EUR" \
     -d "purpose=Beispieltransaktion" \
     -d "basket={\"basket_items\":[{\"name\":\"Item 1\",\"quantity\":{\"quantity_amount\":1,\"quantity_unit\":\"pcs\"},\"unit_price\":{\"net\":1000,\"gross\":1200,\"currency\":\"EUR\",\"tax\":2000}}]}" \
     -d "urlRedirect=http://www.my-domain.de/klarna/redirect" \
     -d "urlNotify=http://www.my-domain.de/klarna/notify" \
     -d "hash=2ddc45c15307201dca8a50a094c70ab9" \
     https://payment.girosolution.de/girocheckout/api/v2/transaction/start

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 die redirectURL zum Klarna-Formular zurück.

Parameter
Name Pflicht Type Beschreibung
rc Ja Integer Fehlernummer
msg Ja String(255) zusätzliche Informationen im Fehlerfall
reference Optional String(36) eindeutige GiroCheckout Transaktions-ID
redirect Optional String(2048) Redirect URL zur Weiterleitung des Kunden an sein Online Banking
HEADER Parameter
hash Ja String(32) HMAC MD5 hash über alle Werte der Rückmeldung. Siehe hash der Rückantwort
Beispiel im Erfolgsfall
{"reference":"6d2d31b6-c23f-47c4-8f6c-1a0495f35f0f","redirect":"https://testmerch.directpos.de/web-api/de_DE/R.po?n=iNJGcJ4M2LZASZ-swXO5urRQntxOxb92NFiITsP60GcIhP","rc":"0","msg":""}
Beispiel im Fehlerfall
{"reference":null,"redirect":null,"rc":5030,"msg":"Betrag ungültig"}

Benachrichtigung über den Zahlungsausgang

Der Ausgang einer Zahlung wird an die im urlNotify Parameter angegebene URL übermittelt. Diese Rückmeldung dient dazu, dem Händler den Ausgang der Transaktion mitzuteilen. Durch diese Information kann der Transaktionsstatus beim Händler geändert werden.

Der Zahlungsausgang einer Transaktion steht im Feld gcResultPayment.

Anfrage

URL: notifyUrl aus der Transaktionsinitialisierung
Bereitzustellen von: Händler
Aufzurufen von: GiroCheckout

GET Parameter

Name Pflicht Type Beschreibung
gcReference Ja String(36) GiroCheckout Transaktions-ID
gcMerchantTxId Ja String(255) Händler Transaktions-ID
gcBackendTxId Ja String(22) Zahlungsabwickler Transaktions-ID
gcAmount Ja Integer bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny
gcCurrency Ja String(3) Währung
gcResultPayment Ja Integer Ergebniscodes der Zahlung
gcHash Ja String(32) HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren

Antwort

Als Antwort auf den GET-Request wird einer der folgenden HTTP Statuscodes erwartet.

HTTP Statuscode Beschreibung
200 (OK) Die Benachrichtigung wurde korrekt verarbeitet.
400 (Bad Request) Der Händler hat die Benachrichtigung nicht verarbeitet, möchte aber auch nicht erneut benachrichtigt werden.
Alle anderen Die Benachrichtigung wird max. 10 Mal alle 30 Minuten wiederholt, bis der Händler den HTTP Statuscode 200 oder 400 zurückgibt.

Rückleitung des Kunden zum Händler

Nach Beendigung der Zahlung kann der Kunde über einen Link zurück zum Händler kommen. Eine Weiterleitung erfolgt erst, wenn der Käufer den „Abbrechen“ oder „Zurück zum Shop“ Button drückt oder automatisch nach einigen Sekunden.

Anfrage

URL: redirectUrl aus der Transaktionsinitialisierung
Bereitzustellen von: Händler
Aufzurufen von: GiroCheckout

GET Parameter
Name Pflicht Type Beschreibung
gcReference Ja String(36) GiroCheckout Transaktions-ID
gcMerchantTxId Ja String(255) Händler Transaktions-ID
gcBackendTxId Ja String(22) Zahlungsabwickler Transaktions-ID
gcAmount Ja Integer bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny
gcCurrency Ja String(3) Währung
gcResultPayment Ja Integer Ergebnis der Zahlung
gcHash Ja String(32) HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren

Weitere Transaktionsarten

Diese Transaktionen 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

ShopGiroCheckoutRechenzentrumShopGiroCheckoutRechenzentrum1 2 3 4 (c)2025 by S-Management Service GmbH

  1. Shop sendet Anfrage mit referenzierter Klarna-Transaktion
  2. GiroCheckout leitet Transaktion zu Rechenzentrum
  3. Rechenzentrum übermittelt Ergebnis an GiroCheckout
  4. Shop bekommt direkte Rückmeldung über Transaktionsausgang (keine Notification)

Buchung (CAPTURE)

Beim Buchen (capture) wird das Kundenkonto mit einem Betrag belastet, die Gutschrift erfolgt auf das Händlerkonto. Dieses Modell setzt voraus, dass der zugrundeliegende Geschäftsvorfall abgeschlossen ist, z.B. wurde ein Warenkorb angeboten, bestellt und an den Kunden ausgeliefert.

  • Bedingung: nur reservierte Transaktionen können gebucht werden
  • Betrag ⇐ Reservierungsbetrag
  • Buchung von Teilbeträgen möglich

Erstattung (REFUND)

Eine Erstattung ist zu verwenden, wenn dem Kunden eine vorangegangene Zahlung komplett oder teilweise erstattet werden soll.

  • Bedingung: kann nur auf folgende Transaktionstypen angewendet werden:
    • Buchung (capture)
    • Reservierung + Buchung (sale)
  • Betrag ⇐ Transaktionsbetrag der vormals gesendeten Transaktion

Stornierung (VOID)

Stornieren ist zu verwenden, wenn eine akzeptierte Transaktion nicht ausgeführt werden soll.

  • Bedingung: kann nur auf folgende Transaktionstypen angewendet werden:
    • Reservierung (solange keine Buchung erfolgte und Reservierung nicht abgelaufen ist)
    • Reservierung/Buchung (nur am selben Tag)
    • Erstattung (nur am selben Tag)

POST Parameter

URL CAPTURE: https://payment.girosolution.de/girocheckout/api/v2/transaction/capture
URL REFUND: https://payment.girosolution.de/girocheckout/api/v2/transaction/refund
URL VOID: https://payment.girosolution.de/girocheckout/api/v2/transaction/void

Name Pflicht Type Beschreibung
merchantId Ja Integer Händler-ID eines Klarna-Projekts
projectId Ja Integer Projekt-ID eines Klarna-Projekts
merchantTxId Ja String(255) eindeutige Transaktions-ID des Händlers. Zulässige Zeichen: beliebige Buchstaben (inkl. sprachl. Sonderzeichen), 0-9, Zeichen & = + , : ; . _ ! ? # /
amount Ja (optional bei Void) Integer Bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny
currency Ja (optional bei Void) String(3) Währung der Transaktion, gemäß ISO 4217.
EUR = Euro
purpose Optional String(27) Verwendungszweck der Erstattung oder des Capture. Da Klarna diese Feld an sich nicht kennt, speichert GiroCheckout die Information unter basket.soft_descriptor, falls dort von Shopseite keine Information übergeben wird.
reference Ja String(36) GiroCheckout Transaktions-ID, für die eine Buchung oder Erstattung durchgeführt 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.
basket Optional JSON-String Optionales Feld, das den Warenkorb beschreibt. Die einzelnen Felder entnehmen Sie der Aufstellung weiter oben.
shippingInfo Optional JSON-String Optionales Feld, das Informationen zur Lieferung bereit stellt. Die einzelnen Felder entnehmen Sie der Aufstellung weiter unten.
hash Ja String(32) HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren

JSON-Objekt shippingInfo

Name Pflicht Type Beschreibung
shipping_company Nein String Name des Versandunternehmens (so spezifisch wie möglich).
shipping_method Nein String Versandmethode (z. B. PickUpStore, Home, Postal).
tracking_number Nein String Sendungsverfolgungsnummer für die Lieferung.
tracking_uri Nein String URL zur Sendungsverfolgung für den Kunden.
return_shipping_company Nein String Name des Versandunternehmens für die Rücksendung.
return_tracking_number Nein String Sendungsverfolgungsnummer für die Rücksendung.
shipping_delay Nein Integer Verzögerung (in Tagen) vor dem Versand der Bestellung.
Beispiel
curl -d "merchantId=1234567" \
     -d "projectId=1234" \
     -d "merchantTxId=1234567890" \
     -d "amount=100" \
     -d "currency=EUR" \
     -d "reference=fb70602d-c137-4413-8432-7dcc69a9d891" \
     -d "hash=edb7459114db25c2991d1783d4ab5388" \
     https://payment.girosolution.de/girocheckout/api/v2/transaction/capture

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 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 String255)( Händler Transaktions-ID
backendTxId Ja String(22) Zahlungsabwickler Transaktions-ID
amount Ja Integer bei Dezimalwährungen den Betrag in der kleinsten Währungseinheit angeben, z.B. Cent, Penny
currency Ja String(3) Währung
resultPayment Ja Integer Ergebnis der Transaktion
hash Ja String(32) HMAC MD5 hash über alle Werte des Aufrufs. Siehe hash generieren
Beispiel im Erfolgsfall
{"reference":"6d2d31b6-c23f-47c4-8f6c-1a0495f35f0f","redirect":"https://testmerch.directpos.de/web-api/de_DE/R.po?n=iNJGcJ4M2LZASZ-swXO5urRQntxOxb92NFiITsP60GcIhP","rc":"0","msg":""}
Beispiel im Fehlerfall
{"reference":null,"redirect":null,"rc":5030,"msg":"Betrag ungültig"}
girocheckout/klarna/start.txt · Zuletzt geändert: 2025/02/03 07:49

Seiten-Werkzeuge