PaymentManager:enableDelegations() 方法
enableDelegations()
方法是 PaymentManager
接口的一个方法,它将提供所需付款信息各个部分的责任委派给付款应用程序,而不是从浏览器(例如,通过自动填充)收集这些信息。
例如,如果在调用 PaymentRequest()
构造函数时,选项对象中的 requestShipping
选项设置为 true
,则会返回送货地址。
- 如果使用
enableDelegations()
将shippingAddress
委派出去,则该地址将来自付款应用程序。 - 否则,它将来自浏览器的自动填充功能。
语法
js
enableDelegations(delegations)
参数
delegations
可选-
包含一个或多个枚举值的数组,用于指定要委派给付款应用程序的付款信息。可能的值可以是
payerEmail
-
付款应用程序将在需要时提供付款人的电子邮件。
payerName
-
付款应用程序将在需要时提供付款人的姓名。
payerPhone
-
付款应用程序将在需要时提供付款人的电话号码。
shippingAddress
-
付款应用程序将在需要时提供送货地址。
返回值
一个 Promise
,它解析为 undefined
的值。
示例
js
navigator.serviceWorker.register("serviceworker.js").then((registration) => {
registration.paymentManager.userHint = "Card number should be 16 digits";
registration.paymentManager
.enableDelegations(["shippingAddress", "payerName"])
.then(() => {
// ...
});
// ...
});
规范
规范 |
---|
Payment Handler API # dom-paymentmanager-enabledelegations |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。