Nội dung cập nhật đối với hành vi của sự kiện CanMakePayment của API Trình xử lý thanh toán

Payment Handler API cho phép nhà cung cấp dịch vụ thanh toán cung cấp trải nghiệm thanh toán tuỳ chỉnh cho người bán, cùng với Payment Request API. Khi Payment Request API được khởi tạo thông qua hàm khởi tạo new PaymentRequest(), API này sẽ âm thầm kích hoạt một sự kiện canmakepayment với nguồn gốc của người bán và dữ liệu tuỳ ý cho một worker dịch vụ đã đăng ký cho Payment Handler API. Hoạt động giao tiếp trên nhiều nguồn gốc này không yêu cầu cử chỉ của người dùng và không hiển thị giao diện người dùng nào.

Chrome sẽ xoá các trường nhận dạng khỏi sự kiện canmakepayment và bắt đầu bản dùng thử theo nguyên gốc từ Chrome 108.

Thông tin trên trang này chỉ áp dụng cho những nhà cung cấp ứng dụng thanh toán sử dụng Payment Handler API. Nếu không sử dụng, bạn có thể bỏ qua các hướng dẫn này.

Điều gì sẽ thay đổi?

Khi người bán gọi new PaymentRequest(), một trình chạy dịch vụ đã đăng ký sẽ nhận được sự kiện canmakepayment (CanMakePaymentEvent) chứa thông tin sau:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Các thuộc tính này sẽ bị xoá và trình chạy dịch vụ sẽ chỉ nhận được sự kiện canmakepayment mà không có thêm thông tin nào.

Phát hiện đối tượng

Để phát hiện xem sự kiện canmakepayment có thay đổi trong mã trình chạy dịch vụ hay không, hãy kiểm tra các thuộc tính tương ứng như sau:

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

Thử thay đổi cục bộ

Cách bật thay đổi cục bộ cho mục đích phát triển:

  1. Sử dụng Chrome 108, 109 hoặc 110.
  2. Nhập chrome://flags/#clear-identity-in-can-make-payment vào thanh URL.
  3. Bật cờ.
  4. Chạy lại Chrome.

Khi bạn bật cờ này, các trường nhận dạng trong sự kiện canmakepayment sẽ bị xoá (và Android IS_READY_TO_PAY Intent).

Bật thay đổi trong phiên bản phát hành công khai

Bạn cũng có thể bật thay đổi trong bản phát hành công khai cho mục đích kiểm thử trước khi thay đổi đó thực sự xuất hiện trong Chrome. Cơ chế này được gọi là dùng thử nguồn gốc.

Bản dùng thử theo nguyên gốc cho phép bạn dùng thử các tính năng mới và gửi ý kiến phản hồi về khả năng sử dụng, tính thực tế và hiệu quả của các tính năng đó cho cộng đồng tiêu chuẩn web. Để biết thêm thông tin, hãy xem Hướng dẫn về bản dùng thử theo nguyên gốc dành cho nhà phát triển web. Để đăng ký dùng thử nguồn gốc này hoặc một nguồn gốc khác, hãy truy cập vào trang đăng ký.

Cách đăng ký dùng thử nguồn gốc:

  1. Yêu cầu mã thông báo cho nguồn gốc của bạn.
  2. Thêm mã thông báo vào tệp JavaScript của worker dịch vụ bằng cách sử dụng tiêu đề HTTP Origin-Trial. Để thiết lập tiêu đề HTTP, bạn cần có quyền định cấu hình máy chủ. Tiêu đề phản hồi nhận được sẽ có dạng như sau:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Để xem mã thông báo dùng thử nguồn trên tệp worker dịch vụ, hãy sử dụng Công cụ cho nhà phát triển hoặc lệnh curl như sau:

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

Bật lại các trường nhận dạng cục bộ sau Chrome 111

Nếu bạn đang sử dụng Chrome phiên bản 111 trở lên, thì các trường nhận dạng trong sự kiện canmakepayment sẽ bị bỏ trống. Để bật lại các trường này cục bộ, bạn có thể làm như sau:

  1. Sử dụng Chrome 111 trở lên.
  2. Nhập chrome://flags/#add-identity-in-can-make-payment vào thanh URL.
  3. Bật cờ.
  4. Chạy lại Chrome.

Các bước tiếp theo

Thay đổi này dự kiến sẽ được bật theo mặc định từ Chrome 111. Bạn có thể bắt đầu kiểm thử ngay hôm nay để chuẩn bị cho thay đổi về thời gian ra mắt.