100+ integrations are ready to connect to your AI.Connect your first MCP

Razorpay MCP server for your AI

Capture authorized payments, issue and cancel invoices, update or cancel subscriptions, split Route transfers, and move money out through RazorpayX payouts. A test-mode key keeps it in the sandbox.

PopMCPRazorpay

Show me every dispute opened this month and the payments behind them

Supported Razorpay tools

Every payment, order, subscription, invoice, dispute, Route transfer, RazorpayX and webhook operation the connection exposes, plus the events it can watch.

razorpay_cancel_subscription

Cancels a subscription.

razorpay_create_plan

Creates a billing plan that subscriptions are linked to.

razorpay_create_subscription

Creates a subscription against an existing plan.

razorpay_fetch_plans

Fetches all plans.

razorpay_fetch_subscription

Fetches a single subscription by its id (e.g.

razorpay_fetch_subscriptions

Fetches all subscriptions.

razorpay_update_subscription

Updates an existing subscription.

razorpay_capture_payment

Capture an authorized payment to actually move the funds; uncaptured authorized payments are auto-refunded after the authorization window.

razorpay_fetch_payment

Fetch a single payment by its id (e.g.

razorpay_fetch_payment_methods

Fetch the payment methods enabled for the merchant account, returning maps of available methods (cards, netbanking banks, wallets, UPI, EMI options, etc.).

razorpay_fetch_payments

Fetch all payments for the account, returning a collection with item count and entity array.

razorpay_update_payment

Update the notes (key-value metadata) on a payment.

razorpay_create_payout

Creates a RazorpayX payout that moves money from your RazorpayX account to a recipient's fund account.

razorpay_fetch_payout

Fetches the details of a single payout by its id (e.g.

razorpay_fetch_payouts

Fetches all payouts for a RazorpayX account.

razorpay_accept_dispute

Accept a dispute, acknowledging it as valid.

razorpay_contest_dispute

Contest (challenge) a dispute with a summary and supporting evidence.

razorpay_create_customer

Creates a new customer in Razorpay.

razorpay_create_webhook

Create an account-level (merchant) webhook.

razorpay_fetch_customer

Fetches a single customer by its id.

razorpay_fetch_customers

Fetches all customers for the account.

razorpay_fetch_dispute

Fetch a single dispute by its id.

razorpay_fetch_disputes

Fetch all disputes raised against your payments.

razorpay_fetch_webhooks

Fetch all account-level (merchant) webhooks.

razorpay_update_customer

Updates an existing customer identified by customerId.

razorpay_cancel_invoice

Cancels an issued invoice identified by invoiceId, moving it to the cancelled state so it can no longer be paid.

razorpay_close_virtual_account

Close (deactivate) a virtual account so it stops accepting further payments; closing is permanent and the receivers can no longer be credited.

razorpay_create_contact

Create a RazorpayX contact, the entity that a fund account and subsequent payouts reference.

razorpay_create_fund_account

Create a RazorpayX fund account linked to an existing contact via 'contact_id'.

razorpay_create_invoice

Creates a new invoice.

razorpay_create_payment_transfer

Create one or more Route transfers from a captured payment, splitting its amount across linked accounts.

razorpay_create_transfer

Create a direct Route transfer from your account balance to a linked account (not tied to any payment).

razorpay_create_virtual_account

Create a virtual account (Smart Collect Customer Identifier) that accepts inbound payments via bank transfer, UPI/VPA, or QR code.

razorpay_fetch_contacts

Fetch all RazorpayX contacts, with optional filters.

razorpay_fetch_invoice

Fetches a single invoice by its id (e.g.

razorpay_fetch_invoices

Fetches a list of invoices.

razorpay_fetch_transfers

Fetch all Route transfers created by your account.

razorpay_fetch_virtual_account

Fetch a single virtual account by its id.

razorpay_fetch_virtual_accounts

Fetch all virtual accounts (Customer Identifiers) created on the account.

razorpay_issue_invoice

Issues a draft invoice, transitioning it from draft to issued and making it payable.

razorpay_create_order

Creates a new order, which acts as a server-side container that ties a payment to a fixed amount and currency before the customer pays.

razorpay_fetch_order

Retrieves the details of a single order by its id.

razorpay_fetch_order_payments

Retrieves all payments made against a specific order, identified by orderId.

razorpay_fetch_orders

Retrieves a paginated list of all orders on the account, newest first.

razorpay_update_order

Modifies an existing order identified by orderId.

razorpay_cancel_payment_link

Cancels a payment link identified by paymentLinkId.

razorpay_close_qr_code

Closes an active QR Code identified by qrCodeId so it can no longer accept payments.

razorpay_create_payment_link

Creates a new payment link that can be shared with a customer via SMS, email, or WhatsApp to collect a payment.

razorpay_create_payment_refund

Creates a refund for a captured payment identified by paymentId.

razorpay_create_qr_code

Creates a QR Code that customers can scan to pay.

razorpay_fetch_payment_link

Fetches a single payment link by its id.

razorpay_fetch_payment_links

Fetches a collection of payment links.

razorpay_fetch_payment_refunds

Retrieves all refunds issued against a specific payment identified by paymentId.

razorpay_fetch_qr_code

Retrieves the details of a single QR Code by its id (e.g.

razorpay_fetch_qr_codes

Retrieves a list of all QR Codes.

razorpay_fetch_refund

Retrieves the details of a single refund by its refundId (e.g.

razorpay_fetch_refunds

Retrieves all refunds across the account, most recent first.

razorpay_fetch_settlement

Retrieves a single settlement by its id (e.g.

razorpay_fetch_settlements

Retrieves all settlements for the account.

razorpay_notify_payment_link

Sends or resends the payment link notification to the customer over a specific medium.

razorpay_cancel_scheduled_subscription_changes

Cancels any scheduled (pending) changes on a subscription, reverting the queued update so the subscription continues unchanged.

razorpay_create_account

Creates a sub-merchant account under the partner (Razorpay Partners/Onboarding API, v2).

razorpay_create_document

Creates/uploads a document to Razorpay (v1 Documents API), returning a document id (doc_*) that can be referenced by other APIs (e.g.

razorpay_create_stakeholder

Creates a stakeholder for a sub-merchant account.

razorpay_create_subscription_addon

Creates an one-time add-on charge on a subscription, billed alongside the next invoice.

razorpay_create_subscription_registration_link

Creates a subscription registration (authorization) link used to collect the customer's authorization for future recurring charges.

razorpay_delete_account

Deletes a sub-merchant account by its account id.

razorpay_delete_addon

Deletes an add-on by its id, removing the pending charge before it is billed.

razorpay_delete_subscription_offer

Removes (unlinks) an offer that was linked to a subscription.

razorpay_edit_account

Updates an existing sub-merchant account identified by accountId.

razorpay_edit_stakeholder

Updates an existing stakeholder (stakeholderId, sth_*) under a sub-merchant account.

razorpay_fetch_account

Retrieves the details of a previously created sub-merchant account by its account id.

razorpay_fetch_account_documents

Fetches the list of documents that have been uploaded for a sub-merchant account.

razorpay_fetch_account_product

Fetches a specific product configuration (productId, acc_prd_*) for a sub-merchant account.

razorpay_fetch_account_stakeholders

Fetches all stakeholders associated with a sub-merchant account.

razorpay_fetch_addon

Fetches a single add-on by its id (e.g.

razorpay_fetch_addons

Fetches all add-ons created across subscriptions.

razorpay_fetch_document

Fetches the metadata of a previously uploaded document by its id.

razorpay_fetch_plan

Fetches a single plan by its id (e.g.

razorpay_fetch_product_tnc

Fetches the latest Terms and Conditions for a given product (productName, e.g.

razorpay_fetch_stakeholder

Fetches a single stakeholder by id (sth_*) under a sub-merchant account.

razorpay_fetch_stakeholder_documents

Fetches the documents uploaded for a specific stakeholder (stakeholderId, sth_*) under a sub-merchant account.

razorpay_fetch_subscription_pending_update

Fetches the scheduled (pending) update for a subscription, i.e.

razorpay_pause_subscription

Pauses an active subscription so no further charges occur until resumed.

razorpay_request_product_configuration

Requests a product configuration (e.g.

razorpay_resume_subscription

Resumes a paused subscription so billing continues.

razorpay_update_account_product

Updates a product configuration (productId, acc_prd_*) for a sub-merchant account.

razorpay_upload_account_document

Uploads a KYC/business document for a sub-merchant account.

razorpay_upload_stakeholder_document

Uploads a KYC document for a stakeholder (stakeholderId, sth_*) under a sub-merchant account.

razorpay_create_payment_json

Create a server-to-server (S2S) payment via the JSON flow, charging a card/method directly without the standard checkout.

razorpay_create_recurring_payment

Create a server-to-server recurring (subsequent) payment against a saved token / mandate without customer interaction.

razorpay_create_upi_payment

Create a server-to-server UPI payment (collect request or intent) without the standard checkout.

razorpay_fetch_payment_bank_transfer

Fetch the bank transfer details associated with a payment that was made into a virtual account via bank transfer (NEFT/RTGS/IMPS).

razorpay_fetch_payment_card

Fetch the card details used for a card payment, returning a card entity with masked last4, network, type, issuer, and international flag.

razorpay_fetch_payment_downtime

Fetch the details of a single payment downtime by its id (e.g.

razorpay_fetch_payment_downtimes

Fetch all current payment downtimes across instruments (e.g.

razorpay_fetch_payment_upi_transfer

Fetch the UPI transfer details associated with a payment made into a virtual account via UPI.

razorpay_generate_payment_otp

Trigger generation/sending of the OTP for an S2S card payment that is in the authentication step.

razorpay_resend_payment_otp

Request a resend of the OTP for an in-flight S2S card payment when the customer did not receive the first one.

razorpay_submit_payment_otp

Submit the OTP entered by the customer to complete authentication for an S2S card payment.

razorpay_validate_vpa

Validate a customer's UPI VPA (Virtual Payment Address, e.g.

razorpay_cancel_payout

Cancels a payout that is in the queued state.

razorpay_cancel_payout_link

Cancels a payout link.

razorpay_create_fund_account_validation

Creates a fund account validation to verify a recipient's bank account (penny-testing / penny-drop) before paying out to it.

razorpay_create_payout_link

Creates a payout link that lets a recipient enter their own bank/UPI details to receive money, without you knowing their fund account up front.

razorpay_fetch_fund_account_validation

Fetches a single fund account validation by its id (prefix fav_, e.g.

razorpay_fetch_fund_account_validations

Fetches all fund account validation transactions you have created.

razorpay_fetch_payout_link

Fetches a single payout link by its id (e.g.

razorpay_fetch_payout_links

Fetches all payout links.

razorpay_fetch_transaction

Fetches a single account transaction by its id (e.g.

razorpay_fetch_transactions

Fetches all transactions on a RazorpayX (current/business) account, covering both credits (incoming bank transfers) and debits (payouts).

razorpay_cancel_customer_token

Cancels a saved token (tokenId, token_xxx) for the given customerId, primarily used to cancel recurring tokens / mandates so no further charges can be made against them.

razorpay_create_account_webhook

Partner API: create a webhook scoped to a sub-merchant account (v2).

razorpay_create_token

Creates a token directly (global tokens endpoint) for saving a payment instrument against a customer, commonly used to set up recurring payments / mandates.

razorpay_delete_account_webhook

Partner API: delete a webhook of a sub-merchant account (v2).

razorpay_delete_customer_token

Permanently deletes a saved token (tokenId, token_xxx) belonging to the given customerId.

razorpay_delete_token

Deletes a token using the global tokens endpoint.

razorpay_fetch_account_webhook

Partner API: fetch a single webhook of a sub-merchant account by id (v2).

razorpay_fetch_account_webhooks

Partner API: fetch all webhooks for a sub-merchant account (v2).

razorpay_fetch_customer_token

Fetches a single saved token by tokenId (token_xxx) for the given customerId.

razorpay_fetch_customer_tokens

Fetches all saved tokens (cards, UPI mandates, emandates, etc.) for the given customerId.

razorpay_fetch_token

Fetches details of a token using the global tokens endpoint.

razorpay_process_payment_alternate_provider_token

Processes a payment using a token on an alternate payment aggregator or payment gateway (service provider token transactional data).

razorpay_update_account_webhook

Partner API: update a webhook of a sub-merchant account (v2, PATCH).

razorpay_update_webhook

Update an existing account-level (merchant) webhook (full update via PUT).

razorpay_create_item

Creates a reusable item (a named priced line entity) that can be attached to invoices and payment links.

razorpay_delete_item

Deletes the item identified by itemId.

razorpay_fetch_business_iins

Lists IINs filtered by business/eligibility criteria (the SDK's iins.all).

razorpay_fetch_card

Fetches the details of a card by its card id (e.g.

razorpay_fetch_iin

Fetches the issuer/network details for a card IIN (the first 6-9 digits / BIN of the card number) passed as the iin path param.

razorpay_fetch_item

Fetches the details of a single item by its id (e.g.

razorpay_fetch_items

Fetches a collection of all items created on the account.

razorpay_request_card_reference

Requests the network reference id (PAR / card fingerprint) for a card so the same physical card can be recognized across different tokens and payments.

razorpay_update_item

Updates an existing item identified by itemId.

razorpay_activate_fund_account

Activate or deactivate a RazorpayX fund account by id.

razorpay_add_virtual_account_allowed_payer

Add an allowed payer (Tested Penny-drop Verification / TPV) to a virtual account so it only accepts inbound bank transfers from the specified source account; payments from any other account are auto-refunded.

razorpay_add_virtual_account_receiver

Add an additional receiver to an existing virtual account so it can accept payments through more channels (e.g.

razorpay_delete_invoice

Deletes a draft invoice by invoiceId.

razorpay_delete_virtual_account_allowed_payer

Remove a previously added allowed payer (TPV restriction) from a virtual account, identified by the virtual account id and the allowed-payer id (format `ba_...`) returned when the payer was added.

razorpay_fetch_contact

Fetch a single RazorpayX contact by its id.

razorpay_fetch_fund_account

Fetch a single RazorpayX fund account by its id.

razorpay_fetch_fund_accounts

Fetch all RazorpayX fund accounts, optionally filtered by 'contact_id' (to list only one contact's fund accounts) and 'account_type'.

razorpay_fetch_payment_transfers

Fetch all Route transfers created from a specific payment.

razorpay_fetch_transfer

Fetch a single Route transfer by its id (e.g.

razorpay_fetch_transfer_reversals

Fetch all reversals for a specific Route transfer.

razorpay_fetch_virtual_account_payments

Fetch payments received into a specific virtual account.

razorpay_notify_invoice

Sends a notification to the customer for an issued invoice over the given medium.

razorpay_reverse_transfer

Reverse a Route transfer, pulling funds back from the linked account to your account.

razorpay_update_contact

Update an existing RazorpayX contact by id.

razorpay_update_invoice

Updates an existing invoice identified by invoiceId.

razorpay_update_transfer

Update an existing Route transfer's settlement hold.

razorpay_update_order_fulfillment

Updates the fulfillment details (e.g.

razorpay_view_order_rto_review

Triggers the RTO (Return To Origin) risk review for a Magic Checkout order identified by orderId.

razorpay_create_ondemand_settlement

Creates an instant (on-demand) settlement, transferring funds from your Razorpay balance to your bank account immediately instead of waiting for the regular settlement cycle.

razorpay_fetch_ondemand_settlement

Retrieves a single on-demand (instant) settlement by its id (e.g.

razorpay_fetch_ondemand_settlements

Retrieves all on-demand (instant) settlements for the account.

razorpay_fetch_payment_refund

Retrieves a specific refund (refundId) scoped to a specific payment (paymentId).

razorpay_fetch_qr_code_payments

Retrieves all payments made against a specific QR Code identified by qrCodeId.

razorpay_fetch_settlement_recon_report

Retrieves the settlement reconciliation report for a given day (or month), listing every transaction (payments, refunds, adjustments, transfers) that was part of settlements.

razorpay_update_payment_link

Updates an existing payment link identified by paymentLinkId.

razorpay_update_qr_code

Updates the notes (user-defined key-value metadata) on an existing QR Code identified by qrCodeId.

razorpay_update_refund

Updates the notes (key-value metadata) on an existing refund identified by refundId.

Connect Razorpay to your AI

Credentials off one Razorpay screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

Paste your Key ID and Key Secret from Dashboard → Account & Settings → API Keys. No OAuth app or token refresh. An rzp_test_ key points at the sandbox, rzp_live_ at production, and the key locks it to one account.

Key IDrzp_live_xxxxxxxxxxxxxx
Key Secret••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • Show me every dispute opened this month and the payments behind them

    • fetch_disputes
    • fetch_dispute
    • fetch_payment
  • Capture every authorized payment from yesterday over ₹5,000

    • fetch_payments
    • fetch_payment
    • capture_payment
  • Create a ₹999/month plan and start Priya on a subscription for it

    • create_plan
    • create_customer
    • create_subscription
  • Which RazorpayX payouts went to contacts I set up this quarter

    • fetch_contacts
    • fetch_payouts
    • fetch_payout

Use Razorpay from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Razorpay MCP server questions

What teams ask before putting Razorpay behind an AI client.

Do I need to create an OAuth app or a redirect URL to connect Razorpay?

No. The connect form asks for two values, Key ID and Key Secret, which Razorpay shows when you generate API keys under Dashboard → Account & Settings → API Keys. There is no OAuth app, no redirect URL and no token refresh to maintain. PopMCP authenticates server-side over HTTPS using HTTP Basic.

Can I connect a Test Mode account instead of a live one?

Yes. Razorpay issues separate keys per mode, so a Test Mode key (rzp_test_…) points the server at the sandbox and a Live Mode key (rzp_live_…) points it at production. The mode is decided entirely by which key you paste, not by a setting on the PopMCP side. Connecting a test key first is the safest way to watch what an agent actually does before real money is involved.

Does this cover RazorpayX banking, or only the payment gateway?

Both. Alongside orders, payments, refunds, settlements, customers and tokens, items, invoices, payment links, plans, subscriptions, Smart Collect virtual accounts, QR codes, Route transfers, disputes, webhooks and Partner onboarding, the connection includes the RazorpayX banking APIs. That covers contacts, fund accounts and payouts, so an agent can create a contact, attach a fund account to it and send a payout without leaving the same connection.

Which Razorpay actions should I keep behind approval?

The ones that move or destroy money. capture_payment actually moves the funds on an authorized payment, create_payout sends money out of your RazorpayX balance, and close_virtual_account is permanent, since a closed virtual account stops accepting payments and its receivers can no longer be credited. accept_dispute concedes a chargeback on your behalf and cancel_subscription ends a live billing relationship, so both are worth holding too.

How many Razorpay operations does the server expose?

162 operations across 16 API modules, split 75 read and 87 write. Sixty load into your AI client by default and the rest stay searchable, so the client is not handed the entire surface at once. The largest modules are Subscriptions, Partners v2, Payments, RazorpayX payouts, webhooks and disputes, and customers and tokens.

Which Razorpay events can PopMCP watch as triggers?

Webhook triggers cover the payment lifecycle (authorized, captured, failed), order paid, refunds (created, processed, failed), disputes opened and closed, and settlement paid out. On the billing side there are triggers for invoice paid, invoice expired, subscription activated and subscription charged. Payment authorized pairs naturally with capture_payment, since an authorized payment is still waiting on a capture.

Do I have to run or host the Razorpay MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

Why do only 60 of the 162 tools load by default?

Loading 162 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 60-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.

What is the difference between a tool and a trigger?

A tool is something your AI calls — there are 162 here. A trigger is something PopMCP watches for you: 25 Razorpay events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Razorpay.

Connect Razorpay to your AI in minutes

Launch a hosted MCP endpoint for Razorpay, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP