This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The id read-only attribute of the PaymentRequest interface returns a unique identifier for a particular PaymentRequest instance.
When constructing an instance of the PaymentRequest, you are able to supply an custom id via PaymentDetailsInit dictionary's id member. If none is provided, the browser automatically sets the id value to a UUID.
Example
This example shows how to give a PaymentRequest instance a custom id.
const details = {
id: "super-store-order-123-12312",
total: {
label: "Total due",
amount: { currency: "USD", value: "65.00" },
},
};
const request = new PaymentRequest(methodData, details);
console.log(request.id); // super-store-order-123-12312
The id is then also available in the PaymentResponse returned from the show() method, but under the requestId attribute.
const response = await request.show(); console.log(response.requestId === request.id); // And in serialized form too const json = response.toJSON(); console.log(json.requestId,response.requestId, request.id);
Syntax
var id = paymentRequest.id
Value
A DOMString.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Payment Request API The definition of 'id' in that specification. |
Candidate Recommendation | Initial definition. |
Browser Compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | Chrome Full support 61 | Edge Full support 16 | Firefox
Full support
55
| IE No support No | Opera No support No | Safari Full support 11.1 | WebView Android No support No | Chrome Android Full support 60 | Firefox Android
Full support
55
| Opera Android No support No | Safari iOS Full support 11.3 | Samsung Internet Android Full support 8.0 |
Legend
- Full support
- Full support
- No support
- No support
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
