การอัปเดตลักษณะการทํางานของเหตุการณ์ 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 ให้ใช้เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์หรือคำสั่ง 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 คุณเริ่มทดสอบได้ตั้งแต่วันนี้เพื่อเตรียมพร้อมรับการเปลี่ยนแปลงเวลาเปิดตัว