Actualización del comportamiento del evento CanMakePayment de la API de Payment Handler

La API de Payment Handler permite que los proveedores de pagos ofrezcan su experiencia de pago personalizada comerciantes, junto con la API de Payment Request. Cuando la API de Payment Request se inicializa mediante el new PaymentRequest(), activa de forma silenciosa un evento canmakepayment con el origen del comercio y los datos arbitrarios un service worker registrado para la API de Payment Handler. Esta comunicación de origen cruzado no requiere un gesto del usuario y no mostrar cualquier interfaz de usuario.

Chrome quitará los campos de identificación del evento canmakepayment y comienza la prueba de origen a partir de Chrome 108.

La información de esta página solo se aplica a los proveedores de aplicaciones de pago que usan la API de Payment Handler. Si no la usas, puedes omitir estas instrucciones.

¿Cuáles son los cambios?

Cuando un comercio llama a new PaymentRequest(), un service worker registrado recibe un evento canmakepayment (CanMakePaymentEvent) que contiene la siguiente información:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Estos se eliminarán y el service worker simplemente recibirá el canmakepayment sin información adicional.

Detección de funciones

Para detectar si se cambia el evento canmakepayment en el service worker código, examina las propiedades respectivas de la siguiente manera:

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

Prueba el cambio de forma local

Para habilitar el cambio de forma local con fines de desarrollo, haz lo siguiente:

  1. Usa Chrome 108, 109 o 110.
  2. Ingresa chrome://flags/#clear-identity-in-can-make-payment en la barra de URL.
  3. Habilitar la función experimental
  4. Reinicia Chrome.

Cuando se habilita la marca, los campos de identidad en el evento canmakepayment se vacía (y el intent IS_READY_TO_PAY de Android).

Habilita el cambio en producción

También puedes habilitar el cambio en la producción con fines de prueba antes de hacerlo llegan a Chrome. Este mecanismo se denomina prueba de origen.

Las pruebas de origen te permiten probar funciones nuevas y enviar comentarios sobre sus usabilidad, practicidad y eficacia para la comunidad de estándares web. Para para obtener más información, consulta la Guía de pruebas de origen para desarrolladores web. Si quieres registrarte en esta o en otra prueba de origen, visita la página de registro.

Sigue estos pasos para registrar una prueba de origen:

  1. Solicita un token para tu origen.
  2. Agrega el token al archivo JavaScript de tu service worker usando un Origin-Trial. encabezado HTTP. Para configurar los encabezados HTTP, debes tener acceso a la configuración del servidor. El encabezado de respuesta resultante debería ser similar al siguiente:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Para ver el token de prueba de origen en el archivo de service worker, usar las Herramientas para desarrolladores o el comando curl de la siguiente manera:

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

Vuelve a habilitar los campos de identidad de forma local después de Chrome 111

Si usas Chrome 111 o una versión posterior, los campos de identidad en las Los eventos canmakepayment quedan en blanco. Para volver a habilitar de forma local, puedes hacer lo siguiente:

  1. Usa Chrome 111 o una versión posterior.
  2. Ingresa chrome://flags/#add-identity-in-can-make-payment en la barra de URL.
  3. Habilitar la función experimental
  4. Reinicia Chrome.

Próximos pasos

Se planea habilitar este cambio de forma predeterminada a partir de Chrome 111. Puedes comenzar la prueba hoy mismo para prepararte para el cambio en el tiempo para el lanzamiento.