PaymentRequest: id property

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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.

Example

This example shows how to give a PaymentRequest instance a custom id.

js
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.

js
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);

Value

A string.

Specifications

Specification
Payment Request API
# dom-paymentrequest-id

Browser compatibility

BCD tables only load in the browser