What problem does it solve? When a customer files a dispute or chargeback with their bank, merchants must respond within a hard SLA or automatically lose the disputed amount. This Skill guides developers through receiving Cashfree dispute webhooks, tracking the respond_by deadline, and programmatically accepting or contesting disputes with evidence. ## Core Features & Use Cases - Dispute Lifecycle Management: Covers all 5 dispute types (RETRIEVAL, DISPUTE, CHARGEBACK, PRE_ARBITRATION, ARBITRATION) and 35 dispute_status values with clear state-transition handling. - Webhook Integration: Subscribe to DISPUTE_CREATED, DISPUTE_UPDATED, and DISPUTE_CLOSED events with HMAC-SHA256 signature verification and idempotent upsert by dispute_id. - Accept or Contest Workflows: Accept liability via PUT /pg/disputes/{id}/accept, or contest by uploading evidence documents (PDF/JPG/PNG, max 20 MB) as multipart/form-data matched to the bank's preferred_evidence list. - Use Case: An ops team receives a CHARGEBACK_CREATED webhook for a 500 INR order, fetches the dispute detail, sees the bank wants delivery proof, uploads the signed delivery document before the 30-day respond_by deadline, and tracks the case to CHARGEBACK_MERCHANT_WON. ## Quick Start Ask the assistant to walk you through handling a Cashfree DISPUTE_CREATED webhook for a given dispute_id, including fetching the dispute, deciding whether to accept or contest, and uploading the required evidence documents.