API · Commerce

Disputes

When a customer disputes a charge, the dispute lifecycle is your chance to keep the funds. Submit evidence, await arbitration, win or lose.

3 endpointsdp_

Endpoints

GET/v1/disputes

List open + recently-resolved disputes.

GET/v1/disputes/{id}

Retrieve a specific dispute.

POST/v1/disputes/{id}/evidence

Submit evidence (proof of delivery, communication, refund attempts).

Submitting evidence

NameTypeDescription
product_descriptionstringWhat you sold.
customer_communicationfile_Upload a PDF/email transcript via /v1/files first; reference the file_ id here.
shipping_documentationfile_Tracking number, signed delivery confirmation.
receiptfile_Receipt or invoice the customer received.
service_documentationfile_For services: usage logs, session timestamps.
uncategorized_textstringAnything else — ≤5000 chars.

Sample

bashbash
curl -X POST https://api.merashub.com/v1/disputes/dp_01HZ.../evidence \
  -H "Authorization: Bearer sk_test_..." \
  -d '{
    "product_description": "Order #42 — 2× espresso, dine-in",
    "receipt": "file_01HZ...",
    "uncategorized_text": "Customer collected the order on 2026-05-20 at 14:32 (per CCTV)."
  }'

Tight windows

Dispute response windows are scheme-dependent — typically 7-21 days from opening. Missing the window forfeits the dispute automatically. Subscribe to dispute.created on your webhook and triage immediately.