LabStore
← All labs

Razorpay

by docker ✓ verified ✓ Packaged by Docker

Razorpay's Official MCP Server.

MCP server installable needs setup network: on runtime: sysbox

DevOps MCP Servers

Razorpay MCP Server

Razorpay's Official MCP Server.

What is an MCP Server?

MCP Info

Attribute Details
Docker Image mcp/razorpay
Author razorpay
Repository https://github.com/razorpay/razorpay-mcp-server

Image Building Info

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

Available Tools (45)

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.

Tools Details

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.


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.


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.


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.


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. It does not modify its environment.


Tool: fetch_qr_code

Fetch 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.


Tool: fetch_qr_codes_by_customer_id

Fetch 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.


Tool: fetch_qr_codes_by_payment_id

Fetch 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.


Tool: fetch_refund

Use 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.


Tool: fetch_settlement_recon_details

Fetch 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.


Tool: fetch_settlement_with_id

Fetch details of a specific settlement using its ID

Parameters Type Description
settlement_id string The ID of the settlement to fetch.ID starts with the 'setl_'

This tool is read-only. It does not modify its environment.


Tool: fetch_specific_refund_for_payment

Use this tool to retrieve details of a specific refund made for a payment.

Parameters Type Description
payment_id string Unique identifier of the payment for which the refund has been made. ID should have a pay_ prefix.
refund_id string Unique identifier of the refund to be retrieved. ID should have a rfnd_ prefix.

This tool is read-only. It does not modify its environment.


Tool: fetch_tokens

Get all saved payment methods (cards, UPI) for a customer. Accepts either a customer_id (preferred) or a contact number. When customer_id is provided it is used directly to fetch tokens; otherwise the contact number is used to find or create the customer first. Returns saved payment tokens including credit/debit cards, UPI IDs, digital wallets, and other tokenized payment instruments.

Parameters Type Description
contact string optional Contact number of the customer to fetch all saved payment methods for. For example, 9876543210 or +919876543210. Used only when customer_id is not provided.
customer_id string optional Razorpay customer ID to fetch saved payment methods for. Must start with 'cust_' followed by alphanumeric characters. Example: 'cust_xxx'. When provided, this takes priority over the contact parameter.

This tool may perform destructive updates.


Tool: initiate_payment

Initiate a payment using the S2S JSON v1 flow. Required parameters: amount and order_id. For saved payment methods, provide token. For UPI collect flow, provide 'vpa' parameter which automatically sets UPI with flow='collect' and expiry_time='6'. For UPI intent flow, set 'upi_intent=true' parameter which automatically sets UPI with flow='intent' and API returns UPI URL. Supports additional parameters like customer_id, email, contact, save, and recurring. Returns payment details including next action steps if required.

Parameters Type Description
amount number Payment amount in paise (smallest currency sub-unit). For INR: 100 paise = ₹1. Example: for ₹100, use 10000
order_id string Order ID for which the payment is being initiated. Must start with 'order_'
contact string optional Customer's phone number
currency string optional Currency code for the payment. Default is 'INR'
customer_id string optional Customer ID for the payment. Must start with 'cust_'
email string optional Customer's email address (optional)
force_terminal_id string optional Terminal ID to be passed in case of single block multiple debit order.
recurring boolean optional Set this to true for recurring payments like single block multiple debit.
save boolean optional Whether to save the payment method for future use
token string optional Token ID of the saved payment method. Must start with 'token_'
upi_intent boolean optional Enable UPI intent flow. When set to true, automatically sets method='upi' and UPI parameters with flow='intent'. The API will return a UPI URL in the response.
vpa string optional Virtual Payment Address (VPA) for UPI payment. When provided, automatically sets method='upi' and UPI parameters with flow='collect' and expiry_time='6' (e.g., '9876543210@ptsbi')

This tool may perform destructive updates.


Tool: integrate_razorpay_checkout

Complete Razorpay Standard Checkout integration. Returns ALL code needed - backend routes, frontend integration, and payment verification. IMPORTANT: Before calling this tool, ALWAYS call detect_stack first to determine the project's language, backendFramework, and frontendFramework. Do NOT ask the user for these values. The AI should apply ALL returned files and modifications without asking the user for additional steps.

Parameters Type Description
backendFramework string Backend framework: express, fastify, koa, nextjs, nuxt, django, flask, fastapi, gin, echo, fiber, spring, spring-boot, laravel, rails, actix, aspnet, react-native, flutter, android, ios, cordova, ionic, or capacitor
frontendFramework string Frontend framework: vanilla, react, nextjs, vue, angular, svelte, or native (for mobile apps)
language string Programming language: javascript, typescript, python, go, java, php, ruby, rust, csharp, dart, swift, or kotlin

This tool is read-only. It does not modify its environment.


Send or resend notification for a payment link via SMS or email.

Parameters Type Description
medium string Medium through which to send the notification. Must be either 'sms' or 'email'.
payment_link_id string ID of the payment link for which to send notification (ID should have a plink_ prefix).

This tool may perform destructive updates.


Create a new UPI payment link in Razorpay with a specified amount and additional options.

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. Only accepted currency is INR
currency string Three-letter ISO code for the currency (e.g., INR). UPI links are only supported in 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: resend_otp

Resend OTP to the customer's registered mobile number if the previous OTP was not received or has expired.

Parameters Type Description
payment_id string Unique identifier of the payment for which OTP needs to be generated. Must start with 'pay_'

This tool may perform destructive updates.


Tool: revoke_token

Revoke a saved payment method (token) for a customer. This tool revokes the specified token associated with the given customer ID. Once revoked, the token cannot be used for future payments.

Parameters Type Description
customer_id string Customer ID for which the token should be revoked. Must start with 'cust_' followed by alphanumeric characters. Example: 'cust_xxx'
token_id string Token ID of the saved payment method to be revoked. Must start with 'token_' followed by alphanumeric characters. Example: 'token_xxx'

This tool may perform destructive updates.


Tool: submit_otp

Verify and submit the OTP received by the customer to complete the payment authentication process.

Parameters Type Description
otp_string string OTP string received from the user
payment_id string Unique identifier of the payment for which OTP needs to be submitted. Must start with 'pay_'

This tool may perform destructive updates.


Tool: update_order

Use this tool to update the notes for a specific order. Only the notes field can be modified.

Parameters Type Description
notes object Key-value pairs used to store additional information about the order. A maximum of 15 key-value pairs can be included, with each value not exceeding 256 characters.
order_id string Unique identifier of the order which needs to be updated. ID should have an order_ prefix.

This tool may perform destructive updates.


Tool: update_payment

Use this tool to update the notes field of a payment. Notes are key-value pairs that can be used to store additional information.

Parameters Type Description
notes object Key-value pairs that can be used to store additional information about the payment. Values must be strings or integers.
payment_id string Unique identifier of the payment to be updated. Must start with 'pay_'

This tool may perform destructive updates.


Update any existing standard or UPI payment link with new details such as reference ID, expiry date, or notes.

Parameters Type Description
payment_link_id string ID of the payment link to update (ID should have a plink_ prefix).
accept_partial boolean optional Allow customers to make partial payments. Not allowed with UPI payment links.
expire_by number optional Timestamp, in Unix format, when the payment link should expire.
notes object optional Key-value pairs for additional information. Maximum 15 pairs, each value limited to 256 characters.
reference_id string optional Adds a unique reference number to the payment link.
reminder_enable boolean optional Enable or disable reminders for the payment link.

This tool may perform destructive updates.


Tool: update_refund

Use this tool to update the notes for a specific refund. Only the notes field can be modified.

Parameters Type Description
notes object Key-value pairs used to store additional information. A maximum of 15 key-value pairs can be included, with each value not exceeding 256 characters.
refund_id string Unique identifier of the refund which needs to be updated. ID should have a rfnd_ prefix.

This tool may perform destructive updates.


Use this MCP Server

{
  "mcpServers": {
    "razorpay": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "RAZORPAY_KEY_ID",
        "-e",
        "RAZORPAY_KEY_SECRET",
        "mcp/razorpay"
      ],
      "env": {
        "RAZORPAY_KEY_ID": "your_razorpay_key_id",
        "RAZORPAY_KEY_SECRET": "your_razorpay_key_secret"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?