PaymentResponse: shippingOption 属性
PaymentRequest 接口的只读属性 shippingOption 返回用户所选的配送选项的 ID 属性。此选项仅在传递给 PaymentRequest 构造函数的 options 对象中将 requestShipping 选项设置为 true 时存在。
值
字符串。
示例
在下面的示例中,调用了 shippingoptionchange 事件。它会调用 updateDetails() 来在“标准”和“快递”之间切换配送方式。
js
// Initialization of PaymentRequest arguments are excerpted for brevity.
const payment = new PaymentRequest(supportedInstruments, details, options);
request.addEventListener("shippingoptionchange", (evt) => {
evt.updateWith(
new Promise((resolve, reject) => {
updateDetails(details, request.shippingOption, resolve, reject);
}),
);
});
payment
.show()
.then((paymentResponse) => {
// Processing of paymentResponse excerpted for the same of brevity.
})
.catch((err) => {
console.error("Uh oh, something bad happened", err.message);
});
function updateDetails(details, shippingOption, resolve, reject) {
let selectedShippingOption;
let otherShippingOption;
if (shippingOption === "standard") {
selectedShippingOption = details.shippingOptions[0];
otherShippingOption = details.shippingOptions[1];
details.total.amount.value = "55.00";
} else if (shippingOption === "express") {
selectedShippingOption = details.shippingOptions[1];
otherShippingOption = details.shippingOptions[0];
details.total.amount.value = "67.00";
} else {
reject(`Unknown shipping option '${shippingOption}'`);
return;
}
selectedShippingOption.selected = true;
otherShippingOption.selected = false;
details.displayItems.splice(2, 1, selectedShippingOption);
resolve(details);
}
规范
| 规范 |
|---|
| Payment Request API # shippingoption-attribute |
浏览器兼容性
加载中…