Pembaruan pada perilaku peristiwa CanMakePayment dari Payment Handler API

Payment Handler API memungkinkan penyedia pembayaran menyediakan pengalaman pembayaran kustom mereka untuk penjual, bersama dengan Payment Request API. Saat Payment Request API diinisialisasi melalui konstruktor new PaymentRequest(), API ini akan otomatis memicu peristiwa canmakepayment dengan asal penjual dan data arbitrer ke pekerja layanan yang terdaftar untuk Payment Handler API. Komunikasi lintas origin ini tidak memerlukan gestur pengguna dan tidak menampilkan antarmuka pengguna apa pun.

Chrome akan menghapus kolom identitas dari peristiwa canmakepayment dan memulai uji coba origin dari Chrome 108.

Informasi di halaman ini hanya berlaku untuk penyedia aplikasi pembayaran yang menggunakan Payment Handler API. Jika tidak menggunakannya, Anda dapat melewati petunjuk ini.

Apa yang berubah?

Saat penjual memanggil new PaymentRequest(), pekerja layanan terdaftar akan menerima peristiwa canmakepayment (CanMakePaymentEvent) yang berisi informasi berikut:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Ini akan dihapus dan pekerja layanan hanya akan menerima peristiwa canmakepayment tanpa informasi tambahan.

Deteksi fitur

Untuk mendeteksi apakah peristiwa canmakepayment diubah dalam kode pekerja layanan, periksa properti masing-masing seperti ini:

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

Mencoba perubahan secara lokal

Untuk mengaktifkan perubahan secara lokal untuk tujuan pengembangan:

  1. Gunakan Chrome 108, 109, atau 110.
  2. Masukkan chrome://flags/#clear-identity-in-can-make-payment di kolom URL.
  3. Aktifkan tanda.
  4. Luncurkan kembali Chrome.

Dengan mengaktifkan tanda, kolom identitas dalam peristiwa canmakepayment akan dikosongkan (dan Intent IS_READY_TO_PAY Android).

Mengaktifkan perubahan dalam produksi

Anda juga dapat mengaktifkan perubahan dalam produksi untuk tujuan pengujian sebelum sebenarnya diluncurkan di Chrome. Mekanisme ini disebut uji coba origin.

Uji coba origin memungkinkan Anda mencoba fitur baru dan memberikan masukan tentang kegunaan, kepraktisan, dan efektivitasnya kepada komunitas standar web. Untuk mengetahui informasi selengkapnya, lihat Panduan Uji Coba Origin untuk Developer Web. Untuk mendaftar ke uji coba asal ini atau uji coba asal lainnya, buka halaman pendaftaran.

Untuk mendaftarkan uji coba origin:

  1. Minta token untuk origin Anda.
  2. Tambahkan token ke file JavaScript pekerja layanan menggunakan header HTTP Origin-Trial. Untuk menetapkan header HTTP, Anda memerlukan akses untuk mengonfigurasi server. Header respons yang dihasilkan akan terlihat seperti ini:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Untuk melihat token uji coba origin di file pekerja layanan, gunakan DevTools atau perintah curl seperti ini:

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

Mengaktifkan kembali kolom identitas secara lokal setelah Chrome 111

Jika Anda menggunakan Chrome 111 atau yang lebih baru, kolom identitas dalam peristiwa canmakepayment akan dibiarkan kosong. Untuk mengaktifkan kembali kolom secara lokal, Anda dapat melakukan hal berikut:

  1. Gunakan Chrome 111 atau yang lebih baru.
  2. Masukkan chrome://flags/#add-identity-in-can-make-payment di kolom URL.
  3. Aktifkan tanda.
  4. Luncurkan kembali Chrome.

Langkah berikutnya

Perubahan ini direncanakan untuk diaktifkan secara default mulai Chrome 111. Anda dapat mulai melakukan pengujian hari ini untuk bersiap menghadapi perubahan waktu peluncuran.