Skip to main content
You can retrieve Form 1099-K PDF documents for merchants who meet IRS reporting requirements. PayPal generates these reports annually and makes them available through the API by January 1 following the tax year.

1. List available tax reports

Use a valid access token and make a GET call to the /v2/taxes/reports endpoint. Include the following query parameters:
A successful call returns a 200 OK response. The response includes the following parameters:

2. Get specific report details

Use a valid access token and make a GET call to the /v2/taxes/reports/{reportId} endpoint. Path parameter: reportId is the unique identifier for the tax report, retrieved from the List available tax reports response.

3. Download tax report PDF

Use a valid access token and make a GET call to the file download URL from the files_info.files[].links array.
The PDF file contains:
  • Merchant’s legal name and address.
  • Truncated TIN showing only the last 4 digits.
  • Monthly gross payment amounts for the tax year.
  • Total annual gross payment amount.
  • Payment card and third-party network transactions breakdown.
  • PayPal’s information as the Payment Settlement Entity and filer.
The merchant copy shows only the last 4 digits of the TIN for security purposes. Forms filed with the IRS and state agencies include the full 9-digit TIN.

4. Handle webhook notifications

Configure your webhook handler to process tax reporting events and take appropriate action based on the event type. For webhook setup, see Set up webhook notifications.

TAXES.REPORTS.GENERATED

When you receive a TAXES.REPORTS.GENERATED webhook event, your webhook handler should:
  1. Extract the resource.id value from the webhook payload.
  2. Check the resource.is_corrected field to identify whether this is a regular or corrected report.
  3. Use this report ID to Get specific report details.
  4. Download the PDF file using the file download link from the response.
  5. Deliver the form to your merchant through your platform.

TAXES.REPORT_COUNT_UPDATED

When you receive a TAXES.REPORT_COUNT_UPDATED webhook event, your webhook handler should:
  1. Extract the reportCounts array from the webhook payload.
  2. Track the count_value for each counter for billing and reconciliation purposes.
  3. Use counter_name, counter_type, and product_attributes to identify the type of reports counted (electronic federal, paper state).

Tax report lifecycle and availability

  • PayPal generates reports after the tax year ends and makes them available by January 1 of the year following the tax year.
  • PayPal retains reports for 10 years from the creation date.
  • PayPal generates a new report with is_corrected: true when you process corrections. The original report remains accessible.
  • You can access reports for multiple tax years through a single API endpoint.