paypalCheckout hat.
Verknüpfung im Kundenkonto verwalten
Die Seite hat zwei Zustände, die über die Funktion wsAccount.hasPaymentVault() unterschieden werden: Besteht eine Verknüpfung, wird ein Formular zum Aufheben der Verknüpfung angezeigt. Besteht keine Verknüpfung, wird der PayPal-Button angezeigt. Dieser legt die Verknüpfung in zwei Schritten an: Zunächst holtPaymentValueSetup das Setup-Token und anschließend gibt der Kunde die Verknüpfung bei PayPal frei. Zuletzt speichert PaymentValueCreate sie.
Weil PaymentVaultCreate keinen Antwort-Body liefert, lädt das Beispiel die Seite nach dem Erstellen neu. Erst dadurch liefert hasPaymentVault() den neuen Zustand.
Das Beispiel ist auf Testbarkeit ausgelegt, nicht auf Produktionsreife. Der JavaScript-Teil sollte vor dem Livebetrieb ausgebaut werden:
onError gibt Fehler nur auf der Konsole aus, und ein Fehlschlag von PaymentVaultCreate bleibt dem Kunden verborgen, weil die Seite unmittelbar danach neu geladen wird und die Aktionsfehler des vorangegangenen POST damit verloren gehen.Verknüpfung im Bestellablauf anbieten
Wenn für die gewählte Zahlungsart bereits eine Verknüpfung besteht, wird die Bestellung direkt darüber bezahlt und der PayPal-Button entfällt. Besteht noch keine Verknüpfung, können Sie dem Kunden anbieten, diese mit der aktuellen Bestellung anzulegen. Dafür genügt das FormularfeldinitPaymentValue - die Verknüpfung wird dann beim Bestellabschluss automatisch erstellt.
- Der Kunde ist angemeldet.
- Es handelt sich nicht um einen Express-Checkout.
- Die gewählte Zahlungsart ist die reine PayPal-Zahlung, nicht PayPal SEPA oder PayPal PayLater.
- Es besteht noch keine Verknüpfung.
Ist eine dieser Bedingungen nicht erfüllt, wird die Bestellung normal abgeschlossen und die Verknüpfung schlicht nicht angelegt, dafür gibt es keinen Fehlercode. Soll dem Kunden das Anlegen zuverlässig angeboten werden, verwenden Sie den Weg über eine eigene Seite im Kundenkonto, siehe Verknüpfung im Kundenkonto verwalten.
