Aktualisierung des Ereignisverhaltens „CanMakePayment“ der Payment Handler API

Die Payment Handler API ermöglicht es Zahlungsdienstleistern, Händler und die Payment Request API. Wenn die Payment Request API über den new PaymentRequest()-Konstruktor löst sie ohne Meldung ein canmakepayment-Ereignis mit den Ursprung des Händlers und willkürliche Daten, einen Service Worker, der für die Payment Handler API registriert ist Diese ursprungsübergreifende Kommunikation erfordert keine Nutzergeste und Benutzeroberfläche anzuzeigen.

Chrome entfernt die identifizierenden Felder aus dem canmakepayment-Ereignis und den Ursprungstest in Chrome 108 starten.

Die Informationen auf dieser Seite gelten nur für Anbieter von Zahlungs-Apps, der Payment Handler API. Wenn du es nicht verwendest, kannst du diese Anleitung überspringen.

Was ändert sich?

Wenn ein Händler new PaymentRequest() anruft, ist ein registrierter Service Worker erhält ein canmakepayment-Ereignis (CanMakePaymentEvent) mit den folgenden Informationen:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Diese werden entfernt und der Service Worker erhält canmakepayment-Ereignis ohne zusätzliche Informationen.

Funktionserkennung

Feststellen, ob das canmakepayment-Ereignis im Service Worker geändert wird überprüfen Sie die jeweiligen Attribute wie folgt:

self.addEventListener(e => {
  if (e.paymentRequestOrigin) {...}
  if (e.topOrigin) {...}
  if (e.methodData && e.methodData.length > 0) {...}
  if (e.modifiers && e.modifiers.length > 0) {...}
  ...
});

Änderung lokal testen

So aktivieren Sie die Änderung lokal für Entwicklungszwecke:

  1. Verwenden Sie Chrome 108, 109 oder 110.
  2. Geben Sie in die URL-Leiste chrome://flags/#clear-identity-in-can-make-payment ein.
  3. Aktiviert das Flag.
  4. Starten Sie Chrome neu.

Wenn Sie das Flag aktivieren, werden die Identitätsfelder im canmakepayment-Ereignis geleert (und Android IS_READY_TO_PAY-Intent).

Änderung in der Produktionsumgebung aktivieren

Sie können die Änderung auch zu Testzwecken in der Produktionsumgebung aktivieren, bevor sie in Chrome landet. Dieser Mechanismus wird als Ursprungstest bezeichnet.

Mit Ursprungstests können Sie neue Funktionen ausprobieren und Feedback zu ihren Nutzerfreundlichkeit, Praktische und Effektivität für die Webstandards-Community. Für Weitere Informationen finden Sie im Handbuch zu Ursprungstests für Webentwickler. Auf der Registrierungsseite können Sie sich für diesen oder einen anderen Ursprungstest registrieren.

So registrieren Sie einen Ursprungstest:

  1. Token anfordern für Ihren Ursprung.
  2. Fügen Sie das Token mithilfe eines Origin-Trial der Service Worker-JavaScript-Datei hinzu HTTP-Header. Das Festlegen von HTTP-Headern erfordert Zugriff auf die Konfiguration Ihres Servers. Der resultierende Antwortheader sollte in etwa so aussehen:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

So rufen Sie das Ursprungstesttoken in der Service Worker-Datei auf: die Entwicklertools verwenden oder den Befehl curl so verwenden:

$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Identitätsfelder nach Chrome 111 lokal wieder aktivieren

Wenn Sie Chrome 111 oder höher verwenden, canmakepayment Ereignis ist leer. Um die Funktion wieder zu aktivieren, können Sie Folgendes tun:

  1. Sie verwenden Chrome 111 oder höher.
  2. Geben Sie in die URL-Leiste chrome://flags/#add-identity-in-can-make-payment ein.
  3. Aktiviert das Flag.
  4. Starten Sie Chrome neu.

Nächste Schritte

Diese Änderung wird voraussichtlich ab Chrome 111 standardmäßig aktiviert. Du kannst heute schon mit dem Testen beginnen, um dich vorzubereiten die sich rechtzeitig zur Markteinführung ändert.