PaymentRequestEvent: changePaymentMethod() 方法
注意:此功能僅在 Service Workers 中可用。
PaymentRequestEvent 介面的 changePaymentMethod() 方法由支付處理程式使用,以便在給定賬單地址等付款方式詳細資訊的情況下,獲取更新後的總金額。
呼叫此方法時,會觸發一個 PaymentMethodChangeEvent。
語法
js
changePaymentMethod(methodName)
changePaymentMethod(methodName, methodDetails)
引數
methodName-
將要使用的付款方法的名稱。
methodDetails可選-
一個包含正在更新的特定於方法的詳細資訊的物件。
返回值
一個 Promise,它會解析為一個 PaymentRequestDetailsUpdate 物件。此物件包含以下屬性:
error-
一個字串,解釋為什麼無法使用使用者選擇的付款方法。
total-
根據更改的付款方法更新的總金額。例如,由於使用者選擇的付款方式的賬單地址會更改適用的銷售稅,因此總金額可能會發生變化。
modifiers-
一個
PaymentDetailsModifier物件的Array,其屬性在PaymentRequestEvent.modifiers中進行了描述。 paymentMethodErrors-
一個包含付款方法驗證錯誤的物件(如果存在)。
示例
以下是一個簡單的程式碼片段,可在服務工作執行緒中使用,以將付款方式更改通知傳送到主支付處理程式視窗。有關完整的測試示例,請參閱 用於測試付款方式更改事件的支付處理程式。
js
function notifyPaymentMethodChanged(e) {
e.changePaymentMethod("someMethod")
.then((paymentMethodChangeResponse) => {
paymentHandlerWindow.postMessage(paymentMethodChangeResponse);
})
.catch((error) => {
sendMessage({ error: error.message });
});
}
規範
| 規範 |
|---|
| Payment Handler API # changepaymentmethod-method |
瀏覽器相容性
載入中…