Dank unserer Bestellseiten brauchen Sie sich über die Einbindung der Bezahlanbieter keine Gedanken machen. Dennoch haben Sie die Möglichkeit, den Bestellprozess samt Bezahlabwicklung selbst zu implementieren. Dabei gibt es 2 Varianten. In jedem Fall müssen Sie bei Eigenimplementierung das Widget des Bezahlanbieters auf Ihren Webseiten selbst verbauen.
Wichtig: Eigenimplementierung des Checkout-Prozesses bedeutet auch Eigenverantwortung! Für die Einhaltung entsprechender gesetzlicher Vorgaben für Onlineshops sind Sie selbst verantwortlich.
Option 1: Einzelaufrufe per API
Bei dieser Option erfassen Sie die Daten zur Bestellung auf Ihren Webseiten selbst und übermitteln dann Kundendaten und Vertrag per API-Calls.
- Kunde anlegen: https://api.sandbox.fakturia.de/documentation/#/Customers/createCustomer
- Vertrag anlegen: https://api.sandbox.fakturia.de/documentation/#/Contracts/createContract
Verbuchung des Zahlungseingangs in Fakturia
Sofern Sie bei der Bestellung das Geld vom Kunden bereits eingezogen haben, müssen Sie diesen Bezahlvorgang Fakturia im Nachhinein mitteilen. Ein möglicher Weg wäre hierbei eine Gutschrift auf dem Kundenkonto per API: https://api.sandbox.fakturia.de/documentation/#/Accounts/createAccountTransaction
Hinterlegung der PSP-Referenz für wiederkehrende Zahlungen
Damit Fakturia mit den von Ihnen eingesammelten Bezahldaten künftig auch ohne ein Eingreifen des Endkunden Zahlungen auslösen kann, sind folgende Schritte durchzuführen:
Referenz zum PSP am Vertrag im Tab "Recurring-Payments" eintragen:
Die Verknüpfung ist auch über einen API-Call möglich: https://api.sandbox.fakturia.de/documentation/#/Contracts/createContractRecurringPaymentConfig
Option 2: Nutzung der Bestellseiten via API (empfohlen)
Diese Option reduziert den Implementierungsaufwand auf Ihrer Seite und sichert gleichzeitig die Verarbeitung von Paymentprovider-Bestätigungen durch Fakturia. Bitte halten Sie bei dieser Option exakt die hier beschriebene Reihenfolge ein!
Voraussetzung: Erstellen Sie bitte in Fakturia Bestellseiten, als würden Sie die von uns bereitgestellten Checkout-Pages nutzen.
Schritt 1: Daten erfassen
Der Kunde gibt auf Ihrer Webseite im selbst implementierten Checkout-Prozess seine Daten ein und wählt die gewünschten Pakete bzw. Artikel.
Zur Darstellung der exakten Preise nutzen Sie bitte diesen API-Endpunkt: https://api.sandbox.fakturia.de/documentation/#/Orders/calculateOrderTemplatePrices (Summen müssen derzeit selbst gebildet werden)
Schritt 2: PSP-Session initialisieren
Falls Sie keinen Paymentprovider nutzen, bitte überspringen und weiter mit Schritt 3.
Erzeugen Sie noch vor Darstellung des PSP-Widgets eine Session für den Bezahlvorgang beim Provider Ihrer Wahl. Hier finden Sie Links zur Doku der jeweiligen Bezahlanbieter:
PSP | Bezeichnung für Payment-Session | Zu befüllende Felder im PaymentRequest (Order) | Dokumentation | Anmerkungen |
---|---|---|---|---|
Stripe | Checkout-Session | providerReferenceId = PaymentIntent | https://stripe.com/docs/api/checkout/sessions/create | Setzen Sie bei der Erstellung Ihrer PaymentSession bzw. des PaymentIntend das Flag "setup_future_usage" auf den Wert "off_session". |
Adyen | Payment-Session | siehe Anmerkung | https://docs.adyen.com/api-explorer/Checkout/69/post/sessions | Bei Adyen müssen zur Erzeugung der Payment-Session Daten aus dem von Fakturia generierten PaymentRequest übergeben werden. Bitte daher zuerst die Bestellung zu Fakturia senden (mit PaymentRequest), dann folgende Werte an Adyen übermitteln: Reference = pr:[internalTransactionNumber] ShopperReference = [internalTransactionNumber] |
Schritt 3: Bestellung per API an Fakturia übermitteln
Bei Adyen muss dieser Schritt ausnahmsweise vor Schritt 2 erfolgen.
Übermitteln Sie jetzt die Bestellung des Kunden per API-Call an Fakturia: https://api.sandbox.fakturia.de/documentation/#/Orders/createOrder
Die im Schritt 2 erzeugte Session-Id des Bezahlanbieters kann im PaymentRequest übergeben werden. (Siehe Tabelle Schritt 2)
Schritt 4: Bezahlvorgang per Paymentprovider-Widget
Falls kein Bezahlanbieter im Spiel, weiter mit Schritt 5
Erst jetzt präsentieren Sie Ihrem Kunden im Checkout-Prozess das Widget des Bezahlanbieters. (Folgeseite oder Widget nach Übermittlung der Daten an Fakturia per Ajax einblenden)
Der Kunde gibt dann seine Bezahldaten ein.
Schritt 5: Bestellabschluss
Die Bestellung ist abgeschlossen. Stellen Sie dem Kunden eine entsprechende Bestätigungsseite dar.