La API de Payment Handler
permite que los proveedores de pagos hagan que su experiencia de pago personalizada esté disponible para
los comercios, junto con la API de Payment Request. Cuando se inicializa la API de Payment Request mediante el constructor new PaymentRequest()
, activa silenciosamente un evento canmakepayment
con el origen y los datos arbitrarios del comercio para un service worker que está registrado en la API de Payment Handler.
Esta comunicación de origen cruzado no requiere un gesto del usuario y no muestra ninguna interfaz de usuario.
Chrome quitará los campos de identificación del evento canmakepayment
y comenzará la prueba de origen desde Chrome 108.
La información de esta página solo se aplica a los proveedores de apps de pagos 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
Se quitarán y el service worker solo recibirá el
evento canmakepayment
sin información adicional.
Detección de funciones
Para detectar si el evento canmakepayment
cambia en el código del service worker, examina las propiedades correspondientes 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 manera local con fines de desarrollo, sigue estos pasos:
- Usa Chrome 108, 109 o 110.
- Ingresa
chrome://flags/#clear-identity-in-can-make-payment
en la barra de URL. - Habilitar la marca.
- Reinicia Chrome.
Si habilitas la marca, se vaciarán los campos de identidad del evento canmakepayment
(y el intent IS_READY_TO_PAY
de Android).
Habilita el cambio en producción
También puedes habilitar el cambio en producción con fines de prueba antes de que llegue a Chrome. Este mecanismo se denomina prueba de origen.
Las pruebas de origen te permiten probar funciones nuevas y enviar comentarios sobre su usabilidad, funcionalidad y eficacia a la comunidad de estándares de la Web. Para obtener más información, consulta la Guía de pruebas de origen para desarrolladores web. Para registrarte en esta o en otra prueba de origen, visita la página de registro.
Para registrar una prueba de origen, sigue estos pasos:
- Solicita un token para tu origen.
- Agrega el token al archivo JavaScript de tu service worker mediante un encabezado HTTP
Origin-Trial
. La configuración de encabezados HTTP requiere acceso para configurar el servidor. El encabezado de respuesta resultante debería ser similar a lo siguiente:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
Para ver el token de prueba de origen en el archivo de service worker, usa 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...
Volver 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 del evento canmakepayment
quedan vacíos. Para volver a habilitar los campos de forma local, puedes hacer lo siguiente:
- Usa Chrome 111 o una versión posterior.
- Ingresa
chrome://flags/#add-identity-in-can-make-payment
en la barra de URL. - Habilitar la marca.
- Reinicia Chrome.
Próximos pasos
Se planea habilitar este cambio de forma predeterminada a partir de Chrome 111. Puedes comenzar a realizar pruebas hoy y prepararte para el cambio a tiempo del lanzamiento.