การอัปเดตลักษณะการทํางานของเหตุการณ์ CanMakePayment ของ Payment Handler API

Payment Handler API ช่วยให้ผู้ให้บริการชำระเงินมอบประสบการณ์การชำระเงินที่กำหนดเองให้แก่ ผู้ขายได้ พร้อมกับ Payment Request API เมื่อเริ่มต้น Payment Request API ผ่านตัวสร้าง new PaymentRequest() ระบบจะทริกเกอร์เหตุการณ์ canmakepayment โดยไม่มีการแจ้งเตือนพร้อมกับ ต้นทางของผู้ขายและข้อมูลที่กำหนดเองไปยัง Service Worker ที่ลงทะเบียนสำหรับ Payment Handler API การสื่อสารข้ามต้นทางนี้ไม่จำเป็นต้องมีการแตะของผู้ใช้และไม่แสดงอินเทอร์เฟซผู้ใช้ใดๆ

Chrome จะนำช่องที่ระบุตัวตนออกจากเหตุการณ์ canmakepayment และเริ่มช่วงทดลองใช้จากต้นทางตั้งแต่ Chrome 108

ข้อมูลในหน้านี้ใช้กับผู้ให้บริการแอปการชำระเงินที่ใช้ Payment Handler API เท่านั้น หากไม่ได้ใช้ คุณสามารถข้ามวิธีการเหล่านี้ได้

สิ่งที่เปลี่ยนแปลงไป

เมื่อผู้ขายโทรหา new PaymentRequest() ผู้ปฏิบัติงานของบริการที่ลงทะเบียนจะได้รับเหตุการณ์ canmakepayment (CanMakePaymentEvent) ซึ่งมีข้อมูลต่อไปนี้

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

โดยเราจะนำสิ่งเหล่านี้ออกและ Service Worker จะได้รับเหตุการณ์ canmakepayment โดยไม่มีข้อมูลเพิ่มเติม

การตรวจหาฟีเจอร์

หากต้องการตรวจหาว่ามีการเปลี่ยนแปลงcanmakepayment เหตุการณ์ใน Service Worker หรือไม่ ให้ตรวจสอบพร็อพเพอร์ตี้ที่เกี่ยวข้องดังนี้

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

ลองทำการเปลี่ยนแปลงในเครื่อง

หากต้องการเปิดใช้การเปลี่ยนแปลงในเครื่องเพื่อวัตถุประสงค์ในการพัฒนา ให้ทำดังนี้

  1. ใช้ Chrome 108, 109 หรือ 110
  2. ป้อน chrome://flags/#clear-identity-in-can-make-payment ในแถบ URL
  3. เปิดใช้ฟีเจอร์ทดลอง
  4. เปิด Chrome อีกครั้ง

การเปิดใช้ Flag จะทำให้ช่องข้อมูลประจำตัวในเหตุการณ์ canmakepayment ว่างเปล่า (และIntent IS_READY_TO_PAY ของ Android)

เปิดใช้การเปลี่ยนแปลงในเวอร์ชันที่ใช้งานจริง

นอกจากนี้ คุณยังเปิดใช้การเปลี่ยนแปลงในเวอร์ชันที่ใช้งานจริงเพื่อวัตถุประสงค์ในการทดสอบได้ก่อนที่การเปลี่ยนแปลงจะ มีผลใน Chrome จริงๆ กลไกนี้เรียกว่าการทดลองใช้ฟีเจอร์ต้นทาง

ช่วงทดลองใช้จากต้นทางช่วยให้คุณได้ลองใช้ฟีเจอร์ใหม่ๆ และแสดงความคิดเห็นเกี่ยวกับ ความสามารถในการใช้งาน ความสะดวก และประสิทธิภาพของฟีเจอร์เหล่านั้นต่อชุมชนมาตรฐานเว็บ ดูข้อมูลเพิ่มเติมได้ที่คู่มือช่วงทดลองใช้จากต้นทางสำหรับนักพัฒนาเว็บ หากต้องการลงชื่อสมัครใช้การทดลองใช้ต้นทางนี้หรือการทดลองใช้ต้นทางอื่นๆ โปรดไปที่หน้าลงทะเบียน

วิธีลงทะเบียนช่วงทดลองใช้จากต้นทาง

  1. ขอโทเค็น สำหรับต้นทาง
  2. เพิ่มโทเค็นลงในไฟล์ JavaScript ของ Service Worker โดยใช้Origin-Trial ส่วนหัว HTTP การตั้งค่าส่วนหัว HTTP ต้องมีสิทธิ์เข้าถึงการกำหนดค่าเซิร์ฟเวอร์ ส่วนหัวการตอบกลับที่ได้ควรมีลักษณะดังนี้
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

หากต้องการดูโทเค็นช่วงทดลองใช้ฟีเจอร์ต้นทางในไฟล์ Service Worker ให้ใช้ DevTools หรือคำสั่ง curl ดังนี้

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

เปิดใช้ช่องข้อมูลระบุตัวตนอีกครั้งในเครื่องหลังจาก Chrome 111

หากคุณใช้ Chrome 111 ขึ้นไป ระบบจะเว้นว่างช่องข้อมูลประจำตัวในcanmakepaymentเหตุการณ์ หากต้องการเปิดใช้ช่อง อีกครั้งในเครื่อง ให้ทำดังนี้

  1. ใช้ Chrome 111 ขึ้นไป
  2. ป้อน chrome://flags/#add-identity-in-can-make-payment ในแถบ URL
  3. เปิดใช้ฟีเจอร์ทดลอง
  4. เปิด Chrome อีกครั้ง

ขั้นตอนถัดไป

เรามีแผนที่จะเปิดใช้การเปลี่ยนแปลงนี้โดยค่าเริ่มต้นตั้งแต่ Chrome 111 คุณเริ่มทดสอบได้ตั้งแต่วันนี้เพื่อเตรียมพร้อม สำหรับการเปลี่ยนแปลงก่อนการเปิดตัว