Payment Handler API 可讓付款服務供應商搭配 Payment Request API 為商家提供自訂付款體驗。透過 new PaymentRequest()
建構函式初始化 Payment Request API 時,會以商家的來源和任意資料,向已註冊 Payment Handler API 的 Service Worker 觸發 canmakepayment
事件,而不顯示任何通知。這項跨來源通訊不需要使用者手勢,也不會顯示任何使用者介面。
Chrome 將移除 canmakepayment
事件的識別欄位,並從 Chrome 108 版開始來源試用。
本頁資訊僅適用於使用 Payment Handler API 的付款應用程式供應商。如果您不使用,可以略過這些操作說明。
異動內容
商家呼叫 new PaymentRequest()
時,已註冊的 Service Worker 會收到 canmakepayment
事件 (CanMakePaymentEvent
),其中包含下列資訊:
topOrigin
paymentRequestOrigin
methodData
modifiers
這些項目將移除,服務工作站只會收到 canmakepayment
事件,而不含任何額外資訊。
功能偵測
如要偵測 Service Worker 程式碼中的 canmakepayment
事件是否已變更,請檢查個別屬性,如下所示:
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
」。 - 啟用旗標。
- 重新啟動 Chrome。
啟用這個標記後,系統會清除 canmakepayment
事件中的身分欄位 (以及 Android IS_READY_TO_PAY
意圖)。
在正式環境中啟用變更
您也可以先為正式版啟用變更,待變更實際儲存至 Chrome 中。這項機制稱為「來源試用」。
來源試用可讓您試用新功能,並向網路標準社群的可用性、實用性和成效提供意見回饋。詳情請參閱網頁程式開發人員的來源試用指南。如要申請試用這項方案或其他來源試用服務,請前往註冊頁面。
如何註冊來源試用:
- 為來源要求權杖。
- 使用
Origin-Trial
HTTP 標頭,將憑證新增至 Service Worker JavaScript 檔案。設定 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
」。 - 啟用旗標。
- 重新啟動 Chrome。
後續步驟
Chrome 111 預計將預設啟用這項變更。您可以立即開始測試,為日後推出的變更做好萬全準備。