Disputes
The disputes report retrieves a list of disputes that occurred within a defined timeframe and the status of the dispute if it changed within that timeframe.
Report properties
| Report available for | Disputes within the latest 90 days |
| Report period | Max 90 days |
| File format | CSV |
| Report level | Merchant |
Request payload
| Field | Required | Values | Description |
|---|---|---|---|
startDate | Yes | Example: "2026-01-01T00:00:00.000Z" | The report cutoff start date in ISO 8601 date-time. |
endDate | Yes | Example: "2026-01-31T23:59:59.999Z" | The report cutoff end date in ISO 8601 date-time. |
webhooksUrl | No | https://your-webhooks-notification-url.com | The URL to which the report state changes will be notified along with the download URL |
Generating a dispute report
Send an API request to POST /v1/dispute-reports with the appropriate payload parameters for the desired report.
Sample request:
POST /v1/dispute-reports HTTP/1.1
Host: api.sandbox.eu.ppro.com
Content-Type: application/json
Merchant-Id: <Your Merchant Id>
Authorization: Bearer *****
{
"startDate": "2026-04-04T00:00:00.000Z",
"endDate": "2026-04-06T23:59:59.999Z",
"webhooksUrl": "https://webhook.site/3e5ecbb7-1890-48e7-b908-92c394930932"
}Sample response:
{
"id": "report_2JQp13PZnTajblv4xGDZb",
"status": "PENDING",
"startDate": "2025-10-27T00:00:00.000Z",
"endDate": "2025-10-31T00:00:00.000Z",
"createdAt": "2026-07-23T16:15:32.271Z",
"updatedAt": "2026-07-23T16:15:32.271Z"
}Downloading the dispute report
The initial status is PENDING. After processing completes, the status changes to PROCESSED, and a downloadUrl becomes available. The downloadUrl is a pre-signed URL that provides temporary, authenticated access to securely download the generated report from storage.
NoteDownload links remain valid for 2 hours after the report is generated. Once the link expires, a
REPORT_EXPIREDwebhook is dispatched, and the report status is updated toEXPIRED.
You can retrieve the downloadUrl in one of two ways:
- From the
REPORT_PROCESSEDwebhook payload, if you’ve configured awebhooksUrl(either dynamically in the request or via a static setting). - By querying the report endpoint directly, for example:
GET /v1/dispute-report/{reportId}.
Sample request:
GET /v1/dispute-reports/report_Ro7FnjU0n9skrIu48oKwh HTTP/1.1
Host: api.sandbox.eu.ppro.com
Merchant-Id: <Your Merchant Id>
Authorization: Bearer *****Report format
| Column name | Type | Description |
|---|---|---|
REPORT_DATE | string | Timestamp when the report was generated in ISO 8601 format. |
DISPUTE_ID | string | Unique identifier for the dispute at PPRO. |
PAYMENT_CHARGE_ID | string | Identifier of the associated payment charge at PPRO. |
MERCHANT_ID | string | Identifier of the merchant linked to the dispute. |
MERCHANT_PAYMENT_REFERENCE | string | Optional reference provided by the merchant for the operation. |
PAYMENT_METHOD | string | Payment method used (e.g., PIX CARD WERO). |
RECORD_DATE | string | Timestamp when the dispute was updated in ISO 8601 format. |
PROVIDER_DISPUTE_DATE | string | Timestamp when the dispute was first raised at the provider or with PPRO if unknown. |
DISPUTE_CURRENCY | string | Currency code in ISO 4217 format. |
DISPUTE_AMOUNT | integer | Amount of the dispute. |
DISPUTE_REASON_CODE | string | The PPRO dispute reason code (e.g., PDSP_AUTH_001, PDSP_PROD_001) |
DISPUTE_PHASE | string | Dispute phase (e.g., PRE_DISPUTE, DISPUTE, PRE_ARBITRATION, ARBITRATION) |
DISPUTE_STATUS | string | Status of the dispute (e.g., OPEN, UNDER_REVIEW) |
DISPUTE_DUE_BY | string | Timestamp when a response is due by in ISO 8601 format. |
Example Report CSV
REPORT_DATE, DISPUTE_ID, PAYMENT_CHARGE_ID, MERCHANT_ID, MERCHANT_PAYMENT_REFERENCE, PAYMENT_METHOD, RECORD_DATE, PROVIDER_DISPUTE_DATE, DISPUTE_CURRENCY, DISPUTE_AMOUNT, DISPUTE_REASON_CODE, DISPUTE_PHASE, DISPUTE_STATUS, DISPUTE_DUE_BY
2025-04-04T04:42:20.892Z,dispute_sCTH5JVxsTKb9XDnBbttg,charge_KnBhDYtulJRmNvNve5UDQ,26819159-3774-4ad7-bf5f-854dee69895e,123abc,card,2026-07-14T17:08:24.094400887Z,2026-07-14T00:00:00Z,BRL,4300,PDSP_AUTH_001,DISPUTE,DISPUTE_OPEN,2026-07-21T17:08:24:00ZUpdated 2 days ago