## The Payment Request object

A `PaymentRequest` object is used to collect payment information through an interface controlled and styled by the browser itself (i.e., not by you or your page). See the [Payment Request Button Element quickstart](https://docs.stripe.com/stripe-js/elements/payment-request-button.md) for a high-level overview of when you’d want to do this.

## Create a PaymentRequestObject

`stripe.paymentRequest(options: object)`

Use `stripe.paymentRequest` to create a `PaymentRequest` object. Creating a `PaymentRequest` requires that you configure it with an `options` object. In Safari, `stripe.paymentRequest` uses Apple Pay, and in other browsers it uses the [Payment Request API standard](https://www.w3.org/TR/payment-request/).

> `stripe.paymentRequest` abstracts over a number of implementation
> details to work uniformly across Apple Pay and the Payment Request
> browser standard. In particular, under the hood we set `supportedNetworks`
> to its most permissive setting, dynamically accounting for country
> and platform. It is currently not possible to override this and make
> `supportedNetworks` be more restrictive.

- `options`
  A set of options to create this `PaymentRequest` instance with. These options can be updated using [`paymentRequest.update`](https://docs.stripe.com/js/payment_request/update.md).
- `country`
  The two-letter country code of your Stripe account (e.g., `US`).
- `currency`
  Three character currency code (e.g., `usd`).
- `total`
  A [PaymentItem](#payment_item_object) object. This `PaymentItem` is shown to the customer in the browser’s payment interface.
- `displayItems`
  An array of [PaymentItem](#payment_item_object) objects. These objects are shown as line items in the browser’s payment interface. Note that the sum of the line item amounts does not need to add up to the `total` amount above.
- `requestPayerName`
  By default, the browser‘s payment interface only asks the customer for actual payment information. A customer name can be collected by setting this option to `true`. This collected name will appears in the [PaymentResponse](https://docs.stripe.com/js/appendix/payment_response.md) object. We highly recommend you collect name as this also results in collection of billing address for Apple Pay. The billing address can be used to perform address verification and block fraudulent payments. For all other payment methods, the billing address is automatically collected when available.