BasicCardResponse - 定义支付响应详细信息的对象结构
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
BasicCardResponse
字典(与支付请求 API相关,定义在基本卡片支付规范中),定义了支付响应详细信息的对象结构,例如用于进行支付的卡的号码/到期日期以及帐单地址。
属性
BasicCardResponse.cardNumber
只读 安全上下文
包含用于付款的卡号。
BasicCardResponse.cardholderName
只读 安全上下文 可选
包含用于付款的卡的持卡人名称。
BasicCardResponse.cardSecurityCode
只读 安全上下文 可选
包含用于付款的卡的安全代码。
BasicCardResponse.expiryMonth
只读 安全上下文 可选
包含用于付款的卡的到期月份。
BasicCardResponse.expiryYear
只读 安全上下文 可选
包含用于付款的卡的到期年份。
BasicCardResponse.billingAddress
只读 安全上下文 可选
包含用于付款的卡的帐单地址。
实例
在下面的例子中,PaymentRequest()
构造函数用于创建一个新的支付请求,其中包含三个对象作为参数 - 第一个包含支付方式的详细信息用于支付,第二个包含实际订单的详细信息(例如购买的物品和发货选项),以及第三个为可选的对象,描述了填写付款所需的数据(例如送货地址)。
这三个中的第一个(在下面的示例中为 supportedInstruments
)包含一个 data
属性,该属性必须符合 BasicCardRequest
字典定义的结构。
var supportedInstruments = [{
supportedMethods: 'basic-card',
data: {
supportedNetworks: ['visa', 'mastercard', 'amex', 'jcb',
'diners', 'discover', 'mir', 'unionpay'],
supportedTypes: ['credit', 'debit']
}
}];
var details = {
total: {label: 'Donation', amount: {currency: 'USD', value: '65.00'}},
displayItems: [
{
label: 'Original donation amount',
amount: {currency: 'USD', value: '65.00'}
}
],
shippingOptions: [
{
id: 'standard',
label: 'Standard shipping',
amount: {currency: 'USD', value: '0.00'},
selected: true
}
]
};
var options = {requestShipping: true};
try {
var request = new PaymentRequest(supportedInstruments, details, options);
// 在这里添加事件监听器。
// 调用 show() 来触发浏览器的支付流程。
request.show().then(function(instrumentResponse) {
// 在 UI 上做一些处理。
Do something with the response from the UI.
})
.catch(function(err) {
// 处理用 request.show() 中的错误
});
} catch (e) {
// 捕获任何其他错误。
}
一旦使用 PaymentRequest.show()
触发支付流程,它返回的 Promise
处理成功,那么在 Promise
返回的对象(上面例子中的 instrumentResponse
)中将包含 PaymentResponse
对象,它包含了 PaymentResponse.details
属性,表示响应的细节。它必须符合 BasicCardResponse
字典定义的结构,可能如下所示:
{
"cardNumber' : '9999999999999999",
"cardholderName' : 'Mr. Dick Straw",
"cardSecurityCode" : "999",
"expiryMonth" : "07",
"expiryYear" : "2021",
"billingAddress" : {
"country" : "GB",
// 等等。帐单地址是一个 PaymentAddress 对象
}
}
规范
规范 | 状态 | 备注 |
---|---|---|
Basic Card Payment BasicCardResponse 的定义 |
工作草案 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
cardNumber |
不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
cardholderName |
不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
cardSecurityCode |
不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
expiryMonth |
不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
expiryYear |
不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
billingAddress |
不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |
cardNumber |
不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |
cardholderName |
不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |
cardSecurityCode |
不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |
expiryMonth |
不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |
expiryYear |
不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |
billingAddress |
不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |