New Chargeflow docs. Everything for merchants, platforms, and the API in one place.
Log in
Legacy (2024-03-18)Merchants API

Disputes

Disputes management endpoints

GET
/public/2024-03-18/disputes
x-api-key<token>

Your Chargeflow API key, sent on every request. Generate one in the Chargeflow App, or see API keys.

In: header

Query Parameters

limitnumberOptional

Maximum number of disputes to return in a single response

Range1 <= value <= 100
Default15
offsetnumberOptional

Number of disputes to skip for pagination

Range0 <= value
Default0
dateCreatedFromstringOptional

Filter disputes created after this date (ISO 8601 format)

dateCreatedTostringOptional

Filter disputes created before this date (ISO 8601 format)

amountFromnumberOptional

Filter disputes with amount greater than or equal to this value

Range0 <= value
Default0
amountTonumberOptional

Filter disputes with amount less than or equal to this value

Range0 <= value
Default1000
statusNamesstringOptional

Filter disputes by status (comma-separated values)

Value in

  • "won"
  • "lost"
  • "refunded"
  • "under_review"
  • "warning_under_review"
  • "needs_response"
  • "warning_needs_response"
  • "warning_awaiting_response"
  • "awaiting_response"
  • "warning_won"
reasonstringOptional

Filter disputes by reason (comma-separated values)

Value in

  • "bank_cannot_process"
  • "check_returned"
  • "credit_not_processed"
  • "customer_initiated"
  • "debit_not_authorized"
  • "duplicate"
  • "general"
  • "incorrect_account_details"
  • "insufficient_funds"
  • "product_not_received"
processorNamesstringOptional

Filter disputes by payment processor (comma-separated values)

Value in

  • "stripe"
  • "shopify"
  • "klarna"
  • "afterpay"
  • "paypal"
  • "adyen"

Response Body

application/json

curl -X GET "https://example.com/public/2024-03-18/disputes?limit=10&offset=0"
{  "totalCount": 100,  "hasMore": true,  "data": [    {      "chargeflowDisputeId": "66e6ea9ecd94925a9f8060d9",      "dispute": {        "processorId": "PP-D-4012",        "processor": "paypal",        "amount": {          "value": 100,          "currency": "USD"        },        "status": "won",        "reason": "fraud",        "responseDueDate": "2021-01-01T00:00:00Z"      },      "transaction": {        "id": "123e4567-e89b-12d3-a456-426614174000",        "creationDate": "2021-01-01T00:00:00Z",        "source": "stripe",        "orderId": "4141404271159",        "customerEmail": "john@example.com"      }    }  ]}
POST
/public/2024-03-18/disputes
x-api-key<token>

Your Chargeflow API key, sent on every request. Generate one in the Chargeflow App, or see API keys.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

disputeIdstringRequired

The id of the dispute in your payment processor.

Lengthlength <= 10000
creationDatestringRequired

ISO 8601 timestamp - when the charge was disputed.

Formatdate-time
due_bystringRequired

ISO 8601 timestamp - when dispute evidence needs to be disputed by.

Formatdate-time
chargestringOptional

The id of the disputed charge in your payment processor.

Lengthlength <= 10000
transactionIdstringOptional

The id of the transaction in your payment processor.

Lengthlength <= 128
transactionDatestringOptional

The date and time when the transaction was created, in ISO 8601 format

Formatdate-time
reasonstringOptional

The bank provided reason for the dispute.

Value in

  • "general"
  • "fraudulent"
  • "duplicate"
  • "subscription_canceled"
  • "product_unacceptable"
  • "product_not_received"
  • "unrecognized"
  • "credit_not_processed"
  • "incorrect_account_details"
  • "insufficient_funds"
disputeAmountnumberRequired

The amount of the disputed charge. Amounts are in cents (or other minor currency unit.)

Range0 <= value
currencystringRequired

The currency code of the disputed charge. e.g. 'USD'.

Lengthlength <= 10
processorstringRequired

The payment processor for the charge.

Lengthlength <= 128

Response Body

application/json

curl -X POST "https://example.com/public/2024-03-18/disputes" \  -H "Content-Type: application/json" \  -d '{    "disputeId": "dp_1MykdxFtDWhhyHE1BFAV3osZ",    "creationDate": "2022-01-01T00:00:00Z",    "due_by": "2022-01-01T00:00:00Z",    "disputeAmount": 100,    "currency": "USD",    "processor": "Stripe, Shopify, Braintree etc.",    "isChargeRefundable": true,    "handleByChargeflow": true  }'
{  "requestId": "string"}
POST
/public/2024-03-18/disputes/{disputeId}/evidence
x-api-key<token>

Your Chargeflow API key, sent on every request. Generate one in the Chargeflow App, or see API keys.

In: header

Path Parameters

disputeIdstringRequired

The Chargeflow dispute id

Match^[0-9a-fA-F]{24}$

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

Option 1: object

filefileRequired
Formatbinary
evidenceUploadCategorystringRequired

The category of the evidence upload

Value in

  • "tracking_information"
  • "customer_communication"
  • "invoice"

Option 2: object

filefileRequired
Formatbinary
evidenceUploadCategorystringRequired

The category of the evidence upload

Value in

  • "additional_evidence"
  • "additional_notes"
contentstringRequired

The content of the evidence. Only required with additional_notes and additional_evidence categories

Response Body

application/json

curl -X POST "https://example.com/public/2024-03-18/disputes/66e6ea9ecd94925a9f8060d9/evidence" \  -F file="string" \  -F evidenceUploadCategory="invoice"
{  "requestId": "string",  "evidenceId": "string"}
Was this page helpful?
llms.txt