## PaymentRequestButtonElement

Use the `PaymentRequestButtonElement` from `@stripe/react-stripe-js` to display Apple Pay, Google Pay,
Link, and browser-based payment request buttons powered by the Payment Request API.

### Props

- `id`
  Sets the DOM `id` attribute on the rendered Element container. Use this to
target the Element for styling or testing.

- `className`
  Applies custom CSS classes to the Element container.

- `options`
  Options for creating a `paymentRequestButton` element.
    - `classes`
      Set custom class names on the container DOM element when the Stripe element is in a particular state.
      - `base`
        The base class applied to the container.
Defaults to `StripeElement`.
      - `complete`
        The class name to apply when the `Element` is complete.
Defaults to `StripeElement--complete`.
      - `empty`
        The class name to apply when the `Element` is empty.
Defaults to `StripeElement--empty`.
      - `focus`
        The class name to apply when the `Element` is focused.
Defaults to `StripeElement--focus`.
      - `invalid`
        The class name to apply when the `Element` is invalid.
Defaults to `StripeElement--invalid`.
      - `webkitAutofill`
        The class name to apply when the `Element` has its value autofilled by the browser (only on Chrome and Safari).
Defaults to `StripeElement--webkit-autofill`.
    - `style`
      An object used to customize the appearance of the Payment Request Button.
The object must have a single `paymentRequestButton` field, containing any of the following sub-fields:
      - `type`
        Preferred button type to display. Available types, by wallet:


Browser card: `default`, `book`, `buy`, or `donate`.

Google Pay: `default`, `buy`, or `donate`.

Apple Pay: `default`, `book`, `buy`, `donate`, `check-out`, `subscribe`, `reload`, `add-money`, `top-up`, `order`, `rent`, `support`, `contribute`, `tip`


When a wallet does not support the provided value, `default` is used as a fallback.
      - `theme`
        One of `dark`, `light`, or `light-outline`.
The default is `dark`.
      - `height`
        The height of the Payment Request Button. Accepts `px` unit values.
    - `paymentRequest`
      A [PaymentRequest](https://docs.stripe.com/js/payment_request.md) object used to configure the element.

- `onClick`
  Callback called when the customer clicks the Element.
Receives the [click event payload](https://docs.stripe.com/js/element/events/on_click?type=expressCheckoutElement.md#element_on_click-handler).

- `onReady`
  Callback called once the Element is fully rendered.
Recieves the [ready event payload](https://docs.stripe.com/js/element/events/on_ready.md#element_on_ready-handler).

- `onBlur`
  Callback called when the Element loses focus.

- `onFocus`
  Callback called when the Element receives focus.

### Example

```title
Render PaymentRequestButtonElement
```
