# Handle buyer errors (/expanded/handle-buyer-errors)

Manage payer errors and enhance the payer experience in your Expanded Checkout integration using the PayPal JavaScript SDK and Orders REST API.



Handle payer errors to provide a unique payer experience.

## Know before you code [#know-before-you-code]

> Required
>
> * This feature modifies an existing [Expanded Checkout integration](/v5/expanded/overview/)
> * This integration uses the following: - [PayPal JavaScript SDK](/sdk/js/reference) - [Orders REST API](/api/orders/v2/) - [Create order](/api/orders/v2/orders-create/) endpoint
>
> Run in Postman

## Buyer checkout error [#buyer-checkout-error]

If an error prevents buyer checkout, alert the user that an error has occurred with the buttons using the `onError` callback:

<div className="pl-[1.625rem]" />

```javascript lineNumbers
paypal
  .Buttons({
    onError: function (err) {
      // For example, redirect to a specific error page
      window.location.href = "/your-error-page-here";
    },
  })
  .render("#paypal-button-container");
```

This error handler is a catch-all. Errors at this point are not expected to be handled beyond showing a generic error message or page.

## Script not loading error [#script-not-loading-error]

If null pointer errors prevent the script from loading, provide a different checkout experience:

<div className="pl-[1.625rem]" />

```javascript lineNumbers
if (window.paypal && window.paypal.Buttons) {
  // render the buttons
} else {
  // show a fallback experience
}
```
