
mcp/razorpayRazorpay's Official MCP Server.
What is an MCP Server?
| Attribute | Details |
|---|---|
| Docker Image | mcp/razorpay |
| Author | razorpay |
| Repository | [***] |
| Attribute | Details |
|---|---|
| Dockerfile | [***] |
| Commit | 33774a6c5645c16e411b2b60486be4cfead173af |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | !Docker Scout Health Score |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/razorpay --key [***] |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
capture_payment | Use this tool to capture a previously authorized payment. |
close_qr_code | Close a QR Code that's no longer needed |
create_instant_settlement | Create an instant settlement to get funds transferred to your bank account |
create_order | Create a new order in Razorpay. |
create_payment_link | Create a new standard payment link in Razorpay with a specified amount |
create_qr_code | Create a new QR code in Razorpay that can be used to accept UPI payments |
create_refund | Use this tool to create a normal refund for a payment. |
detect_stack | Detect the technology stack of a project based on file information. |
fetch_all_instant_settlements | Fetch all instant settlements with optional filtering, pagination, and payout details |
fetch_all_orders | Fetch all orders with optional filtering and pagination |
fetch_all_payment_links | Fetch all payment links with optional filtering by payment ID or reference ID.You can specify the upi_link parameter to filter by link type. |
fetch_all_payments | Fetch all payments with optional filtering and pagination |
fetch_all_payouts | Fetch all payouts for a bank account number |
fetch_all_qr_codes | Fetch all QR codes with optional filtering and pagination |
fetch_all_refunds | Use this tool to retrieve details of all refunds. |
fetch_all_settlements | Fetch all settlements with optional filtering and pagination |
fetch_instant_settlement_with_id | Fetch details of a specific instant settlement using its ID |
fetch_multiple_refunds_for_payment | Use this tool to retrieve multiple refunds for a payment. |
fetch_order | Fetch an order's details using its ID |
fetch_order_payments | Fetch all payments made for a specific order in Razorpay |
fetch_payment | Use this tool to retrieve the details of a specific payment using its id. |
fetch_payment_card_details | Use this tool to retrieve the details of the card used to make a payment. |
fetch_payment_link | Fetch payment link details using it's ID. |
fetch_payments_for_qr_code | Fetch all payments made on a QR code |
fetch_payout_with_id | Fetch a payout's details using its ID |
fetch_qr_code | Fetch a QR code's details using it's ID |
fetch_qr_codes_by_customer_id | Fetch all QR codes for a specific customer |
fetch_qr_codes_by_payment_id | Fetch all QR codes for a specific payment |
fetch_refund | Use this tool to retrieve the details of a specific refund using its id. |
fetch_settlement_recon_details | Fetch settlement reconciliation report for a specific time period |
fetch_settlement_with_id | Fetch details of a specific settlement using its ID |
fetch_specific_refund_for_payment | Use this tool to retrieve details of a specific refund made for a payment. |
fetch_tokens | Get all saved payment methods (cards, UPI) for a contact number. |
initiate_payment | Initiate a payment using the S2S JSON v1 flow. |
integrate_razorpay_checkout | Complete Razorpay Standard Checkout integration. |
payment_link_notify | Send or resend notification for a payment link via SMS or email. |
payment_link_upi_create | Create a new UPI payment link in Razorpay with a specified amount and additional options. |
resend_otp | Resend OTP to the customer's registered mobile number if the previous OTP was not received or has expired. |
revoke_token | Revoke a saved payment method (token) for a customer. |
submit_otp | Verify and submit the OTP received by the customer to complete the payment authentication process. |
update_order | Use this tool to update the notes for a specific order. |
update_payment | Use this tool to update the notes field of a payment. |
update_payment_link | Update any existing standard or UPI payment link with new details such as reference ID, expiry date, or notes. |
update_refund | Use this tool to update the notes for a specific refund. |
capture_paymentUse this tool to capture a previously authorized payment. Only payments with 'authorized' status can be captured
| Parameters | Type | Description |
|---|---|---|
amount | number | The amount to be captured (in paisa). Should be equal to the authorized amount |
currency | string | ISO code of the currency in which the payment was made (e.g., INR) |
payment_id | string | Unique identifier of the payment to be captured. Should start with 'pay_' |
This tool may perform destructive updates.
close_qr_codeClose a QR Code that's no longer needed
| Parameters | Type | Description |
|---|---|---|
qr_code_id | string | Unique identifier of the QR Code to be closedThe QR code id should start with 'qr_' |
This tool may perform destructive updates.
create_instant_settlementCreate an instant settlement to get funds transferred to your bank account
| Parameters | Type | Description |
|---|---|---|
amount | number | The amount you want to get settled instantly in amount in the smallest currency sub-unit (e.g., for ₹295, use 29500) |
description | string optional | Custom note for the instant settlement. |
notes | object optional | Key-value pairs for additional information. Max 15 pairs, 256 chars each |
settle_full_balance | boolean optional | If true, Razorpay will settle the maximum amount possible and ignore amount parameter |
This tool may perform destructive updates.
create_orderCreate a new order in Razorpay. Supports both regular orders and mandate orders.
For REGULAR ORDERS: Provide amount, currency, and optional receipt/notes.
For MANDATE ORDERS (recurring payments): You MUST provide ALL of these fields: amount, currency, method='upi', customer_id (starts with 'cust_'), and token object.
The token object is required for mandate orders and must contain: max_amount (positive number), frequency (as_presented/monthly/one_time/yearly/weekly/daily), type='single_block_multiple_debit', and optionally expire_at (defaults to today+60days).
IMPORTANT: When token.type is 'single_block_multiple_debit', the method MUST be 'upi'.
Example mandate order payload: {"amount": 100, "currency": "INR", "method": "upi", "customer_id": "cust_abc123", "token": {"max_amount": 100, "frequency": "as_presented", "type": "single_block_multiple_debit"}, "receipt": "Receipt No. 1", "notes": {"key": "value"}}
| Parameters | Type | Description |
|---|---|---|
amount | number | Payment amount in the smallest currency sub-unit (e.g., for ₹295, use 29500) |
currency | string | ISO code for the currency (e.g., INR, USD, SGD) |
customer_id | string optional | Customer ID for mandate orders. REQUIRED for mandate orders. Must start with 'cust_' followed by alphanumeric characters. Example: 'cust_xxx'. This identifies the customer for recurring payments. |
first_payment_min_amount | number optional | Minimum amount for first partial payment (only if partial_payment is true) |
method | string optional | Payment method for mandate orders. REQUIRED for mandate orders. Must be 'upi' when using token.type='single_block_multiple_debit'. This field is used only for mandate/recurring payment orders. |
notes | object optional | Key-value pairs for additional information (max 15 pairs, 256 chars each) |
partial_payment | boolean optional | Whether the customer can make partial payments |
receipt | string optional | Receipt number for internal reference (max 40 chars, must be unique) |
token | object optional | Token object for mandate orders. REQUIRED for mandate orders. Must contain: max_amount (positive number, maximum debit amount), frequency (as_presented/monthly/one_time/yearly/weekly/daily), type='single_block_multiple_debit' (only supported type), and optionally expire_at (Unix timestamp, defaults to today+60days). Example: {"max_amount": 100, "frequency": "as_presented", "type": "single_block_multiple_debit"} |
transfers | array optional | Array of transfer objects for distributing payment amounts among multiple linked accounts. Each transfer object should contain: account (linked account ID), amount (in currency subunits), currency (ISO code), and optional fields like notes, linked_account_notes, on_hold, on_hold_until |
This tool may perform destructive updates.
create_payment_linkCreate a new standard payment link in Razorpay with a specified amount
| Parameters | Type | Description |
|---|---|---|
amount | number | Amount to be paid using the link in smallest currency unit(e.g., ₹300, use 30000) |
currency | string | Three-letter ISO code for the currency (e.g., INR) |
accept_partial | boolean optional | Indicates whether customers can make partial payments using the Payment Link. Default: false |
callback_method | string optional | HTTP method for callback redirection. Must be 'get' if callback_url is set. |
callback_url | string optional | If specified, adds a redirect URL to the Payment Link. Customer will be redirected here after payment. |
customer_contact | string optional | Contact number of the customer. |
customer_email | string optional | Email address of the customer. |
customer_name | string optional | Name of the customer. |
description | string optional | A brief description of the Payment Link explaining the intent of the payment. |
expire_by | number optional | Timestamp, in Unix, when the Payment Link will expire. By default, a Payment Link will be valid for six months. |
first_min_partial_amount | number optional | Minimum amount that must be paid by the customer as the first partial payment. Default value is 100. |
notes | object optional | Key-value pairs that can be used to store additional information. Maximum 15 pairs, each value limited to 256 characters. |
notify_email | boolean optional | Send email notifications for the Payment Link. |
notify_sms | boolean optional | Send SMS notifications for the Payment Link. |
reference_id | string optional | Reference number tagged to a Payment Link. Must be unique for each Payment Link. Max 40 characters. |
reminder_enable | boolean optional | Enable payment reminders for the Payment Link. |
This tool may perform destructive updates.
create_qr_codeCreate a new QR code in Razorpay that can be used to accept UPI payments
| Parameters | Type | Description |
|---|---|---|
type | string | The type of the QR Code. Currently only supports 'upi_qr' |
usage | string | Whether QR should accept single or multiple payments. Possible values: 'single_use', 'multiple_use' |
close_by | number optional | Unix timestamp at which QR Code should be automatically closed (min 2 mins after current time) |
customer_id | string optional | The unique identifier of the customer to link with the QR Code |
description | string optional | A brief description about the QR Code |
fixed_amount | boolean optional | Whether QR should accept only specific amount (true) or any amount (false) |
name | string optional | Label to identify the QR Code (e.g., 'Store Front Display') |
notes | object optional | Key-value pairs for additional information (max 15 pairs, 256 chars each) |
payment_amount | number optional | The specific amount allowed for transaction in smallest currency unit |
This tool may perform destructive updates.
create_refundUse this tool to create a normal refund for a payment. Amount should be in the smallest currency unit (e.g., for ₹295, use 29500)
| Parameters | Type | Description |
|---|---|---|
amount | number | Payment amount in the smallest currency unit (e.g., for ₹295, use 29500) |
payment_id | string | Unique identifier of the payment which needs to be refunded. ID should have a pay_ prefix. |
notes | object optional | Key-value pairs used to store additional information. A maximum of 15 key-value pairs can be included. |
receipt | string optional | A unique identifier provided by you for your internal reference. |
speed | string optional | The speed at which the refund is to be processed. Default is 'normal'. For instant refunds, speed is set as 'optimum'. |
This tool may perform destructive updates.
detect_stackDetect the technology stack of a project based on file information. Returns language, framework, frontend framework, and package manager. IMPORTANT: Always call this tool FIRST before calling integrate_razorpay_checkout. Before calling this tool, you MUST: 1) List the project's files and pass them in the 'files' parameter, 2) Read the relevant dependency file (package.json for Node.js, requirements.txt for Python, go.mod for Go, pubspec.yaml for Flutter, Cargo.toml for Rust, pom.xml for Java, etc.) and pass its contents in the corresponding parameter. Then pass the detected language, framework, and frontend to integrate_razorpay_checkout.
| Parameters | Type | Description |
|---|---|---|
files | array | List of file paths in the project |
cargoToml | string optional | Contents of Cargo.toml if it exists (Rust) |
composerJson | string optional | Contents of composer.json if it exists (PHP) |
csproj | string optional | Contents of .csproj if it exists (.NET) |
gemfile | string optional | Contents of Gemfile if it exists (Ruby) |
goMod | string optional | Contents of go.mod if it exists (Go) |
packageJson | object optional | Contents of package.json if it exists (Node.js) |
pomXml | string optional | Contents of pom.xml if it exists (Java/Maven) |
pubspecYaml | string optional | Contents of pubspec.yaml if it exists (Flutter) |
requirementsTxt | string optional | Contents of requirements.txt if it exists (Python) |
This tool is read-only. It does not modify its environment.
fetch_all_instant_settlementsFetch all instant settlements with optional filtering, pagination, and payout details
| Parameters | Type | Description |
|---|---|---|
count | number optional | Number of instant settlement records to fetch (default: 10, max: 100) |
expand | array optional | Pass this if you want to fetch payout details as part of the response for all instant settlements. Supported values: ondemand_payouts |
from | number optional | Unix timestamp (in seconds) from when instant settlements are to be fetched |
skip | number optional | Number of instant settlement records to skip (default: 0) |
to | number optional | Unix timestamp (in seconds) up till when instant settlements are to be fetched |
This tool is read-only. It does not modify its environment.
fetch_all_ordersFetch all orders with optional filtering and pagination
| Parameters | Type | Description |
|---|---|---|
authorized | number optional | Filter orders based on payment authorization status. Values: 0 (orders with unauthorized payments), 1 (orders with authorized payments) |
count | number optional | Number of orders to be fetched (default: 10, max: 100) |
expand | array optional | Used to retrieve additional information. Supported values: payments, payments.card, transfers, virtual_account |
from | number optional | Timestamp (in Unix format) from when the orders should be fetched |
receipt | string optional | Filter orders that contain the provided value for receipt |
skip | number optional | Number of orders to be skipped (default: 0) |
to | number optional | Timestamp (in Unix format) up till when orders are to be fetched |
This tool is read-only. It does not modify its environment.
fetch_all_payment_linksFetch all payment links with optional filtering by payment ID or reference ID.You can specify the upi_link parameter to filter by link type.
| Parameters | Type | Description |
|---|---|---|
payment_id | string optional | Optional: Filter by payment ID associated with payment links |
reference_id | string optional | Optional: Filter by reference ID used when creating payment links |
upi_link | number optional | Optional: Filter only upi links. Value should be 1 if you want only upi links, 0 for only standard linksIf not provided, all types of links will be returned |
This tool is read-only. It does not modify its environment.
fetch_all_paymentsFetch all payments with optional filtering and pagination
| Parameters | Type | Description |
|---|---|---|
count | number optional | Number of payments to fetch (default: 10, max: 100) |
from | number optional | Unix timestamp (in seconds) from when payments are to be fetched |
skip | number optional | Number of payments to skip (default: 0) |
to | number optional | Unix timestamp (in seconds) up till when payments are to be fetched |
This tool is read-only. It does not modify its environment.
fetch_all_payoutsFetch all payouts for a bank account number
| Parameters | Type | Description |
|---|---|---|
account_number | string | The account from which the payouts were done.For example, 7878780080316316 |
count | number optional | Number of payouts to be fetched. Default value is 10.Maximum value is 100. This can be used for pagination,in combination with the skip parameter |
skip | number optional | Numbers of payouts to be skipped. Default value is 0.This can be used for pagination, in combination with count |
This tool is read-only. It does not modify its environment.
fetch_all_qr_codesFetch all QR codes with optional filtering and pagination
| Parameters | Type | Description |
|---|---|---|
count | number optional | Number of QR Codes to be retrieved (default: 10, max: 100) |
from | number optional | Unix timestamp, in seconds, from when QR Codes are to be retrieved |
skip | number optional | Number of QR Codes to be skipped (default: 0) |
to | number optional | Unix timestamp, in seconds, till when QR Codes are to be retrieved |
This tool is read-only. It does not modify its environment.
fetch_all_refundsUse this tool to retrieve details of all refunds. By default, only the last 10 refunds are returned.
| Parameters | Type | Description |
|---|---|---|
count | number optional | The number of refunds to fetch. You can fetch a maximum of 100 refunds |
from | number optional | Unix timestamp at which the refunds were created |
skip | number optional | The number of refunds to be skipped |
to | number optional | Unix timestamp till which the refunds were created |
This tool is read-only. It does not modify its environment.
fetch_all_settlementsFetch all settlements with optional filtering and pagination
| Parameters | Type | Description |
|---|---|---|
count | number optional | Number of settlement records to fetch (default: 10, max: 100) |
from | number optional | Unix timestamp (in seconds) from when settlements are to be fetched |
skip | number optional | Number of settlement records to skip (default: 0) |
to | number optional | Unix timestamp (in seconds) up till when settlements are to be fetched |
This tool is read-only. It does not modify its environment.
fetch_instant_settlement_with_idFetch details of a specific instant settlement using its ID
| Parameters | Type | Description |
|---|---|---|
settlement_id | string | The ID of the instant settlement to fetch. ID starts with 'setlod_' |
This tool is read-only. It does not modify its environment.
fetch_multiple_refunds_for_paymentUse this tool to retrieve multiple refunds for a payment. By default, only the last 10 refunds are returned.
| Parameters | Type | Description |
|---|---|---|
payment_id | string | Unique identifier of the payment for which refunds are to be retrieved. ID should have a pay_ prefix. |
count | number optional | The number of refunds to fetch for the payment. |
from | number optional | Unix timestamp at which the refunds were created. |
skip | number optional | The number of refunds to be skipped for the payment. |
to | number optional | Unix timestamp till which the refunds were created. |
This tool is read-only. It does not modify its environment.
fetch_orderFetch an order's details using its ID
| Parameters | Type | Description |
|---|---|---|
order_id | string | Unique identifier of the order to be retrieved |
This tool is read-only. It does not modify its environment.
fetch_order_paymentsFetch all payments made for a specific order in Razorpay
| Parameters | Type | Description |
|---|---|---|
order_id | string | Unique identifier of the order for which payments should be retrieved. Order id should start with order_ |
This tool is read-only. It does not modify its environment.
fetch_paymentUse this tool to retrieve the details of a specific payment using its id. Amount returned is in paisa
| Parameters | Type | Description |
|---|---|---|
payment_id | string | payment_id is unique identifier of the payment to be retrieved. |
This tool is read-only. It does not modify its environment.
fetch_payment_card_detailsUse this tool to retrieve the details of the card used to make a payment. Only works for payments made using a card.
| Parameters | Type | Description |
|---|---|---|
payment_id | string | Unique identifier of the payment for which you want to retrieve card details. Must start with 'pay_' |
This tool is read-only. It does not modify its environment.
fetch_payment_linkFetch payment link details using it's ID. Response contains the basic details like amount, status etc. The link could be of any type(standard or UPI)
| Parameters | Type | Description |
|---|---|---|
payment_link_id | string | ID of the payment link to be fetched(ID should have a plink_ prefix). |
This tool is read-only. It does not modify its environment.
fetch_payments_for_qr_codeFetch all payments made on a QR code
| Parameters | Type | Description |
|---|---|---|
qr_code_id | string | The unique identifier of the QR Code to fetch payments forThe QR code id should start with 'qr_' |
count | number optional | Number of payments to be fetched (default: 10, max: 100) |
from | number optional | Unix timestamp, in seconds, from when payments are to be retrieved |
skip | number optional | Number of records to be skipped while fetching the payments |
to | number optional | Unix timestamp, in seconds, till when payments are to be fetched |
This tool is read-only. It does not modify its environment.
fetch_payout_with_idFetch a payout's details using its ID
| Parameters | Type | Description |
|---|---|---|
payout_id | string | The unique identifier of the payout. For example, 'pout_00000000000001' |
This tool is read-only. It does not modify its environment.
fetch_qr_codeFetch a QR code's details using it's ID
| Parameters | Type | Description |
|---|---|---|
qr_code_id | string | Unique identifier of the QR Code to be retrievedThe QR code id should start with 'qr_' |
This tool is read-only. It does not modify its environment.
fetch_qr_codes_by_customer_idFetch all QR codes for a specific customer
| Parameters | Type | Description |
|---|---|---|
customer_id | string | The unique identifier of the customer |
This tool is read-only. It does not modify its environment.
fetch_qr_codes_by_payment_idFetch all QR codes for a specific payment
| Parameters | Type | Description |
|---|---|---|
payment_id | string | The unique identifier of the paymentThe payment id always should start with 'pay_' |
This tool is read-only. It does not modify its environment.
fetch_refundUse this tool to retrieve the details of a specific refund using its id.
| Parameters | Type | Description |
|---|---|---|
refund_id | string | Unique identifier of the refund which is to be retrieved. ID should have a rfnd_ prefix. |
This tool is read-only. It does not modify its environment.
fetch_settlement_recon_detailsFetch settlement reconciliation report for a specific time period
| Parameters | Type | Description |
|---|---|---|
month | number | Month for which the settlement report is requested (MM format) |
year | number | Year for which the settlement report is requested (YYYY format) |
count | number optional | Optional: Number of records to fetch (default: 10, max: 100) |
day | number optional | Optional: Day for which the settlement report is requested (DD format) |
skip | number optional | Optional: Number of records to skip for pagination |
This tool is read-only. It does not modify its environment.
fetch_settlement_with_idFetch details of a specific
[...]
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务