SPICEPAY DEVELOPER DOCS
Disputes
A dispute records a customer's challenge to a payment.
How it works
A dispute records a customer's challenge to a payment. Track its stage, current status and challenge_required_by deadline independently from the payment's status.
Implementation
Retrieve the case, decide whether to accept or challenge it, and prepare the evidence that the processor permits. File IDs and structured text fields can describe delivery, customer communication, service access, cancellation policies and recurring consent. Submit before the deadline and monitor dispute events for the result. PayPal cases have a separate case workflow and may require processor-specific actions.
Dispute states
| Stage | Meaning |
|---|---|
pre_dispute |
Inquiry before a chargeback. |
dispute |
Formal chargeback. |
pre_arbitration |
Second round after the first decision. |
arbitration |
The card network decides. |
dispute_reversal |
Outcome reversed. |
Challenge with evidence
| Kind | Fields |
|---|---|
File (file_id) |
receipt, customer_communication, customer_signature, shipping_documentation, service_documentation, cancellation_policy, refund_policy, invoice_showing_distinct_transactions, recurring_transaction_agreement, uncategorized_file |
| Text | product_description, customer_email_address, customer_name, customer_purchase_ip, billing_address, shipping_address, shipping_carrier, shipping_date, shipping_tracking_number, service_date, access_activity_log, cancellation_policy_disclosure, cancellation_rebuttal, refund_policy_disclosure, refund_refusal_explanation, duplicate_charge_id, duplicate_charge_explanation, uncategorized_text |
Challenge with evidence
| Task | Request |
|---|---|
| Attach a file | PUT /disputes/evidence (multipart file, dispute_id, evidence_type) |
| List attached | GET /disputes/evidence/{dispute_id} |
| Remove one | DELETE /disputes/evidence with {"dispute_id": "dp_xxxxx", "evidence_type": "receipt"} |
HTTP example
dispute_opened -[evidence submitted]-> dispute_challenged -> dispute_won {success}
dispute_challenged -> dispute_lost {danger}
dispute_opened -[you accept]-> dispute_accepted
dispute_opened -[deadline passes]-> dispute_expired
dispute_opened -[withdrawn]-> dispute_cancelledRelated guides
Request examples
curl https://api.spicepay.net/disputes/dp_xxxxx \
-H 'api-key: YOUR_API_KEY'curl 'https://api.spicepay.net/disputes/list?limit=20' \
-H 'api-key: YOUR_API_KEY'curl -X POST https://api.spicepay.net/disputes/accept/dp_xxxxx \
-H 'api-key: YOUR_API_KEY' curl -X POST https://api.spicepay.net/files \
-H 'api-key: YOUR_API_KEY' \
-F purpose=dispute_evidence \
-F dispute_id=dp_xxxxx \
-F [email protected] curl -X POST https://api.spicepay.net/disputes/evidence \
-H 'api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"dispute_id": "dp_xxxxx",
"receipt": "file_xxxxx",
"customer_email_address": "[email protected]",
"shipping_tracking_number": "1Z999AA10123456784",
"uncategorized_text": "The buyer confirmed delivery by email on 2026-07-01."
}'Fragen zu deiner Integration? SpicePay kontaktieren ↗