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 giú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 API yêu cầu thanh toán được khởi chạy thông qua Hàm khởi tạo new PaymentRequest(), hàm này sẽ tự động kích hoạt một sự kiện canmakepayment bằng nguồn gốc của người bán và dữ liệu tùy ý của người bán. một trình chạy dịch vụ đã được đă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 bất kỳ.

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 (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(), một nhân viên dịch vụ đã đăng ký nhận một sự kiện canmakepayment (CanMakePaymentEvent) chứa những thông tin sau:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Các báo cáo này sẽ bị loại bỏ và trình chạy dịch vụ sẽ chỉ nhận được canmakepayment sự kiện không có thông tin bổ sung.

Phát hiện tính năng

Để phát hiện xem sự kiện canmakepayment có bị thay đổi trong 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 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ật cờ này, các trường nhận dạng trong sự kiện canmakepayment sẽ là được sử dụng hết (và Ý định IS_READY_TO_PAY Android).

Cho phép 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 phiên bản phát hành công khai cho mục đích kiểm thử trước khi thay đổi đó thực sự truy cập vào Chrome. Cơ chế này được gọi là bản dùng thử theo nguyê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 thiết thực và hiệu quả đối với cộng đồng tiêu chuẩn web. Cho để biết thêm thông tin, hãy xem Hướng dẫn dùng thử theo nguyên gốc dành cho nhà phát triển web. Để đăng ký dùng thử theo nguyên gốc này hoặc một bản dùng thử theo nguyên gốc khác, hãy truy cập vào trang đăng ký.

Cách đăng ký bản dùng thử theo nguyên gốc:

  1. Yêu cầu mã thông báo cho máy chủ 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 Origin-Trial Tiêu đề HTTP. Việc đặt tiêu đề HTTP cần có quyền truy cập để định cấu hình máy chủ của bạn. Tiêu đề phản hồi thu được sẽ có dạng như sau:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Để xem mã thông báo dùng thử theo nguyên gốc trên tệp trình chạy dịch vụ, 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 trên thiết bị sau Chrome 111

Nếu bạn đang dùng Chrome 111 trở lên, các trường nhận dạng trong canmakepayment sự kiện bị để trống. Để bật lại 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

Theo mặc định, thay đổi này sẽ được bật trên Chrome 111. Bạn có thể bắt đầu thử nghiệm ngay hôm nay để chuẩn bị để nắm bắt sự thay đổi về thời gian ra mắt.