On this page
No Headings
Last updated: May 4, 2026
Estimated time: 6 minutes
Use this guide to identify and fix common issues that prevent Payment Links and Buttons from displaying or working as expected.
Review the following scenarios if your account cannot access Payment Links and Buttons or if customers encounter payment errors.
Payment Links and Buttons are available only for Business accounts. To access this feature, upgrade your existing account or create a new Business account.
Payment method availability depends on the customer's country and eligibility. Not all payment methods appear for every buyer.
Account restrictions can prevent customers from completing payments. Common symptoms include a generic "something went wrong" message or a payment_denied error.
To resolve this:
Review the following solutions if a button does not appear on your page or shows an error in the browser console.
The button might not display if your site cannot load required PayPal resources because of your Content Security Policy (CSP) or connectivity issues.
The button can fail if your CSP blocks PayPal scripts, frames, images, or network calls.
https://www.paypal.com/sdk/js or frame https://www.paypal.com/.If you set your CSP in a <meta> tag in your HTML, replace your current CSP meta tag with this example so your page can load PayPal resources:
<meta http-equiv="Content-Security-Policy" content="default-src 'self';
script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com;
style-src 'unsafe-inline' https://*.paypal.com;
connect-src https://*.paypal.com;
frame-src https://*.paypal.com;
img-src https://*.paypal.com https://*.paypalobjects.com">This policy allows the PayPal JavaScript SDK, frames, images, and network calls, and restricts other sources to your own origin.
If you configure your CSP in HTTP response headers, update your headers to include PayPal as an allowed source. Use this example as a starting point and merge it into your existing CSP header:
Content-Security-Policy: default-src 'self';
script-src 'unsafe-inline' https://*.paypal.com https://*.paypalobjects.com;
style-src 'unsafe-inline' https://*.paypal.com;
connect-src https://*.paypal.com;
frame-src https://*.paypal.com;
img-src https://*.paypal.com https://*.paypalobjects.com;After you update your CSP:
Conflicting IDs, currencies, or scripts can prevent buttons from rendering.
<script src="https://www.paypal.com/sdk/js?client-id=XYZ&components=hosted-buttons&enable-funding=venmo¤cy=USD"></script>Review the following solutions if customers encounter unexpected behavior during the checkout process.
To remove the Continue Shopping link, remove the Homepage URL from your Payment Link settings.
When a customer selects the credit or debit card option, the billing address country defaults to US regardless of the customer's actual location. This happens because the billing address is determined by the buyer's browser locale settings.
The fix depends on the product you are using:
| Product | Fix | Notes |
|---|---|---|
| Payment Links | Append locale.x and country.x query parameters to the payment link URL: https://www.paypal.com/ncp/payment/YOUR_LINK_ID?locale.x=en_CA&country.x=CA | This fix applies to all buyers regardless of locale or country settings. A US buyer accessing this link is also treated as a CA buyer. |
| Buy Buttons | Not currently supported | — |
| Shopping Cart Buttons | Not currently supported | — |
The LANG cookie set during a buyer's previous PayPal.com visit takes priority over their browser locale preference, which can cause the checkout page to display in an unexpected language.
The fix depends on the product you are using:
| Product | Fix | Notes |
|---|---|---|
| Payment Links | Append locale.x and country.x query parameters to the payment link URL: https://www.paypal.com/ncp/payment/YOUR_LINK_ID?locale.x=en_CA&country.x=CA | This fix applies to all buyers regardless of locale or country settings. A US buyer accessing this link is also treated as a CA buyer. |
| Buy Buttons | Not currently supported | — |
| Shopping Cart Buttons | Not currently supported | — |