Troubleshoot

SDKCurrentAdvancedLast updated: July 6th 2023, @ 11:39:49 am


We've made changes to this page and its layout to improve the developer experience

Let us know what you think of the updated documentation by selecting the feedback tab below.

These are some of the common issues and questions that partners have when integrating.

Integration issues

Your seller needs to grant you permission. No intent = auth until after seller onboards.

There is too much information in the body of the third-party details in the Partner Referrals. If you have more than 10 values in the body, remove some values from the body to bypass the "something went wrong" error.

When the error "NOT_AUTHORIZED" is received, this indicates that the PayPal-Auth-Assertion header is missing. The JSON web token will need to be added to reconstruct and fix this issue. Sometimes this error happens when a partner is trying to issue a refund in sandbox.

To construct a JSON web token:

While you can use either a signed or unsigned (unsecured) JSON web token, PayPal recommends using the unsigned JSON web token for simplicity because the information you pass with the JSON web token is not sensitive data.

The JSON web token consists of three parts:
  1. Header: Identifies the algorithm that generated the signature. PayPal recommends an unsigned JSON web token, so pass an algorithm of none for the header.
  2. Payload: Defines a set of claims, or statements, about an entity. In the case of the PayPal-Auth-Assertion header, the entity is typically the seller. The payload can contain iss, which identifies the third-party calling the API, and one of the following to identify the seller for whom the call is made: email or payer_id.
  3. Signature: Validates the token and consists of the encoded header, the encoded payload, a secret, and the algorithm. Because PayPal recommends an unsigned JSON web token, pass an empty string for the signature.

Note: Because a seller's email address can change, PayPal recommends using payer_id to specify a seller.

Include the following script in the call to the Orders v2 API:

1<script src="https://www.paypal.com/sdk/js?client-id=CLIENT_ID&currency=USD" data-sdk-integration-source="button-factory" data-partner-attribution-id="BN_CODE"></script>

This error can also appear with the NOT_AUTHORIZED error when mixing environments. The partner would need to adjust and check the merchant ID to ensure they are using one from the sandbox environment.

This is required for compliance. Partners cannot go live without the information in the code snippet below. This snippet of code is passed within the body of the Orders v2 API call. It allows our compliance team to see the products being purchased or sold. They will use this to detect and confirm any violations of the Acceptable Use Policy.

1"application_context": {
2 "return_url": " http://localhost:5000/",
3 "cancel_url": " http://localhost:5000/",
4 "shipping_preference": "NO_SHIPPING"
5 }, "intent": "CAPTURE", "purchase_units": [{
6 "custom_id": "Up to 127 characters can go here!",
7 "payee": {
8 "merchant_id": "ABCD12345ABCD"
9 },
10 "soft_descriptor": "1234567890123456789012",
11 "items": [{
12 "name": "A good of unspecified category.",
13 "quantity": 1,
14 "unit_amount": {
15 "currency_code": "USD",
16 "value": 3.14
17 }
18 }],
19 "amount": {
20 "currency_code": "USD",
21 "value": 3.14,
22 "breakdown": {
23 "item_total": {
24 "currency_code": "USD",
25 "value": 3.14
26 }
27 }
28 }
29 }]
30 }
If primary_email_confirmed is false then display:

"Attention: Please confirm your email address on https://www.paypal.com/businessprofile/settings in order to receive payments! You currently cannot receive payments."

If payments_receivable is false then display:

"Attention: You currently cannot receive payments due to restriction on your PayPal account."

When a seller disconnects, display this disclaimer:

"Disconnecting your PayPal account will prevent you from offering PayPal services and products on your website. Do you wish to continue?"

Live account issues

IP whitelisting

Partner will whitelist the following PayPal's webhook server IP addresses:

1§ 173.0.80.0/20 § 64.4.240.0/21 § 64.4.248.0/22 § 66.211.168.0/22 § 91.243.72.0/23

Seller should ensure that they have verified their PayPal account.

Email your Technical Account Manager (TAM) if you have this error or open a ticket with MTS. Include the IP address or IP ranges to be whitelisted in the email.

For additional questions

Reach out to your PayPal representative if you have additional questions. Your PayPal representative will support you from testing to 30 days after you go live.

After 30 days of going live, you’ll need to contact the merchant technical support team if you have any issues. If you’re not working with a PayPal representative on the integration, you’ll need to fill out this form to be an approved partner. A PayPal representative will contact you shortly.

Log a Merchant Technical Support (MTS) ticket if you have additional questions.

To submit a ticket to MTS, go to https://www.paypal-support.com/ and click on Log in.

If you have not created an account after the date of October 23rd, 2018, see Creating a merchant technical support account.

PayPal has a new Technical Support System. We require you to create a new account to be able to submit support requests or queries. Any account created for the prior system is not ported to the new system, so a new account must be created to log support requests. Go to PayPal Support to create your account.

For organizations that permit group ownership of a login and password, we suggest that you maintain one shared login to the system if permitted by your organization. If not, create an account for each person. The email address should be externally available so you can connect it to a distribution list. The phone number entered could be your on-call phone number or first point of contact number.

If you have an account, fill in the form with these steps:

  1. Select Log in at the top right corner of the page.
  2. There are two options: Login with PayPal or Merchant Technical Support Login. Use the Merchant Technical Support option. During account creation, if you are permitted by your organization, you can share the login with multiple people in your organization to log support requests.
  3. Once you log in you will see the following:
    • Select Contact Us to log a ticket.
    • 2 completed sales. Include all the API calls, order IDs, and debug IDs for your flow.
    • 1 refund. This is mandatory if you're using delayed disbursement.
    • 1 completed sale using a billing agreement ID. This is mandatory if you're using billing agreements.

Complete the fields as follows:

  • Product selector: Select PayPal.
  • Email address: Use the primary email address associated with the PayPal account.

Important: To ensure a priority level of support you must include the primary email address associated with your seller account in the form when creating the issue. Entering an incorrect email will affect how our system prioritizes the ticket. If you have more than one account impacted, please use the email address of the most significant account to ensure highest prioritization.

  • Subject & Description: The issue subject & description. Enter the details of the issue or request. Provide as much information as possible, including the research you have conducted to mitigate the issue.
  • Percentage of transactions impacted: Select an accurate % of transactions impacted. If you have used the primary email for the account in the email address field, the percentage of transactions impacted will not lower the priority of the issue.
  • Urgency of the request: Select an accurate level of urgency. If you have used the primary email for the account in the email address field, the urgency of the request will not lower the priority of the issue.
  • Product you are contacting us about: Select from the drop-down menu. Note that Express Checkout is the same as PayPal checkout.
  • Environment: Select Production (live) or Sandbox.
  • Shopping Cart: Indicate whether your integration is through a shopping cart or not.
  • Case Collaborators: Enter your Enterprise Account Manager and Technical Account Manager's email addresses, separated by a semi-colon, to notify them about the issue.
  • Technical Support Identifiers: You can provide log data here or in the description field. Do not send any API password information.
  • Upload Attachments: Attachments such as screenshots or source code can be added here.

PayPal has a new Technical Support System. We require you to create a new account to be able to submit support requests or queries. Any account created for the prior system is not ported to the new system, so a new account must be created to log support requests. Go to PayPal Support to create your account.

For organizations that permit group ownership of a login and password, we suggest that you maintain one shared login to the system if permitted by your organization. If not, create an account for each person. The email address should be externally available so you can connect it to a distribution list. The phone number entered could be your on-call phone number or first point of contact number.