Razorpay

Razorpay

Razorpay's Official MCP Server.

2.3K

42 Tools

Packaged by
Requires Configuration
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

About

Razorpay MCP Server

Razorpay's Official MCP Server.

What is an MCP Server?

Characteristics

AttributeDetails
Docker Imagemcp/razorpay
Authorrazorpay
Repositoryhttps://github.com/razorpay/razorpay-mcp-server
Dockerfilehttps://github.com/razorpay/razorpay-mcp-server/blob/main/Dockerfile
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/razorpay --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (42)

Tools provided by this ServerShort Description
capture_paymentUse this tool to capture a previously authorized payment.
close_qr_codeClose a QR Code that's no longer needed
create_instant_settlementCreate an instant settlement to get funds transferred to your bank account
create_orderCreate a new order in Razorpay.
create_payment_linkCreate a new standard payment link in Razorpay with a specified amount
create_qr_codeCreate a new QR code in Razorpay that can be used to accept UPI payments
create_refundUse this tool to create a normal refund for a payment.
fetch_all_instant_settlementsFetch all instant settlements with optional filtering, pagination, and payout details
fetch_all_ordersFetch all orders with optional filtering and pagination
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.
fetch_all_paymentsFetch all payments with optional filtering and pagination
fetch_all_payoutsFetch all payouts for a bank account number
fetch_all_qr_codesFetch all QR codes with optional filtering and pagination
fetch_all_refundsUse this tool to retrieve details of all refunds.
fetch_all_settlementsFetch all settlements with optional filtering and pagination
fetch_instant_settlement_with_idFetch details of a specific instant settlement using its ID
fetch_multiple_refunds_for_paymentUse this tool to retrieve multiple refunds for a payment.
fetch_orderFetch an order's details using its ID
fetch_order_paymentsFetch all payments made for a specific order in Razorpay
fetch_paymentUse this tool to retrieve the details of a specific payment using its id.
fetch_payment_card_detailsUse this tool to retrieve the details of the card used to make a payment.
fetch_payment_linkFetch payment link details using it's ID.
fetch_payments_for_qr_codeFetch all payments made on a QR code
fetch_payout_with_idFetch a payout's details using its ID
fetch_qr_codeFetch a QR code's details using it's ID
fetch_qr_codes_by_customer_idFetch all QR codes for a specific customer
fetch_qr_codes_by_payment_idFetch all QR codes for a specific payment
fetch_refundUse this tool to retrieve the details of a specific refund using its id.
fetch_settlement_recon_detailsFetch settlement reconciliation report for a specific time period
fetch_settlement_with_idFetch details of a specific settlement using its ID
fetch_specific_refund_for_paymentUse this tool to retrieve details of a specific refund made for a payment.
fetch_tokensGet all saved payment methods (cards, UPI) for a contact number.
initiate_paymentInitiate a payment using the S2S JSON v1 flow.
payment_link_notifySend or resend notification for a payment link via SMS or email.
payment_link_upi_createCreate a new UPI payment link in Razorpay with a specified amount and additional options.
resend_otpResend OTP to the customer's registered mobile number if the previous OTP was not received or has expired.
revoke_tokenRevoke a saved payment method (token) for a customer.
submit_otpVerify and submit the OTP received by the customer to complete the payment authentication process.
update_orderUse this tool to update the notes for a specific order.
update_paymentUse this tool to update the notes field of a payment.
update_payment_linkUpdate any existing standard or UPI payment link with new details such as reference ID, expiry date, or notes.
update_refundUse 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

ParametersTypeDescription
amountnumberThe amount to be captured (in paisa). Should be equal to the authorized amount
currencystringISO code of the currency in which the payment was made (e.g., INR)
payment_idstringUnique identifier of the payment to be captured. Should start with 'pay_'

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: close_qr_code

Close a QR Code that's no longer needed

ParametersTypeDescription
qr_code_idstringUnique identifier of the QR Code to be closedThe QR code id should start with 'qr_'

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: create_instant_settlement

Create an instant settlement to get funds transferred to your bank account

ParametersTypeDescription
amountnumberThe amount you want to get settled instantly in amount in the smallest currency sub-unit (e.g., for ₹295, use 29500)
descriptionstringoptionalCustom note for the instant settlement.
notesobjectoptionalKey-value pairs for additional information. Max 15 pairs, 256 chars each
settle_full_balancebooleanoptionalIf true, Razorpay will settle the maximum amount possible and ignore amount parameter

This tool may perform destructive updates.

This tool interacts with external entities.


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), 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"}}

ParametersTypeDescription
amountnumberPayment amount in the smallest currency sub-unit (e.g., for ₹295, use 29500)
currencystringISO code for the currency (e.g., INR, USD, SGD)
customer_idstringoptionalCustomer 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_amountnumberoptionalMinimum amount for first partial payment (only if partial_payment is true)
methodstringoptionalPayment 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.
notesobjectoptionalKey-value pairs for additional information (max 15 pairs, 256 chars each)
partial_paymentbooleanoptionalWhether the customer can make partial payments
receiptstringoptionalReceipt number for internal reference (max 40 chars, must be unique)
tokenobjectoptionalToken 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"}
transfersarrayoptionalArray 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.

This tool interacts with external entities.


Tool: create_payment_link

Create a new standard payment link in Razorpay with a specified amount

ParametersTypeDescription
amountnumberAmount to be paid using the link in smallest currency unit(e.g., ₹300, use 30000)
currencystringThree-letter ISO code for the currency (e.g., INR)
accept_partialbooleanoptionalIndicates whether customers can make partial payments using the Payment Link. Default: false
callback_methodstringoptionalHTTP method for callback redirection. Must be 'get' if callback_url is set.
callback_urlstringoptionalIf specified, adds a redirect URL to the Payment Link. Customer will be redirected here after payment.
customer_contactstringoptionalContact number of the customer.
customer_emailstringoptionalEmail address of the customer.
customer_namestringoptionalName of the customer.
descriptionstringoptionalA brief description of the Payment Link explaining the intent of the payment.
expire_bynumberoptionalTimestamp, in Unix, when the Payment Link will expire. By default, a Payment Link will be valid for six months.
first_min_partial_amountnumberoptionalMinimum amount that must be paid by the customer as the first partial payment. Default value is 100.
notesobjectoptionalKey-value pairs that can be used to store additional information. Maximum 15 pairs, each value limited to 256 characters.
notify_emailbooleanoptionalSend email notifications for the Payment Link.
notify_smsbooleanoptionalSend SMS notifications for the Payment Link.
reference_idstringoptionalReference number tagged to a Payment Link. Must be unique for each Payment Link. Max 40 characters.
reminder_enablebooleanoptionalEnable payment reminders for the Payment Link.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: create_qr_code

Create a new QR code in Razorpay that can be used to accept UPI payments

ParametersTypeDescription
typestringThe type of the QR Code. Currently only supports 'upi_qr'
usagestringWhether QR should accept single or multiple payments. Possible values: 'single_use', 'multiple_use'
close_bynumberoptionalUnix timestamp at which QR Code should be automatically closed (min 2 mins after current time)
customer_idstringoptionalThe unique identifier of the customer to link with the QR Code
descriptionstringoptionalA brief description about the QR Code
fixed_amountbooleanoptionalWhether QR should accept only specific amount (true) or any amount (false)
namestringoptionalLabel to identify the QR Code (e.g., 'Store Front Display')
notesobjectoptionalKey-value pairs for additional information (max 15 pairs, 256 chars each)
payment_amountnumberoptionalThe specific amount allowed for transaction in smallest currency unit

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: create_refund

Use this tool to create a normal refund for a payment. Amount should be in the smallest currency unit (e.g., for ₹295, use 29500)

ParametersTypeDescription
amountnumberPayment amount in the smallest currency unit (e.g., for ₹295, use 29500)
payment_idstringUnique identifier of the payment which needs to be refunded. ID should have a pay_ prefix.
notesobjectoptionalKey-value pairs used to store additional information. A maximum of 15 key-value pairs can be included.
receiptstringoptionalA unique identifier provided by you for your internal reference.
speedstringoptionalThe 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.

This tool interacts with external entities.


Tool: fetch_all_instant_settlements

Fetch all instant settlements with optional filtering, pagination, and payout details

ParametersTypeDescription
countnumberoptionalNumber of instant settlement records to fetch (default: 10, max: 100)
expandarrayoptionalPass this if you want to fetch payout details as part of the response for all instant settlements. Supported values: ondemand_payouts
fromnumberoptionalUnix timestamp (in seconds) from when instant settlements are to be fetched
skipnumberoptionalNumber of instant settlement records to skip (default: 0)
tonumberoptionalUnix timestamp (in seconds) up till when instant settlements are to be fetched

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_all_orders

Fetch all orders with optional filtering and pagination

ParametersTypeDescription
authorizednumberoptionalFilter orders based on payment authorization status. Values: 0 (orders with unauthorized payments), 1 (orders with authorized payments)
countnumberoptionalNumber of orders to be fetched (default: 10, max: 100)
expandarrayoptionalUsed to retrieve additional information. Supported values: payments, payments.card, transfers, virtual_account
fromnumberoptionalTimestamp (in Unix format) from when the orders should be fetched
receiptstringoptionalFilter orders that contain the provided value for receipt
skipnumberoptionalNumber of orders to be skipped (default: 0)
tonumberoptionalTimestamp (in Unix format) up till when orders are to be fetched

This tool may perform destructive updates.

This tool interacts with external entities.


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.

ParametersTypeDescription
payment_idstringoptionalOptional: Filter by payment ID associated with payment links
reference_idstringoptionalOptional: Filter by reference ID used when creating payment links
upi_linknumberoptionalOptional: 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 may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_all_payments

Fetch all payments with optional filtering and pagination

ParametersTypeDescription
countnumberoptionalNumber of payments to fetch (default: 10, max: 100)
fromnumberoptionalUnix timestamp (in seconds) from when payments are to be fetched
skipnumberoptionalNumber of payments to skip (default: 0)
tonumberoptionalUnix timestamp (in seconds) up till when payments are to be fetched

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_all_payouts

Fetch all payouts for a bank account number

ParametersTypeDescription
account_numberstringThe account from which the payouts were done.For example, 7878780080316316
countnumberoptionalNumber 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
skipnumberoptionalNumbers of payouts to be skipped. Default value is 0.This can be used for pagination, in combination with count

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_all_qr_codes

Fetch all QR codes with optional filtering and pagination

ParametersTypeDescription
countnumberoptionalNumber of QR Codes to be retrieved (default: 10, max: 100)
fromnumberoptionalUnix timestamp, in seconds, from when QR Codes are to be retrieved
skipnumberoptionalNumber of QR Codes to be skipped (default: 0)
tonumberoptionalUnix timestamp, in seconds, till when QR Codes are to be retrieved

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_all_refunds

Use this tool to retrieve details of all refunds. By default, only the last 10 refunds are returned.

ParametersTypeDescription
countnumberoptionalThe number of refunds to fetch. You can fetch a maximum of 100 refunds
fromnumberoptionalUnix timestamp at which the refunds were created
skipnumberoptionalThe number of refunds to be skipped
tonumberoptionalUnix timestamp till which the refunds were created

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_all_settlements

Fetch all settlements with optional filtering and pagination

ParametersTypeDescription
countnumberoptionalNumber of settlement records to fetch (default: 10, max: 100)
fromnumberoptionalUnix timestamp (in seconds) from when settlements are to be fetched
skipnumberoptionalNumber of settlement records to skip (default: 0)
tonumberoptionalUnix timestamp (in seconds) up till when settlements are to be fetched

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_instant_settlement_with_id

Fetch details of a specific instant settlement using its ID

ParametersTypeDescription
settlement_idstringThe ID of the instant settlement to fetch. ID starts with 'setlod_'

This tool may perform destructive updates.

This tool interacts with external entities.


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.

ParametersTypeDescription
payment_idstringUnique identifier of the payment for which refunds are to be retrieved. ID should have a pay_ prefix.
countnumberoptionalThe number of refunds to fetch for the payment.
fromnumberoptionalUnix timestamp at which the refunds were created.
skipnumberoptionalThe number of refunds to be skipped for the payment.
tonumberoptionalUnix timestamp till which the refunds were created.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_order

Fetch an order's details using its ID

ParametersTypeDescription
order_idstringUnique identifier of the order to be retrieved

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_order_payments

Fetch all payments made for a specific order in Razorpay

ParametersTypeDescription
order_idstringUnique identifier of the order for which payments should be retrieved. Order id should start with order_

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_payment

Use this tool to retrieve the details of a specific payment using its id. Amount returned is in paisa

ParametersTypeDescription
payment_idstringpayment_id is unique identifier of the payment to be retrieved.

This tool may perform destructive updates.

This tool interacts with external entities.


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.

ParametersTypeDescription
payment_idstringUnique identifier of the payment for which you want to retrieve card details. Must start with 'pay_'

This tool may perform destructive updates.

This tool interacts with external entities.


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)

ParametersTypeDescription
payment_link_idstringID of the payment link to be fetched(ID should have a plink_ prefix).

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_payments_for_qr_code

Fetch all payments made on a QR code

ParametersTypeDescription
qr_code_idstringThe unique identifier of the QR Code to fetch payments forThe QR code id should start with 'qr_'
countnumberoptionalNumber of payments to be fetched (default: 10, max: 100)
fromnumberoptionalUnix timestamp, in seconds, from when payments are to be retrieved
skipnumberoptionalNumber of records to be skipped while fetching the payments
tonumberoptionalUnix timestamp, in seconds, till when payments are to be fetched

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_payout_with_id

Fetch a payout's details using its ID

ParametersTypeDescription
payout_idstringThe unique identifier of the payout. For example, 'pout_00000000000001'

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_qr_code

Fetch a QR code's details using it's ID

ParametersTypeDescription
qr_code_idstringUnique identifier of the QR Code to be retrievedThe QR code id should start with 'qr_'

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_qr_codes_by_customer_id

Fetch all QR codes for a specific customer

ParametersTypeDescription
customer_idstringThe unique identifier of the customer

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_qr_codes_by_payment_id

Fetch all QR codes for a specific payment

ParametersTypeDescription
payment_idstringThe unique identifier of the paymentThe payment id always should start with 'pay_'

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_refund

Use this tool to retrieve the details of a specific refund using its id.

ParametersTypeDescription
refund_idstringUnique identifier of the refund which is to be retrieved. ID should have a rfnd_ prefix.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_settlement_recon_details

Fetch settlement reconciliation report for a specific time period

ParametersTypeDescription
monthnumberMonth for which the settlement report is requested (MM format)
yearnumberYear for which the settlement report is requested (YYYY format)
countnumberoptionalOptional: Number of records to fetch (default: 10, max: 100)
daynumberoptionalOptional: Day for which the settlement report is requested (DD format)
skipnumberoptionalOptional: Number of records to skip for pagination

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_settlement_with_id

Fetch details of a specific settlement using its ID

ParametersTypeDescription
settlement_idstringThe ID of the settlement to fetch.ID starts with the 'setl_'

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_specific_refund_for_payment

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

ParametersTypeDescription
payment_idstringUnique identifier of the payment for which the refund has been made. ID should have a pay_ prefix.
refund_idstringUnique identifier of the refund to be retrieved. ID should have a rfnd_ prefix.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_tokens

Get all saved payment methods (cards, UPI) for a contact number. This tool first finds or creates a customer with the given contact number, then fetches all saved payment tokens associated with that customer including credit/debit cards, UPI IDs, digital wallets, and other tokenized payment instruments.

ParametersTypeDescription
contactstringContact number of the customer to fetch all saved payment methods for. For example, 9876543210 or +919876543210

This tool may perform destructive updates.

This tool interacts with external entities.


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.

ParametersTypeDescription
amountnumberPayment amount in the smallest currency sub-unit (e.g., for ₹100, use 10000)
order_idstringOrder ID for which the payment is being initiated. Must start with 'order_'
contactstringoptionalCustomer's phone number
currencystringoptionalCurrency code for the payment. Default is 'INR'
customer_idstringoptionalCustomer ID for the payment. Must start with 'cust_'
emailstringoptionalCustomer's email address (optional)
force_terminal_idstringoptionalTerminal ID to be passed in case of single block multiple debit order.
recurringbooleanoptionalSet this to true for recurring payments like single block multiple debit.
savebooleanoptionalWhether to save the payment method for future use
tokenstringoptionalToken ID of the saved payment method. Must start with 'token_'
upi_intentbooleanoptionalEnable 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.
vpastringoptionalVirtual 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.

This tool interacts with external entities.


Tool: payment_link_notify

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

ParametersTypeDescription
mediumstringMedium through which to send the notification. Must be either 'sms' or 'email'.
payment_link_idstringID of the payment link for which to send notification (ID should have a plink_ prefix).

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: payment_link_upi_create

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

ParametersTypeDescription
amountnumberAmount to be paid using the link in smallest currency unit(e.g., ₹300, use 30000), Only accepted currency is INR
currencystringThree-letter ISO code for the currency (e.g., INR). UPI links are only supported in INR
accept_partialbooleanoptionalIndicates whether customers can make partial payments using the Payment Link. Default: false
callback_methodstringoptionalHTTP method for callback redirection. Must be 'get' if callback_url is set.
callback_urlstringoptionalIf specified, adds a redirect URL to the Payment Link. Customer will be redirected here after payment.
customer_contactstringoptionalContact number of the customer.
customer_emailstringoptionalEmail address of the customer.
customer_namestringoptionalName of the customer.
descriptionstringoptionalA brief description of the Payment Link explaining the intent of the payment.
expire_bynumberoptionalTimestamp, in Unix, when the Payment Link will expire. By default, a Payment Link will be valid for six months.
first_min_partial_amountnumberoptionalMinimum amount that must be paid by the customer as the first partial payment. Default value is 100.
notesobjectoptionalKey-value pairs that can be used to store additional information. Maximum 15 pairs, each value limited to 256 characters.
notify_emailbooleanoptionalSend email notifications for the Payment Link.
notify_smsbooleanoptionalSend SMS notifications for the Payment Link.
reference_idstringoptionalReference number tagged to a Payment Link. Must be unique for each Payment Link. Max 40 characters.
reminder_enablebooleanoptionalEnable payment reminders for the Payment Link.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: resend_otp

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

ParametersTypeDescription
payment_idstringUnique identifier of the payment for which OTP needs to be generated. Must start with 'pay_'

This tool may perform destructive updates.

This tool interacts with external entities.


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.

ParametersTypeDescription
customer_idstringCustomer ID for which the token should be revoked. Must start with 'cust_' followed by alphanumeric characters. Example: 'cust_xxx'
token_idstringToken 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.

This tool interacts with external entities.


Tool: submit_otp

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

ParametersTypeDescription
otp_stringstringOTP string received from the user
payment_idstringUnique identifier of the payment for which OTP needs to be submitted. Must start with 'pay_'

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: update_order

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

ParametersTypeDescription
notesobjectKey-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_idstringUnique identifier of the order which needs to be updated. ID should have an order_ prefix.

This tool may perform destructive updates.

This tool interacts with external entities.


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.

ParametersTypeDescription
notesobjectKey-value pairs that can be used to store additional information about the payment. Values must be strings or integers.
payment_idstringUnique identifier of the payment to be updated. Must start with 'pay_'

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: update_payment_link

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

ParametersTypeDescription
payment_link_idstringID of the payment link to update (ID should have a plink_ prefix).
accept_partialbooleanoptionalAllow customers to make partial payments. Not allowed with UPI payment links.
expire_bynumberoptionalTimestamp, in Unix format, when the payment link should expire.
notesobjectoptionalKey-value pairs for additional information. Maximum 15 pairs, each value limited to 256 characters.
reference_idstringoptionalAdds a unique reference number to the payment link.
reminder_enablebooleanoptionalEnable or disable reminders for the payment link.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: update_refund

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

ParametersTypeDescription
notesobjectKey-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_idstringUnique identifier of the refund which needs to be updated. ID should have a rfnd_ prefix.

This tool may perform destructive updates.

This tool interacts with external entities.


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?

Manual installation

You can install the MCP server using:

Installation for

Related servers