BasicCardRequest - 用于支付请求 API 的 JavaScript 对象结构
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
BasicCardRequest
字典是一个可用于支付请求 API 的 JavaScript 对象结构。 BasicCardRequest
的属性在基本卡片支付规范)中定义。
属性
BasicCardRequest.supportedNetworks
安全上下文
一个包含 DOMString
的可选的数组,表示零售商支持的卡网络(例如 amex
,mastercard
)。如果没有该属性,则意味着支持所有网络。
BasicCardRequest.supportedTypes
安全上下文
一个包含 DOMString
的可选的数组,表示零售商支持的卡片类型(例如 credit
,debit
,prepaid
)。如果没有该属性,则意味着支持所有的卡片类型。
实例
在下面的例子中,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 BasicCardRequest 的定义 |
工作草案 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
supportedNetworks |
不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
supportedTypes |
不支持 | 支持 | 56 | 不支持 | 不支持 | 未知 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |
supportedNetworks |
不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |
supportedTypes |
不支持 | 57 | 支持 | 56 | 未知 | 不支持 | 未知 |