Cashfree Payment Gateway - Disputes & Chargebacks

Handles Cashfree payment disputes and chargebacks via webhooks, evidence uploads, and accept-or-contest workflows.

Updated Sep 8, 2026
One-click install
npx skills add https://github.com/dasara-varun/orange --skill cashfree-payment-gateway-disputes-chargebacks-dasara-varun
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Cashfree Payment Gateway - Disputes & Chargebacks
Source: https://github.com/dasara-varun/orange/tree/main/.cursor/cashfree-skills/pg/disputes
Command: npx skills add https://github.com/dasara-varun/orange --skill cashfree-payment-gateway-disputes-chargebacks-dasara-varun

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

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.

Frequently Asked Questions about Cashfree Payment Gateway - Disputes & Chargebacks

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I contest a Cashfree chargeback with evidence?▼

Contest a Cashfree chargeback by uploading evidence documents via POST /pg/disputes/{dispute_id}/documents as multipart/form-data. Upload one document per item in the dispute's preferred_evidence list, keeping each file under 20 MB in PDF, JPG, or PNG format.

How do Cashfree dispute webhooks work?▼

Cashfree sends DISPUTE_CREATED, DISPUTE_UPDATED, and DISPUTE_CLOSED webhooks signed with HMAC-SHA256 of the timestamp plus raw body using your secret key. Verify the x-webhook-signature header and upsert by dispute_id, since delivery is at-least-once.

What happens if I miss the respond_by deadline on a dispute?▼

Missing the respond_by deadline results in an automatic loss with status INSUFFICIENT_EVIDENCE, and Cashfree cannot extend the clock. Schedule a reminder 24 hours before the deadline and escalate in the final hour.

Can I refund a customer after a chargeback has been raised?▼

Refunding after CHARGEBACK_CREATED causes a double debit because the bank has already pulled the funds. Accept the chargeback instead; if you already refunded, accept it and the settlement recon will show a net-zero.

Why did my dispute evidence upload return a 400 or 409 error?▼

A 400 means the file exceeded 20 MB or used an unsupported format; use PDF, JPG, or PNG. A 409 means the dispute moved to UNDER_REVIEW or a terminal status, so evidence can only be submitted while status is CREATED or DOCS_RECEIVED.

When should I accept a dispute instead of contesting it?▼

Accept when the dispute amount is below your cost of contesting, when fraud is confirmed, or when you already refunded the customer. Contest when you have clear delivery proof or evidence of distinct transactions matching the preferred_evidence list.