Start · Sprachen · JavaScript · Referenz · PaymentManager.userHint

PaymentManager.userHint

Eigenschaft

Legt einen kurzen Hinweistext fest oder liest ihn aus. Der Browser zeigt ihn neben Name und Symbol der Zahlungs-App in der Payment-Handler-Oberfläche an.

seit JavaScript Experimentell: nur Chromium-basierte Browser (Chro Kategorie: webapi

Signatur

PaymentManager.userHint

Beschreibung

Die Eigenschaft userHint des PaymentManager-Interfaces ist ein Text, den man lesen und schreiben kann. Eine webbasierte Zahlungs-App (Payment Handler) gibt damit dem Nutzer einen zusätzlichen Hinweis in der Zahlungsauswahl des Browsers. Das kann zum Beispiel die letzten vier Ziffern einer hinterlegten Karte sein ("**** 4242") oder der Name des verknüpften Kontos.

Man erreicht die Eigenschaft über registration.paymentManager. Das ist die ServiceWorkerRegistration des Service Workers, der die Zahlungs-App bereitstellt. Man setzt den Wert typischerweise direkt nach der Registrierung des Service Workers oder wenn sich die hinterlegten Zahlungsdaten ändern. Zum Beispiel, wenn sich der Nutzer anmeldet oder eine neue Karte hinzufügt.

Der Hinweis dient nur der Anzeige. Er hat keinen Einfluss darauf, ob die App ausgewählt oder die Zahlung ausgeführt wird. Wie und ob der Browser den Text tatsächlich darstellt, hängt von der Implementierung ab.

Parameter

Name Typ Default Beschreibung
$value string "" Beim Setzen: der Hinweistext, der neben der Zahlungs-App erscheinen soll. Andere Werte werden in einen String umgewandelt.

Rückgabewert

Typ
string
Beschreibung
Der aktuell gesetzte Hinweistext. Ist noch keiner gesetzt, ist es ein leerer String.

Beispiele

Hinweis nach der Service-Worker-Registrierung setzen

const registerPaymentApp = async () => {
  if (!('serviceWorker' in navigator)) return;

  const registration = await navigator.serviceWorker.register('/payment-sw.js');

  if (!registration.paymentManager) {
    console.log('Payment Handler API wird nicht unterstützt.');
    return;
  }

  // Letzte Kartenziffern als Orientierung für den Nutzer
  registration.paymentManager.userHint = '**** 4242';
  console.log('Hinweis gesetzt:', registration.paymentManager.userHint);
};

registerPaymentApp();
Hinweis gesetzt: **** 4242

Hinweis nach Login dynamisch aktualisieren

const updatePaymentHint = async (user) => {
  const registration = await navigator.serviceWorker.ready;
  const manager = registration.paymentManager;
  if (!manager) return;

  manager.userHint = user
    ? `Konto: ${user.email}`
    : '';
  console.log(`Aktueller Hinweis: "${manager.userHint}"`);
};

updatePaymentHint({ email: 'anna@example.com' });
Aktueller Hinweis: "Konto: anna@example.com"

Hinweis zusammen mit enableDelegations setzen

const setupPaymentManager = async () => {
  const registration = await navigator.serviceWorker.ready;
  const manager = registration.paymentManager;
  if (!manager) return;

  manager.userHint = 'Visa ···· 1234';

  if (typeof manager.enableDelegations === 'function') {
    await manager.enableDelegations(['shippingAddress', 'payerEmail']);
  }
  console.log('PaymentManager konfiguriert:', manager.userHint);
};

setupPaymentManager();
PaymentManager konfiguriert: Visa ···· 1234

// Wichtig · Fallstricke

  • Experimentell: Die Payment Handler API gibt es nur in Chromium-basierten Browsern (Chrome, Edge). Firefox und Safari unterstützen sie nicht. Prüfe vorher, ob sie verfügbar ist, z. B. mit if (registration.paymentManager).
  • Nur in einem sicheren Kontext (HTTPS) mit registriertem Service Worker verfügbar.
  • Datenschutz: Schreibe keine vollständigen Kartennummern, IBANs oder andere sensible Daten in den Hinweis. Der Text erscheint in der Browser-Oberfläche und kann auf fremden Seiten sichtbar werden, die eine Zahlungsanfrage stellen.
  • Ob der Browser den Wert dauerhaft speichert, ist nicht zuverlässig festgelegt. Setze den Hinweis daher bei Bedarf erneut, z. B. nach jeder Registrierung.
  • Halte den Text kurz. Lange Hinweise schneidet der Browser möglicherweise ab.