Cashfree Payments enables businesses to manage online payment operations in India, including payment links, orders, refunds, settlements, and payouts. Retrieve transaction details, track payment statuses, review settlement records, and reconcile financial activity across supported payment methods.
Encrypted at rest, isolated from the model
Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.
Try asking
USE WHEN: The user wants to see the full details of a specific transaction including timeline, settlement, and gateway response. View the complete lifecycle of a single transaction. Returns timeline events, order details, customer details, settlement info, gateway response, and optionally EMI and OCC charge breakdowns.
USE WHEN: The user wants to find, search, filter, or list payment transactions. Search for payment transactions matching the given filters. This is the primary discovery endpoint. NEXT: Call get_transaction_details(txId=<refId>, txTime=<txTime>) to view a specific transaction's full lifecycle. DATE RANGE LIMIT: startDate and endDate must be supplied together, span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks.
Search for orders with filters OR fetch a specific order by ID
USE WHEN: The user wants to filter transactions by payment method but you need the numeric code. Also useful to show what payment methods are available. Retrieve the merchant's available payment method codes. NEXT: Use the returned code in search_transactions(paymentCode=<code>) to filter by payment method. Returns: Mapping of payment method display names to numeric codes
USE WHEN: The user asks about unsettled balance, money held by Cashfree, or pending settlements. Get the total unsettled amount held by Cashfree. NEXT: Call get_on_demand_eligible_funds() to check how much can be withdrawn immediately, or search_standard_settlements() for history.
USE WHEN: The user asks when the next settlement will happen or about settlement schedule. Get the merchant's next settlement date and holiday information.
USE WHEN: The user wants to search settlement history, check settlement status, or find a specific settlement by UTR. Search standard (scheduled) settlements with filtering and pagination. NEXT: Call get_standard_settlement_details(settlementIds=<id>) to track a specific settlement through the banking pipeline. DATE RANGE LIMIT: startDate and endDate must be supplied together, span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks.
USE WHEN: The user wants to track where settlement money is in the banking pipeline. Get real-time transfer timeline for specific settlements.
USE WHEN: The user asks if on-demand/instant settlements are available or activated. Get on-demand settlement activation status. NEXT: If activated, call get_on_demand_eligible_funds() to check available balance.
USE WHEN: The user asks about on-demand settlement withdrawal limits. Get on-demand settlement maximum daily limit. NEXT: Call get_on_demand_eligible_funds() to see the actual withdrawable amount.
USE WHEN: The user wants to know how much money can be withdrawn via on-demand settlement. Get eligible funds for on-demand settlement withdrawal. NEXT: Call get_on_demand_charges(requestedAmount, freeTrialRequest=false) to preview fees before withdrawal.
USE WHEN: The user wants to preview charges/fees for an on-demand settlement withdrawal. Calculate exact charges for a specific on-demand withdrawal amount.
USE WHEN: The user wants to search past on-demand/instant withdrawal settlements. Search on-demand (instant withdrawal) settlements. DATE RANGE LIMIT: startDate and endDate must be supplied together, span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks.
USE WHEN: The user asks about the charge rate for instant/on-demand settlements. Get instant/on-demand settlement charge rates.
USE WHEN: The user asks about free trial credits for on-demand settlements. Get merchant free trial credits for on-demand settlements.
USE WHEN: The user wants to search vendor split (Easy Split) settlement payouts. Search vendor split settlement payouts (Easy Split only). NEXT: Call get_vendor_settlement_details(settlementIds=<id>) to track vendor payouts. DATE RANGE LIMIT: startDate and endDate must be supplied together, span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks.
USE WHEN: The user wants to track where vendor settlement money is in the banking pipeline. Get real-time transfer timeline for specific vendor (Easy Split) settlements.
USE WHEN: The user wants to see previously generated reports or check if a report exists. List all previously generated reports for this merchant. NEXT: Call download_report(reportId) to get the download URL for a completed report. DATE RANGE LIMIT: startDate and endDate are required, must span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks. Unlike the generate_* tools, there is no financial-year option here.
USE WHEN: The user wants to generate a settlement reconciliation report. Generate a settlement reconciliation report asynchronously. NEXT: Call get_report_status(reportId) to poll until the report is DONE, then download_report(reportId). DATE RANGE LIMIT: startDate and endDate must be supplied together and be either a custom range of 31 days or less, or exactly one full financial year — April 1 to March 31 of any financial year that has already begun (the current one may also be requested as April 1 to today). There is no limit on how far back the range starts, but a custom range must not extend into the future. Anything else is rejected with HTTP 400 — split wider custom periods into 31-day chunks.
USE WHEN: The user wants to generate a transaction summary, settlement, refund, or ledger report. Generate a summary/download report asynchronously. NEXT: Call get_report_status(reportId) to poll until the report is DONE, then download_report(reportId). DATE RANGE LIMIT: every date pair (startDate/endDate, bbpsStartDate/bbpsEndDate, subscriptionStartDate/subscriptionEndDate) must be either a custom range of 31 days or less, or exactly one full financial year — April 1 to March 31 of any financial year that has already begun (the current one may also be requested as April 1 to today). There is no limit on how far back a range starts, but a custom range must not extend into the future. Anything else is rejected with HTTP 400 — split wider custom periods into 31-day chunks.
USE WHEN: You need to check if a report is ready for download. Poll this after generate_recon_report or generate_summary_report. Get report status and details (polling endpoint). NEXT: If status is DONE, call download_report(reportId). If REQUESTED or IN_PROGRESS, poll again.
USE WHEN: A report has reached DONE status and the user wants the download URL. Download a completed report.
USE WHEN: The user wants to generate a Flowwise Recon report and you need the gateway route names. Get settlement recon gateway routes. NEXT: Use route names in generate_recon_report(reportType='flow_wise_recon_report', pg=<route_name>). Returns: Array of gateway route objects
USE WHEN: The user asks about Cashfree product features, API usage, integration guides, or how something works. Searches Cashfree product documentation and returns matching help articles with titles, content, and links. NEXT: Use the returned content to answer the user's question directly.
USE WHEN: The user wants to create a shareable payment link to collect money from customers. Create a new payment link with an amount, purpose, and customer details. Returns the link URL. NEXT: Call fetch_payment_link_details(link_id) to verify the link was created and check its status.
USE WHEN: The user wants to check the status or details of an existing payment link. Fetch all details and status of a payment link by its link_id.
USE WHEN: The user wants to cancel/deactivate an existing payment link so no further payments can be made. Cancel a payment link. Only links in ACTIVE status can be cancelled.
USE WHEN: The user wants to see all orders created against a specific payment link. View all order details for a payment link. NEXT: Call get_order(order_id) or get_payments_for_an_order(order_id) for specific order details.
USE WHEN: The user wants to create a payment order to accept a payment. Requires amount, currency, and customer details. Create a new payment order. Returns order_id and payment_session_id needed to collect payment. NEXT: Call get_order(order_id) to verify the order was created and retrieve the payment session.
USE WHEN: The user wants to check the status of an order or retrieve its payment session details. Fetch order details using the order_id. NEXT: Call get_payments_for_an_order(order_id) to see all payment attempts against this order.
USE WHEN: The user needs extended order information including address, cart items, offers, and customer details. Fetch extended order data using the Cashfree order_id.
USE WHEN: The user wants to see all payment attempts made against a specific order. View all payment details for an order. NEXT: Call get_payment_by_id(order_id, cf_payment_id) to view details of a specific payment.
USE WHEN: The user wants to view details of a specific payment attempt on an order. Get payment details by order_id and cf_payment_id. NEXT: To refund this payment, call create_refund(order_id, body={refund_amount, refund_id}).
USE WHEN: The user wants to initiate a refund for a payment. Create a refund against an order. Requires order_id and refund details in the body. NEXT: Call get_refund(order_id, refund_id) to track the refund status.
USE WHEN: The user wants to check the status of a specific refund. Fetch a specific refund by order_id and refund_id.
USE WHEN: You are about to perform a multi-step task and need to know which tools to call and in what order. CALL THIS FIRST before starting any complex task. Returns the recommended tool chain for a user's intent. Describe the user's goal in natural language. Examples: - "search for failed transactions in the last 7 days" - "generate a settlement reconciliation report" - "create a payment order for 500 INR" - "check the status of a refund" - "verify a PAN number" NEXT: Follow the returned step-by-step tool chain to complete the task.
One endpoint, the same key, whichever client you use.
~/Library/Application Support/Claude/claude_desktop_config.json (Mac) · %APPDATA%\Claude\claude_desktop_config.json (Windows)
Replace API_KEY with your own key.
Already have an "mcpServers" section in your config? Just add the server entry inside it.
Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you
Cashfree MCP runs through a gateway that holds the credentials, scopes the access and records every call.
Managed auth, hosted MCP servers, and every Cashfree MCP tool your agent needs.
Free to start.