Razorpay's Official MCP Server.
What is an MCP Server?
| Attribute | Details |
|---|---|
| Docker Image | https://hub.docker.com/repository/docker/mcp/razorpay |
| Author | https://github.com/razorpay |
| Repository | https://github.com/razorpay/razorpay-mcp-server |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/razorpay/razorpay-mcp-server/blob/7950d51d118ca164c32b7cf0cfaa14f34f24849f/Dockerfile |
| Commit | 7950d51d118ca164c32b7cf0cfaa14f34f24849f |
| 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 https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| 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. |
create_registration_link | Create a registration link (auth link) for subscription registration in Razorpay to set up recurring payments via card, emandate, NACH, or UPI. |
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 customer. |
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. |
Tool: capture_payment
Use 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 paise. For INR: 100 paise = ₹1. 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.
Tool: close_qr_code
Close 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.
Tool: create_instant_settlement
Create 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 paise (smallest currency sub-unit). For INR: 100 paise = ₹1. Example: 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.
Tool: create_order
Create 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 in paise - For INR: 100 paise = ₹1), 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 paise (smallest currency sub-unit). For INR: 100 paise = ₹1. Example: 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 in paise for first partial payment (only if partial_payment is true). For INR: 100 paise = ₹1 |
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 in paise, maximum debit amount - For INR: 100 paise = ₹1), 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.
Tool: create_payment_link
Create a new standard payment link in Razorpay with a specified amount
| Parameters | Type | Description |
|---|---|---|
amount | number | Amount to be paid using the link in paise (smallest currency unit). For INR: 100 paise = ₹1. Example: for ₹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 in paise that must be paid by the customer as the first partial payment. For INR: 100 paise = ₹1. 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.
Tool: create_qr_code
Create 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.
Tool: create_refund
Use this tool to create a normal refund for a payment. Amount should be in paise (smallest currency unit). For INR: 100 paise = ₹1. Example: for ₹295, use 29500
| Parameters | Type | Description |
|---|---|---|
amount | number | Payment amount in paise (smallest currency unit). For INR: 100 paise = ₹1. Example: 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.
Tool: create_registration_link
Create a registration link (auth link) for subscription registration in Razorpay to set up recurring payments via card, emandate, NACH, or UPI.
| Parameters | Type | Description |
|---|---|---|
amount | number | Amount in the smallest currency unit (e.g., paise for INR). |
currency | string | Three-letter ISO currency code (e.g., INR, MYR). |
description | string | Brief description of the registration link. |
subscription_registration | object | Subscription registration details. Must include 'method' (card, emandate, nach, upi). May include 'max_amount', 'expire_at' (Unix timestamp), and 'frequency' (as_presented, monthly, weekly, yearly, daily). |
type | string | Type of registration link. Use 'link'. |
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. |
email_notify | boolean optional | Send email notification. Default: true |
expire_by | number optional | Unix timestamp when the registration link expires. |
notes | object optional | Key-value pairs for additional info. Max 15 pairs, each up to 256 characters. |
receipt | string optional | Unique receipt identifier provided by the merchant. |
sms_notify | boolean optional | Send SMS notification. Default: true |
This tool may perform destructive updates.
Tool: detect_stack
Detect 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.
Tool: fetch_all_instant_settlements
Fetch 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.
Tool: fetch_all_orders
Fetch 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.
Tool: 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.
| 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.
Tool: fetch_all_payments
Fetch 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.
Tool: fetch_all_payouts
Fetch 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.
Tool: fetch_all_qr_codes
Fetch 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.
Tool: fetch_all_refunds
Use 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.
Tool: fetch_all_settlements
Fetch 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.
Tool: fetch_instant_settlement_with_id
Fetch 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.
Tool: fetch_multiple_refunds_for_payment
Use 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.
Tool: fetch_order
Fetch 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.
Tool: fetch_order_payments
Fetch 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.
Tool: fetch_payment
Use 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.
Tool: fetch_payment_card_details
Use 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.
Tool: fetch_payment_link
Fetch 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.
Tool: fetch_payments_for_qr_code
Fetch 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.
Tool: fetch_payout_with_id
Fetch 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
[...]
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务