Pembaruan pada perilaku peristiwa CanMakePayment dari Payment Handler API

Dengan Payment Handler API, penyedia pembayaran dapat menyediakan pengalaman pembayaran kustom untuk penjual, bersama dengan Payment Request API. Saat Payment Request API diinisialisasi melalui konstruktor new PaymentRequest(), API akan otomatis mengaktifkan peristiwa canmakepayment dengan asal penjual dan data arbitrer ke pekerja layanan yang terdaftar untuk Payment Handler API. Komunikasi lintas asal ini tidak memerlukan gestur 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 tidak menggunakannya, Anda dapat melewati petunjuk ini.

Apa yang berubah?

Saat penjual memanggil new PaymentRequest(), pekerja layanan yang 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 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

Agar dapat 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 dikosongkan (dan Intent IS_READY_TO_PAY Android).

Mengaktifkan perubahan dalam produksi

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

Uji coba origin memungkinkan Anda mencoba fitur baru dan memberikan masukan tentang kegunaan, kepraktisan, dan efektivitas fitur tersebut kepada komunitas standar web. Untuk mengetahui informasi selengkapnya, lihat Panduan Uji Coba Origin untuk Developer Web. Untuk mendaftar ke uji coba ini atau uji coba origin 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. 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 pada file pekerja layanan, gunakan DevTools atau perintah curl seperti berikut:

$ 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 tersebut 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 akan diaktifkan secara default mulai Chrome 111. Anda dapat memulai pengujian sekarang untuk mempersiapkan perubahan waktu peluncuran.