paymentservice/documentation/cashfree/07_settlements_and_reconciliation.md
vickytechkey befd83ad53
All checks were successful
Deploy Beta (NATIVE) / deploy (push) Successful in 41s
docs: add Cashfree payment gateway documentation and integration guides
2026-10-18 21:11:24 +05:30

2.4 KiB

Cashfree Payments - Settlements & Reconciliation

1. Settlement Overview

Settlement is the process where captured customer payments are transferred from Cashfree to your registered business bank account after deducting MDR (Merchant Discount Rate) fees and GST.

Standard Settlement Cycle

  • Standard (T+1 or T+2 Days): Funds captured on Day T are credited to the merchant bank account on the next 1-2 banking business days.
  • Instant / On-Demand Settlements: Allows merchants to trigger immediate settlement transfers 24x7 without waiting for standard banking cutoff windows.

2. Settlement Calculations & Breakdown

For every transaction, the settlement formula is:

\text{Settlement Amount} = \text{Order Amount} - (\text{Payment Gateway Fee} + \text{GST on Fee}) \pm \text{Adjustments}

Sample Breakdown

  • Order Amount: ₹1,000.00
  • MDR (PG Fee @ 1.9%): ₹19.00
  • GST on MDR (18%): ₹3.42
  • Net Credited: ₹977.58

3. Settlement APIs

1. Get Settlements by Order ID

Check if and when a specific order was settled.

GET /orders/{order_id}/settlements

Response (200 OK)

{
  "cf_order_id": "291847101",
  "order_id": "tradhox_ord_987654",
  "settlement_currency": "INR",
  "settlement_amount": 977.58,
  "service_charge": 19.00,
  "service_tax": 3.42,
  "settlement_id": "8291048",
  "transfer_utr": "HDFCN26101892837",
  "transfer_time": "2026-10-19T06:30:00Z",
  "settlement_status": "SUCCESS"
}

2. Get All Settlements

Fetch consolidated batch settlements across a date range.

GET /settlements?start_date=2026-10-01&end_date=2026-10-18&limit=50

Response Fields

  • cf_settlement_id: Unique identifier for the settlement batch.
  • settlement_amount: Total amount credited to merchant.
  • transfer_utr: Bank UTR (Unique Transaction Reference) for reconciliation against bank statements.
  • settlement_status: SUCCESS, PENDING, FAILED.

4. Settlement Webhooks

Configure SETTLEMENT_SUCCESS_WEBHOOK to receive real-time notification when bank transfer completes.

{
  "data": {
    "settlement_id": "8291048",
    "settlement_amount": 145892.40,
    "settlement_currency": "INR",
    "transfer_utr": "HDFCN26101994827",
    "transfer_time": "2026-10-19T06:30:00Z",
    "settlement_status": "SUCCESS"
  },
  "event_time": "2026-10-19T06:30:05Z",
  "type": "SETTLEMENT_SUCCESS_WEBHOOK"
}