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

API Trình xử lý thanh toán 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 API Yêu cầu thanh toán. Khi Payment Request API được khởi chạy thông qua hàm khởi tạo new PaymentRequest(), API này sẽ tự động 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ụ được đăng ký cho Payment Handler API. Giao tiếp giữa các 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 các nhà cung cấp ứng dụng thanh toán sử dụng API Trình xử lý thanh toán. 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(), trình chạy dịch vụ đã đăng ký sẽ nhận được sự kiện canmakepayment (CanMakePaymentEvent) chứa các thông tin sau:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Các thông tin này sẽ bị xoá và worker 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 tính năng

Để phát hiện xem sự kiện canmakepayment có thay đổi trong mã worker của 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 trên máy

Cách cho phép 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ẽ được trống (và Ý định IS_READY_TO_PAY của Android).

Bật thay đổi trong phiên bản phát hành chính thức

Bạn cũng có thể bật thay đổi trong phiên bản chính thức cho mục đích kiểm thử trước khi thay đổi đó thực sự có trên Chrome. Cơ chế này được gọi là thử nghiệm 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à đưa ra ý kiến phản hồi về khả năng hữu 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ý sử dụng bản dùng thử này hoặc một bản dùng thử khác theo nguyên gốc, hãy truy cập vào trang đăng ký.

Cách đăng ký thử nghiệm 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 trình chạy dịch vụ bằng cách sử dụng tiêu đề HTTP Origin-Trial. Để đặt tiêu đề HTTP, bạn cần có quyền truy cập để định cấu hình máy chủ. Tiêu đề phản hồi thu được sẽ có dạng như sau:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Để xem mã thông báo thử nghiệm gốc trên tệp worker, hãy sử dụng DevTools 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 trên máy sau Chrome 111

Nếu bạn đang sử dụng Chrome 111 trở lên, các trường danh tính trong sự kiện canmakepayment sẽ để trống. Để bật lại các trường trên máy, 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 thử nghiệm ngay hôm nay để chuẩn bị cho việc thay đổi thời gian ra mắt.