{ "schema_version": "v1", "name": "Razorpay", "description": "Razorpay is an RBI-authorised full-stack payment platform for businesses in India, Malaysia (via Curlec), Singapore, and the USA. Agents can create orders, payment links, and invoices; process refunds; manage payouts and vendor contacts; set up recurring subscriptions; and retrieve transaction data \u2014 all via the Razorpay API or MCP server.", "url": "https://razorpay.com", "iconUrl": "https://razorpay.com/favicon.png", "version": "1.0.0", "documentationUrl": "https://razorpay.com/docs/", "serviceUrl": "https://mcp.razorpay.com/mcp", "capabilities": { "streaming": false, "pushNotifications": true, "stateTransitionHistory": false }, "defaultInputModes": [ "text/plain", "application/json" ], "defaultOutputModes": [ "text/plain", "application/json" ], "authentication": [ { "scheme": "Basic", "description": "HTTP Basic Authentication using Razorpay API keys. Set the Authorization header to 'Basic base64(key_id:key_secret)'. Generate API keys at https://dashboard.razorpay.com/app/keys. Use keys prefixed with rzp_test_ for sandbox testing \u2014 same API URL, test keys route to sandbox.", "credentials": "key_id:key_secret (base64-encoded)" }, { "scheme": "OAuth2", "description": "OAuth 2.0 Authorization Code flow with PKCE (S256) for MCP server access at https://mcp.razorpay.com/mcp. Register a client via Dynamic Client Registration at the registration endpoint, then follow the authorization code flow. Supports grant types: authorization_code, client_credentials, refresh_token. Scope: read_only.", "authorizationUrl": "https://mcp.razorpay.com/authorize", "tokenUrl": "https://mcp.razorpay.com/token", "registrationUrl": "https://mcp.razorpay.com/register", "discoveryUrl": "https://mcp.razorpay.com/.well-known/oauth-authorization-server", "scopes": [ "read_only" ], "pkce": true, "docs": "https://razorpay.com/docs/build/llm-docs/mcp-server/oauth.md" } ], "skills": [ { "id": "create-payment", "name": "Create Payment", "description": "Create a payment order or payment link for a specified amount and currency. Supports UPI, cards, netbanking, wallets, EMI, and 180+ payment methods. Amount must be in the smallest currency unit (paise for INR). Supports 120+ currencies for international payments.", "tags": [ "payments", "orders", "payment-links", "upi", "international" ], "examples": [ "Create a payment link for \u20b9500", "Generate a payment order for 1000 INR", "Create a payment request and notify the customer via SMS and email", "Create an international payment order in USD" ], "inputModes": [ "application/json" ], "outputModes": [ "application/json" ] }, { "id": "track-payment", "name": "Track Payment", "description": "Retrieve the status and details of an existing payment, order, or payment link using its ID. Supports listing with filters such as date range and count.", "tags": [ "payments", "status", "orders" ], "examples": [ "What is the status of payment pay_ABC123?", "Check if order ord_XYZ is fully paid", "List all payments from the last 7 days", "Get details for payment link plink_123456" ], "inputModes": [ "application/json" ], "outputModes": [ "application/json" ] }, { "id": "issue-refund", "name": "Issue Refund", "description": "Initiate a full or partial refund for a completed payment. Refunds are processed to the original payment method. Supports normal and optimum (instant) refund speeds.", "tags": [ "payments", "refunds" ], "examples": [ "Refund payment pay_ABC123 fully", "Issue a partial refund of \u20b9200 for payment pay_XYZ", "Process an instant refund for my customer", "List all refunds for payment pay_ABC123" ], "inputModes": [ "application/json" ], "outputModes": [ "application/json" ] }, { "id": "create-payout", "name": "Create Payout", "description": "Send money to a vendor, employee, or customer bank account or UPI ID via RazorpayX Payouts. Supported transfer modes: IMPS, NEFT, RTGS, UPI, Amazon Pay, and card.", "tags": [ "payouts", "transfers", "razorpayx", "neft", "upi" ], "examples": [ "Pay \u20b95000 to HDFC bank account via IMPS", "Send payout to UPI ID user@upi", "Transfer salary to employee bank account via NEFT", "Cancel a queued payout pout_ABC123" ], "inputModes": [ "application/json" ], "outputModes": [ "application/json" ] }, { "id": "manage-contacts", "name": "Manage Contacts and Fund Accounts", "description": "Create and manage vendor, employee, or customer contacts in RazorpayX. Link bank accounts or UPI IDs to contacts as fund accounts for payouts.", "tags": [ "contacts", "fund-accounts", "razorpayx", "vendors", "employees" ], "examples": [ "Create a vendor contact for Acme Corp", "Link HDFC bank account to contact cont_ABC123", "Add UPI ID vendor@upi as a fund account", "Create an employee contact for payroll payout" ], "inputModes": [ "application/json" ], "outputModes": [ "application/json" ] }, { "id": "create-invoice", "name": "Create Invoice", "description": "Generate a GST-compliant invoice with line items and optionally send it to a customer via email or SMS. Supports cancellation of unpaid invoices.", "tags": [ "invoices", "billing", "GST" ], "examples": [ "Create an invoice for \u20b910,000 for Acme Corp", "Generate a GST invoice and send it to customer@email.com", "Cancel unpaid invoice inv_ABC123", "Fetch invoice inv_XYZ and check its status" ], "inputModes": [ "application/json" ], "outputModes": [ "application/json" ] }, { "id": "manage-subscriptions", "name": "Manage Subscriptions", "description": "Create subscription plans and manage recurring billing. Subscribe customers to plans with configurable billing intervals (daily, weekly, monthly, yearly). Handle cancellations and track recurring charge events.", "tags": [ "subscriptions", "recurring", "billing", "plans" ], "examples": [ "Create a monthly subscription plan for \u20b9999", "Subscribe customer to the pro plan for 12 billing cycles", "Cancel subscription sub_XYZ", "Fetch the current status of subscription sub_ABC123" ], "inputModes": [ "application/json" ], "outputModes": [ "application/json" ] }, { "id": "webhook-events", "name": "Webhook Event Reference", "description": "Razorpay sends real-time webhook events to your configured endpoint for payment, refund, payout, subscription, and invoice state changes. Webhooks are configured in the Razorpay Dashboard (Settings \u2192 Webhooks). Verify incoming events using HMAC-SHA256 of the request body with your webhook secret, compared against the X-Razorpay-Signature header.", "tags": [ "webhooks", "events", "notifications" ], "examples": [ "What events does Razorpay emit when a payment succeeds?", "How do I verify an incoming Razorpay webhook?", "What webhook event fires when a subscription charge is collected?", "Which events should I listen to for payout status updates?" ], "inputModes": [ "application/json" ], "outputModes": [ "application/json" ] } ], "provider": { "organization": "Razorpay Software Private Limited", "url": "https://razorpay.com" } }