Payment Handler API
可讓付款服務供應商為商家提供自訂付款體驗,以及Payment Request API。透過 new PaymentRequest()
建構函式初始化 Payment Request API 時,系統會以商家來源和任意資料,對已註冊 Payment Handler API 的服務工作站,無聲地觸發 canmakepayment
事件。這項跨來源通訊不需要使用者手勢,也不會顯示任何使用者介面。
Chrome 將從 canmakepayment
事件中移除識別欄位,並從 Chrome 108 開始進行來源試用。
本頁資訊僅適用於使用 Payment Handler API 的付款應用程式供應商。如果沒有使用,可以略過這些操作說明。
異動內容
商家呼叫 new PaymentRequest()
時,已註冊的 Service Worker 會收到 canmakepayment
事件 (CanMakePaymentEvent
),其中包含下列資訊:
topOrigin
paymentRequestOrigin
methodData
modifiers
這些項目將會移除,服務工作人員只會收到 canmakepayment
事件,不會收到任何額外資訊。
特徵偵測
如要偵測服務工作人員程式碼中的 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
Intent)。
在正式環境中啟用變更
您也可以在實際進入 Chrome 之前,先在正式環境中啟用這項變更,以進行測試。這項機制稱為原始碼試用。
您可以透過來源試用程序試用新功能,並向網路標準社群提供意見,協助評估這些功能的實用性、實用性和有效性。詳情請參閱網頁開發人員適用的來源試用指南。如要註冊這項或其他原始碼試用計畫,請前往註冊頁面。
如要註冊來源試用,請按照下列步驟操作:
- 為來源要求權杖。
- 使用
Origin-Trial
HTTP 標頭,將權杖新增至服務工作人員 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 版預設啟用。您可以立即開始測試,為推出時間的變更做好準備。