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 |
瀏覽器相容性
載入中…