Amazon Pay
Amazon Pay im Backend
Amazon Pay verbindet den Shop mit Amazon Checkout. Die Seite dokumentiert Zugangsdaten, Umgebung, Checkout-Verfügbarkeit, Statuslogik, Rückzahlungen, Webhooks und Loganzeige.
Einordnung
Amazon Pay ist eine spezifische Einstellungsseite zur Zahlungsart Amazon Pay. Die allgemeine Zahlungsart bleibt zusätzlich wichtig: Aktivstatus, Kundengruppen, Versandarten, Versandzonen und Betragsgrenzen entscheiden, ob Amazon Pay im Checkout angeboten wird.
Zugangsdaten und Umgebung
Die Zugangsdaten werden pro Multishop gespeichert und beim Erzeugen von Amazon-Pay-Requests verwendet.
- modus: wählt LIVE oder SANDBOX. Der Wert steuert, ob Amazon-Pay-Anfragen gegen die Live- oder Testumgebung laufen.
- merchant_id: Händlerkennung für den Amazon-Pay-Button.
- publickeyid: Public-Key-ID für signierte Checkout-Session-Payloads.
- privatekey: Private-Key-Datei für signierte Amazon-Pay-Anfragen. Beim Speichern wird eine neue Datei übernommen; ohne neue Datei bleibt der bisher gespeicherte Schlüssel aktiv.
- clientid: Store-ID. Der Wert wird beim Erstellen oder Aktualisieren der Amazon-Checkout-Session gesetzt.
- secret: gespeicherter SecretKey aus der Amazon-Pay-Konfiguration. Im aktuellen Checkout-Ablauf wird der Wert nicht als sichtbarer Button-Parameter ausgegeben.
Status, Rechnung und Button
- order_status_ok: Bestellstatus nach erfolgreich abgeschlossener Amazon-Pay-Zahlung.
- order_status_error: Bestellstatus bei Abbruch, Fehler oder abgelehnter Zahlung.
- status_ok_createBill: erstellt bei erfolgreicher Zahlung automatisch eine Rechnung. Im neuen Backend ist der Schalter deaktiviert, wenn das FiBu-Modul nicht aktiv ist.
- status_ok_sendBill: sendet die automatisch erstellte Rechnung an die Kundschaft. Auch dieser Schalter hängt im neuen Backend vom aktiven FiBu-Modul ab.
- buttonColor: steuert die Amazon-Pay-Buttonfarbe. Verfügbar sind Gold, LightGray und DarkGray.
Bei erfolgreichem Abschluss setzt das Modul die Bestellung fertig, aktualisiert Gutscheincodes, leert den Warenkorb, versendet bei aktiver Shop-Einstellung die Bestellbestätigung und führt danach Statuswechsel sowie Rechnungserstellung aus.
Checkout-Verfügbarkeit
Amazon Pay wird nur angeboten, wenn die allgemeine Zahlungsart und die Amazon-Pay-Konfiguration zueinander passen.
- Die Zahlungsart muss aktiv sein und für den aktuellen Warenkorb erlaubt werden.
- Kundengruppe und eingeloggte Kundschaft dürfen die Zahlungsart nutzen.
- Die gewählte Versandart und die Versandzone müssen mit Amazon Pay verknüpft sein.
- Die Warenkorbsumme muss innerhalb der Betragsgrenzen der Zahlungsart liegen und größer als null sein.
- Für den Express-Button müssen merchant_id, clientid, publickeyid und privatekey gefüllt sein.
Express-Checkout im Warenkorb
Der Express-Checkout erzeugt einen Amazon-Pay-Button im Warenkorb und startet vor dem normalen Checkout eine Amazon-Checkout-Session.
- Der Warenkorb-Button nutzt PayAndShip und die Platzierung Cart.
- Die geschätzte Summe enthält Warenkorbwert und berechnete Versandkosten.
- Nach der Amazon-Auswahl speichert der Shop die Amazon-Checkout-Session in der Session.
- Die von Amazon gelieferten Versand- und Rechnungsdaten werden in die temporäre Checkout-Adresse übernommen.
- Bei nicht eingeloggter Kundschaft erzeugt der Shop ein Gastkonto und meldet dieses für den Checkout an.
- Der Amazon-Zahlungsdescriptor wird im Checkout angezeigt; Zahlung und Adresse können über die Amazon-Session geändert werden.
Klassischer Checkout
Wenn Amazon Pay im normalen Checkout gewählt wird, erzeugt das Modul während der Zahlungsweiterleitung eine Amazon-Pay-Buttonseite.
- Die Bestellung wird in der Session als amazonShopOrderId gemerkt.
- Der Button nutzt die Platzierung Checkout.
- Der Betrag wird als Bruttobestellwert mit Währung EUR an Amazon Pay übergeben.
- Als Zahlungsabsicht wird AuthorizeWithCapture verwendet.
- Bei erfolgreichem Rücksprung wird die Checkout-Session abgeschlossen und die erhaltene Charge-ID in den Zahlungsdaten gespeichert.
Bei Abbruch oder Fehler löscht das Modul eine noch nicht fertige Bestellung. Ist eine Bestellung bereits abgeschlossen, wird der Fehlerstatus gesetzt.
Bestellung und Rückzahlung
In der Bestellung zeigt Amazon Pay Transaktionsdetails, wenn passende Zahlungsdaten vorhanden sind.
- Aktueller Status: wird über die Amazon-Pay-Charge abgefragt und angezeigt.
- Rückzahlung senden: öffnet den Rückzahlungsdialog für die Bestellung.
- amount: Pflichtfeld im Rückzahlungsformular. Der eingegebene Betrag wird mit zwei Nachkommastellen als Refund an Amazon Pay gesendet.
- Rückzahlungen: gespeicherte Refund-IDs werden bei Amazon Pay abgefragt und mit Erstellzeitpunkt, Betrag, Währung und Status angezeigt.
Bei erfolgreicher Rückzahlung wird die Refund-ID in den Zahlungsdaten gespeichert. Bei Fehler zeigt der Dialog ReasonCode und Meldung aus der Amazon-Antwort.
Webhooks und Logs
Das Modul prüft eingehende Webhooks und protokolliert API-Aufrufe im Amazon-Pay-Log.
- PAYMENT.CAPTURE.COMPLETED: wird als erfolgreiches Capture-Ereignis erkannt.
- PAYMENT.CAPTURE.DENIED: wird als abgelehntes Capture-Ereignis erkannt.
- CHECKOUT.PAYMENT-APPROVAL.REVERSED: wird als zurückgenommene Zahlungsfreigabe erkannt.
- Amazon-Pay-Logviewer: zeigt tägliche Logdateien; Secrets und Tokens werden für die Anzeige maskiert.
Protokolliert werden unter anderem Checkout-Session-Aufrufe, Button-Erzeugung, Rückzahlungen, Charge- und Refund-Abfragen, Webhook-Eingänge und Fehler bei nicht gefundenen Zahlungsdaten.
Filter, Tabellen und Optionen
Die Amazon-Pay-Einstellungsseite enthält keine eigene filterbare Liste, keinen DataFilter und keine konfigurierbare BsTable. Deshalb wird kein Spalten-Snippet verwendet.
- Die sichtbaren Formularfelder liegen direkt in der spezifischen Zahlungsarten-Konfiguration.
- Die wichtigste Zeilenaktion entsteht nicht in einer Tabelle, sondern in der Bestellansicht über Rückzahlung senden.
- Transaktionsdetails und Rückzahlungen werden aus den gespeicherten Zahlungsdaten und aktuellen Amazon-Pay-Abfragen aufgebaut.
Prüfung nach Änderungen
- Nach Änderung von Zugangsdaten im SANDBOX-Modus eine Testzahlung durchführen.
- Nach Wechsel zu LIVE prüfen, ob Button, Checkout-Session und Abschluss mit derselben Umgebung arbeiten.
- Nach Änderung von buttonColor Warenkorb und Checkout prüfen.
- Nach Änderung von Status- oder Rechnungsfeldern erfolgreiche Zahlung, Abbruch und Rückzahlung testen.
- Im Amazon-Pay-Logviewer kontrollieren, ob API-Antworten und Webhook-Eingänge plausibel protokolliert werden.