Pembaruan pada perilaku peristiwa CanMakePayment dari Payment Handler API

Payment Handler API memungkinkan penyedia jasa pembayaran menyediakan pengalaman pembayaran khusus penjual, beserta Payment Request API. Saat Payment Request API diinisialisasi melalui konstruktor new PaymentRequest(), fungsi ini secara otomatis mengaktifkan peristiwa canmakepayment dengan asal penjual dan data arbitrer untuk pekerja layanan yang terdaftar untuk Payment Handler API. Komunikasi lintas asal ini tidak memerlukan {i>gesture <i}pengguna dan tidak menampilkan antarmuka pengguna apa pun.

Chrome akan menghapus kolom pengidentifikasi 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 Anda tidak menggunakannya, Anda dapat melewati petunjuk ini.

Apa yang berubah?

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

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

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

Deteksi fitur

Untuk mendeteksi apakah peristiwa canmakepayment diubah di pekerja layanan , periksa properti masing-masing seperti berikut:

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

Coba 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 ulang Chrome.

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

Mengaktifkan perubahan dalam produksi

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

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

Untuk mendaftarkan uji coba origin:

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

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

$ 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 di Peristiwa canmakepayment dibiarkan kosong. Untuk mengaktifkan kembali 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 ulang Chrome.

Langkah berikutnya

Perubahan ini direncanakan akan diaktifkan secara default dari Chrome 111. Anda dapat mulai pengujian hari ini untuk mempersiapkan diri untuk perubahan waktu peluncuran.