Disputes
Payment dispute management. All endpoints require authentication.
GET /disputes
List disputes for the authenticated user.
curl "https://api.paylinks.ro/api/v1/disputes?status=OPEN&limit=20" \
-H "Authorization: Bearer YOUR_TOKEN"
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 20 | Items per page |
offset | integer | 0 | Pagination offset |
status | string | — | Filter: OPEN, UNDER_REVIEW, WON, LOST |
Response (200):
{
"data": [
{
"id": "disp-001",
"transactionId": "tx-001",
"stripeDisputeId": "dp_1234567890",
"amount": 4999,
"currency": "RON",
"status": "OPEN",
"reason": "fraudulent",
"dueBy": "2026-03-01T00:00:00.000Z",
"createdAt": "2026-02-15T10:00:00.000Z"
}
],
"total": 1
}
Dispute Statuses
| Status | Description |
|---|---|
OPEN | New dispute, evidence can be submitted |
UNDER_REVIEW | Evidence submitted, awaiting Stripe decision |
WON | Dispute resolved in seller's favor |
LOST | Dispute resolved in buyer's favor |
GET /disputes/:id
Get a single dispute by ID.
curl https://api.paylinks.ro/api/v1/disputes/disp-001 \
-H "Authorization: Bearer YOUR_TOKEN"
Response (200): Full dispute object.
POST /disputes/:id/evidence
Submit evidence for a dispute.
curl -X POST https://api.paylinks.ro/api/v1/disputes/disp-001/evidence \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"uncategorizedText": "Customer received the digital product on Feb 15. Download logs attached.",
"uncategorizedFile": "https://files.paylinks.ro/evidence/receipt.pdf"
}'
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
uncategorizedText | string | No | Text evidence |
uncategorizedFile | string | No | URL to evidence file |
Response (200):
{"message": "Evidence submitted"}