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) {...}
...
});
ลองใช้การเปลี่ยนแปลงในเครื่อง
วิธีเปิดใช้การเปลี่ยนแปลงในเครื่องเพื่อวัตถุประสงค์ในการพัฒนา
- ใช้ Chrome 108, 109 หรือ 110
- ป้อน
chrome://flags/#clear-identity-in-can-make-payment
ในแถบ URL - เปิดใช้การแจ้งว่าไม่เหมาะสม
- เปิด Chrome อีกครั้ง
การเปิดใช้ Flag จะทำให้ช่องข้อมูลระบุตัวตนในเหตุการณ์ canmakepayment
ว่างเปล่า (และIntent IS_READY_TO_PAY
ของ Android)
เปิดใช้การเปลี่ยนแปลงในเวอร์ชันที่ใช้งานจริง
นอกจากนี้ คุณยังเปิดใช้การเปลี่ยนแปลงในเวอร์ชันที่ใช้งานจริงเพื่อวัตถุประสงค์ในการทดสอบได้ก่อนที่จะเปิดตัวใน Chrome กลไกนี้เรียกว่าการทดสอบต้นทาง
ช่วงทดลองใช้จากต้นทางช่วยให้คุณลองใช้ฟีเจอร์ใหม่ๆ และแสดงความคิดเห็นเกี่ยวกับความสามารถในการใช้งาน ประโยชน์ และประสิทธิภาพของฟีเจอร์เหล่านั้นต่อชุมชนมาตรฐานเว็บ ดูข้อมูลเพิ่มเติมได้ที่คู่มือช่วงทดลองใช้จากต้นทางสําหรับนักพัฒนาเว็บ หากต้องการลงชื่อสมัครใช้ช่วงทดลองใช้นี้หรือช่วงทดลองใช้ต้นทางอื่น โปรดไปที่หน้าการลงทะเบียน
วิธีลงทะเบียนช่วงทดลองใช้จากต้นทาง
- ขอโทเค็นสำหรับต้นทาง
- เพิ่มโทเค็นลงในไฟล์ 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
จะว่างเปล่า หากต้องการเปิดใช้ช่องอีกครั้งในเครื่อง ให้ทำดังนี้
- ใช้ Chrome เวอร์ชัน 111 ขึ้นไป
- ป้อน
chrome://flags/#add-identity-in-can-make-payment
ในแถบ URL - เปิดใช้การแจ้งว่าไม่เหมาะสม
- เปิด Chrome อีกครั้ง
ขั้นตอนถัดไป
เราวางแผนที่จะเปิดใช้การเปลี่ยนแปลงนี้โดยค่าเริ่มต้นตั้งแต่ Chrome 111 คุณเริ่มทดสอบได้ตั้งแต่วันนี้เพื่อเตรียมพร้อมรับการเปลี่ยนแปลงเวลาเปิดตัว