Skip to main content
You can use the PayPal Disputes API to handle and resolve disputes programmatically throughout their lifecycle. This guide shows you how to gather dispute information, respond based on lifecycle stages, and automate dispute handling using webhooks.

Prerequisites

Before you use the Disputes API, ensure you:

Understand dispute lifecycle stages

Every dispute goes through defined stages from creation to resolution. Understanding them helps you determine the required actions and responses at each stage.
The inquiry or dispute stage begins immediately when a customer files a dispute. This is a pre-claim stage designed to reduce the occurrence of chargebacks and claims. PayPal provides a platform for both parties to communicate and resolve issues directly without its intervention. This stage only applies to cases with the item/service not received (INR) and significantly not as described (SNAD) issues.The inquiry stage lasts up to 20 days unless escalated to a claim. If the dispute remains unresolved, either party can escalate it to a claim within the 20-day inquiry period. If not, PayPal considers the dispute canceled and closes the case.If you do not want to engage with buyers directly, you can opt out of the inquiry stage. In this case, all disputes are created directly in the claim stage. To opt out of the inquiry stage, contact PayPal or your PayPal account manager.For this stage, the value of dispute_life_cycle_stage parameter in Show dispute details response is INQUIRY.
The inquiry stage is only applicable for internal disputes.
PayPal is introducing an enhancement to the inquiry stage for eligible merchants. To understand this enhancement, see Accelerated Response.

Accelerated Response

Accelerated Response enhances the inquiry stage. As a merchant, you can submit supporting documentation within 10 days after the inquiry starts. During this period, either you or the buyer can escalate the inquiry to a claim. Post escalation, you may be given additional time to submit supporting documents. The time available to submit documents depends on who escalates the case and when. Once the required documentation is submitted, we will proceed to adjudicate the case.
PayPal is rolling out Accelerated Response in phases. PayPal notifies eligible merchants when this enhancement becomes available on their accounts.

Gather dispute information

You can use the Disputes API to gather information about disputes associated with your account. The following sections describe how to list all disputes and retrieve details of a specific dispute.

List disputes

Use a valid access token and make a GET call to the /v1/customer/disputes endpoint to view all the disputes associated with an account.
You can also filter the results using query parameters. For example, use the disputed_transaction_id query parameter to show disputes for a specific transaction. For information on query parameters, see API reference.
A successful call returns a 200 OK response. The response includes the following parameter:
For information on all response parameters, see the API reference

Show dispute details

Use a valid access token and make a GET call to the /v1/customer/disputes/{ID} endpoint to retrieve details of a specific dispute. Path parameter: ID is the dispute_id returned in the List disputes response.
A successful call returns a 200 OK response. The response includes the following parameters:
For information on all response parameters, see the API reference.

Respond to a dispute

After gathering dispute information, you can determine the appropriate response action using the following key parameters from the Show dispute details response:
  • Use the HATEOAS links to understand the actions available at any stage of the dispute case lifecycle.
  • Review the values of the dispute_life_cycle_stage and status parameters. Based on these values, the following table lists the possible response actions you can perform to ensure proper dispute handling:

Send message to other party

You can send a message to the other party during the inquiry stage to share information that helps resolve the dispute. Use a valid access token and make a POST call to the /v1/customer/disputes/{ID}/send-message endpoint with the request parameter. Path parameter: ID is the dispute_id returned in the List disputes response.
You can also attach documents and pictures to the message. To do this, you need to send a multipart request instead of a JSON one. For constraints and rules regarding documents, see Supported file types and sizes.
A successful call returns a 200 OK response and a HATEOAS link for the dispute.

Make offer to resolve dispute

You can make an offer to the buyer to resolve the dispute. To determine which offer types are available for a specific dispute, check the allowed_response_options.make_offer.offer_types parameter in the Show dispute details response. Use a valid access token and make a POST call to the /v1/customer/disputes/{ID}/make-offer endpoint with the request parameters. Path parameter: ID is the dispute_id returned in the List disputes response.
A successful call returns a 200 OK response and a HATEOAS link for the dispute.

Accept claim

You can accept liability for a dispute by accepting the claim. This closes the dispute in the buyer’s favor, and PayPal automatically refunds the buyer. To determine which refund types are available for a specific dispute, check the allowed_response_options.accept_claim.accept_claim_types parameter in the Show dispute details response. Use a valid access token and make a POST call to the /v1/customer/disputes/{ID}/accept-claim endpoint with the request parameters. You can also include the accept claim reason or invoice ID if required. Path parameter: ID is the dispute_id returned in the List disputes response.
A successful call returns a 200 OK response and a HATEOAS link for the dispute.

Provide evidence

You can provide evidence for a dispute to support your case. PayPal requests specific evidence based on the dispute reason. Check the following parameters in the Show dispute details response to determine what evidence to provide: Use a valid access token and make a POST call to the /v1/customer/disputes/{ID}/provide-evidence endpoint. Include the following parameters:
For more information on all request parameters, see the API reference.
Path parameter: ID is the dispute_id returned in the List disputes response.
A successful call returns a 200 OK response and a HATEOAS link for the dispute.

Escalate dispute to claim

If either party is unsatisfied with the other party’s response during the inquiry stage, they can escalate the dispute to a claim. The dispute then moves to the claim stage. Use a valid access token and make a POST call to the /v1/customer/disputes/{ID}/escalate endpoint. Path parameter: ID is the dispute_id returned in the List disputes response.
A successful call returns a 200 OK response and a HATEOAS link for the dispute.
For more information, see the API reference.

Provide supporting information

You can provide additional supporting information for a case under PayPal’s review to help with the review process. Use a valid access token and make a POST call to the /v1/customer/disputes/{ID}/provide-supporting-info endpoint with the request parameter. Path parameter: ID is the dispute_id returned in the List disputes response.
You can also provide documents and pictures by sending a multipart request instead of a JSON one. For constraints and rules regarding documents, see Supported file types and sizes.
A successful call returns a 200 OK response and a HATEOAS link for the dispute.

Appeal dispute

You can appeal a dispute that was resolved in the buyer’s favor. To determine if a dispute is eligible for appeal, check whether the HATEOAS link for appeal is present in the Show dispute details response. Use a valid access token and make a POST call to the /v1/customer/disputes/{ID}/appeal endpoint. Include the following parameters:
For information on all request parameters, see the API reference.
Path parameter: ID is the dispute_id returned in the List disputes response.
A successful call returns a 200 OK response and a HATEOAS link for the dispute.

Acknowledge returned item

For SNAD disputes with the MERCHANDISE_OR_SERVICE_NOT_AS_DESCRIBED reason, you can make an offer to resolve the dispute by offering a full refund in exchange for returning the item. After the buyer ships the returned item and reports it to PayPal, the acknowledge return item action becomes available. Use this endpoint to acknowledge receipt of the item. To determine which acknowledgements are available for a specific dispute, check the allowed_response_options.acknowledge_return_item.acknowledgement_types parameter in the Show dispute details response. Use a valid access token and make a POST call to the /v1/customer/disputes/{ID}/acknowledge-return-item endpoint. You can also include the note or acknowledgement type. Path parameter: ID is the dispute_id for which you are acknowledging receipt of the returned item.
A successful call returns a 200 OK response and a HATEOAS link for the dispute.
For more information, see API reference.

Common issues

When calling the Disputes API, you may see these common errors:
  • 400 Bad Request when required fields or formats are invalid. Fix: Validate request body and parameters against the Disputes API reference.
  • 401 Unauthorized when the access token is missing, expired, or invalid. Fix: Regenerate the access token and retry the call with the updated token.
  • 403 Forbidden when the app or account is not permitted to perform the requested action. Fix: Confirm Disputes API access, scopes, and account permissions.
For more details, see the HTTP status codes and error messages.

Use webhooks to monitor dispute events

Webhook events are external events that your app does not know about unless it receives event notifications. For example, a new dispute raised or resolved is a webhook event. You can subscribe to such events and register a callback (listener) URL. When the event occurs, PayPal sends a notification to the registered callback URL. You can code your app to perform relevant actions based on the event notification it receives. To handle webhook events:
  1. Review the list of webhook events for disputes and select the events for your app to subscribe.
  2. Subscribe to the selected webhook events through one of the following means:
    • PayPal developer account: Log in to your account, go to App details page > Features > Webhooks, and subscribe to webhook events.
    • Webhooks management API.
  3. In your server-side app code, define a webhook handler that:
See Webhook management for more information.