PaymentRequest: id property

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

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. If none is provided, the browser automatically sets the id value to a UUID.


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(; // 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;
console.log(response.requestId ===;

// And in serialized form too
const json = response.toJSON();
console.log(json.requestId, response.requestId,;


A string.


Payment Request API 1.1
# dom-paymentrequest-id

Browser compatibility

BCD tables only load in the browser