安全上下文
此特征只可用于
安全上下文
(HTTPS),在某些或所有
支持浏览器
.
这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
shippingAddress
只读特性在
PaymentRequest
interface returns a
PaymentAddress
object containing the shipping address provided by the user.
var shippingAddress = PaymentRequest.shippingAddress;
A
PaymentAddress
object providing details comprising the shipping address provided by the user.
Generally, the user agent will fill the
shippingAddress
property for you. You can trigger this by setting
PaymentOptions.requestShipping
to
true
when calling the
PaymentRequest
构造函数。
In the example below, the cost of shipping varies by geography. When the
PaymentRequest.onshippingaddresschange
is called,
updateDetails()
is called to update the details of the
PaymentRequest
,使用
shippingAddress
to set the correct shipping cost.
// Initialization of PaymentRequest arguments are excerpted for brevity.
var payment = new PaymentRequest(supportedInstruments, details, options);
request.addEventListener('shippingaddresschange', function(evt) {
evt.updateWith(new Promise(function(resolve) {
updateDetails(details, request.shippingAddress, resolve);
}));
});
payment.show().then(function(paymentResponse) {
// Processing of paymentResponse exerpted for the same of brevity.
}).catch(function(err) {
console.error("Uh oh, something bad happened", err.message);
});
function updateDetails(details, shippingAddress, resolve) {
if (shippingAddress.country === 'US') {
var shippingOption = {
id: '',
label: '',
amount: {currency: 'USD', value: '0.00'},
selected: true
};
if (shippingAddress.region === 'MO') {
shippingOption.id = 'mo';
shippingOption.label = 'Free shipping in Missouri';
details.total.amount.value = '55.00';
} else {
shippingOption.id = 'us';
shippingOption.label = 'Standard shipping in US';
shippingOption.amount.value = '5.00';
details.total.amount.value = '60.00';
}
details.displayItems.splice(2, 1, shippingOption);
details.shippingOptions = [shippingOption];
} else {
delete details.shippingOptions;
}
resolve(details);
}
| 规范 | 状态 | 注释 |
|---|---|---|
| 支付请求 API | 候选推荐 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
shippingAddress
|
Chrome 61 | Edge 15 |
Firefox
56
Disabled
|
IE No | Opera No | Safari Yes | WebView Android No |
Chrome Android
56
|
Firefox Android
56
Disabled
|
Opera Android No | Safari iOS Yes | Samsung Internet Android 6.0 |
完整支持
不支持
见实现注意事项。
用户必须明确启用此特征。
PaymentResponse
details
methodName
onpayerdetailchange
payerEmail
payerName
payerPhone
requestId
shippingAddress
shippingOption