razorpay_cancel_ subscriptionCancels a subscription.
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
Every payment, order, subscription, invoice, dispute, Route transfer, RazorpayX and webhook operation the connection exposes, plus the events it can watch.
razorpay_cancel_ subscriptionCancels a subscription.
razorpay_create_ planCreates a billing plan that subscriptions are linked to.
razorpay_create_ subscriptionCreates a subscription against an existing plan.
razorpay_fetch_ plansFetches all plans.
razorpay_fetch_ subscriptionFetches a single subscription by its id (e.g.
razorpay_fetch_ subscriptionsFetches all subscriptions.
razorpay_update_ subscriptionUpdates an existing subscription.
razorpay_capture_ paymentCapture an authorized payment to actually move the funds; uncaptured authorized payments are auto-refunded after the authorization window.
razorpay_fetch_ paymentFetch a single payment by its id (e.g.
razorpay_fetch_ payment_ methodsFetch the payment methods enabled for the merchant account, returning maps of available methods (cards, netbanking banks, wallets, UPI, EMI options, etc.).
razorpay_fetch_ paymentsFetch all payments for the account, returning a collection with item count and entity array.
razorpay_update_ paymentUpdate the notes (key-value metadata) on a payment.
razorpay_create_ payoutCreates a RazorpayX payout that moves money from your RazorpayX account to a recipient's fund account.
razorpay_fetch_ payoutFetches the details of a single payout by its id (e.g.
razorpay_fetch_ payoutsFetches all payouts for a RazorpayX account.
razorpay_accept_ disputeAccept a dispute, acknowledging it as valid.
razorpay_contest_ disputeContest (challenge) a dispute with a summary and supporting evidence.
razorpay_create_ customerCreates a new customer in Razorpay.
razorpay_create_ webhookCreate an account-level (merchant) webhook.
razorpay_fetch_ customerFetches a single customer by its id.
razorpay_fetch_ customersFetches all customers for the account.
razorpay_fetch_ disputeFetch a single dispute by its id.
razorpay_fetch_ disputesFetch all disputes raised against your payments.
razorpay_fetch_ webhooksFetch all account-level (merchant) webhooks.
razorpay_update_ customerUpdates an existing customer identified by customerId.
razorpay_cancel_ invoiceCancels an issued invoice identified by invoiceId, moving it to the cancelled state so it can no longer be paid.
razorpay_close_ virtual_ accountClose (deactivate) a virtual account so it stops accepting further payments; closing is permanent and the receivers can no longer be credited.
razorpay_create_ contactCreate a RazorpayX contact, the entity that a fund account and subsequent payouts reference.
razorpay_create_ fund_ accountCreate a RazorpayX fund account linked to an existing contact via 'contact_id'.
razorpay_create_ invoiceCreates a new invoice.
razorpay_create_ payment_ transferCreate one or more Route transfers from a captured payment, splitting its amount across linked accounts.
razorpay_create_ transferCreate a direct Route transfer from your account balance to a linked account (not tied to any payment).
razorpay_create_ virtual_ accountCreate a virtual account (Smart Collect Customer Identifier) that accepts inbound payments via bank transfer, UPI/VPA, or QR code.
razorpay_fetch_ contactsFetch all RazorpayX contacts, with optional filters.
razorpay_fetch_ invoiceFetches a single invoice by its id (e.g.
razorpay_fetch_ invoicesFetches a list of invoices.
razorpay_fetch_ transfersFetch all Route transfers created by your account.
razorpay_fetch_ virtual_ accountFetch a single virtual account by its id.
razorpay_fetch_ virtual_ accountsFetch all virtual accounts (Customer Identifiers) created on the account.
razorpay_issue_ invoiceIssues a draft invoice, transitioning it from draft to issued and making it payable.
razorpay_create_ orderCreates 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_ orderRetrieves the details of a single order by its id.
razorpay_fetch_ order_ paymentsRetrieves all payments made against a specific order, identified by orderId.
razorpay_fetch_ ordersRetrieves a paginated list of all orders on the account, newest first.
razorpay_update_ orderModifies an existing order identified by orderId.
razorpay_cancel_ payment_ linkCancels a payment link identified by paymentLinkId.
razorpay_close_ qr_ codeCloses an active QR Code identified by qrCodeId so it can no longer accept payments.
razorpay_create_ payment_ linkCreates a new payment link that can be shared with a customer via SMS, email, or WhatsApp to collect a payment.
razorpay_create_ payment_ refundCreates a refund for a captured payment identified by paymentId.
razorpay_create_ qr_ codeCreates a QR Code that customers can scan to pay.
razorpay_fetch_ payment_ linkFetches a single payment link by its id.
razorpay_fetch_ payment_ linksFetches a collection of payment links.
razorpay_fetch_ payment_ refundsRetrieves all refunds issued against a specific payment identified by paymentId.
razorpay_fetch_ qr_ codeRetrieves the details of a single QR Code by its id (e.g.
razorpay_fetch_ qr_ codesRetrieves a list of all QR Codes.
razorpay_fetch_ refundRetrieves the details of a single refund by its refundId (e.g.
razorpay_fetch_ refundsRetrieves all refunds across the account, most recent first.
razorpay_fetch_ settlementRetrieves a single settlement by its id (e.g.
razorpay_fetch_ settlementsRetrieves all settlements for the account.
razorpay_notify_ payment_ linkSends or resends the payment link notification to the customer over a specific medium.
razorpay_cancel_ scheduled_ subscription_ changesCancels any scheduled (pending) changes on a subscription, reverting the queued update so the subscription continues unchanged.
razorpay_create_ accountCreates a sub-merchant account under the partner (Razorpay Partners/Onboarding API, v2).
razorpay_create_ documentCreates/uploads a document to Razorpay (v1 Documents API), returning a document id (doc_*) that can be referenced by other APIs (e.g.
razorpay_create_ stakeholderCreates a stakeholder for a sub-merchant account.
razorpay_create_ subscription_ addonCreates an one-time add-on charge on a subscription, billed alongside the next invoice.
razorpay_create_ subscription_ registration_ linkCreates a subscription registration (authorization) link used to collect the customer's authorization for future recurring charges.
razorpay_delete_ accountDeletes a sub-merchant account by its account id.
razorpay_delete_ addonDeletes an add-on by its id, removing the pending charge before it is billed.
razorpay_delete_ subscription_ offerRemoves (unlinks) an offer that was linked to a subscription.
razorpay_edit_ accountUpdates an existing sub-merchant account identified by accountId.
razorpay_edit_ stakeholderUpdates an existing stakeholder (stakeholderId, sth_*) under a sub-merchant account.
razorpay_fetch_ accountRetrieves the details of a previously created sub-merchant account by its account id.
razorpay_fetch_ account_ documentsFetches the list of documents that have been uploaded for a sub-merchant account.
razorpay_fetch_ account_ productFetches a specific product configuration (productId, acc_prd_*) for a sub-merchant account.
razorpay_fetch_ account_ stakeholdersFetches all stakeholders associated with a sub-merchant account.
razorpay_fetch_ addonFetches a single add-on by its id (e.g.
razorpay_fetch_ addonsFetches all add-ons created across subscriptions.
razorpay_fetch_ documentFetches the metadata of a previously uploaded document by its id.
razorpay_fetch_ planFetches a single plan by its id (e.g.
razorpay_fetch_ product_ tncFetches the latest Terms and Conditions for a given product (productName, e.g.
razorpay_fetch_ stakeholderFetches a single stakeholder by id (sth_*) under a sub-merchant account.
razorpay_fetch_ stakeholder_ documentsFetches the documents uploaded for a specific stakeholder (stakeholderId, sth_*) under a sub-merchant account.
razorpay_fetch_ subscription_ pending_ updateFetches the scheduled (pending) update for a subscription, i.e.
razorpay_pause_ subscriptionPauses an active subscription so no further charges occur until resumed.
razorpay_request_ product_ configurationRequests a product configuration (e.g.
razorpay_resume_ subscriptionResumes a paused subscription so billing continues.
razorpay_update_ account_ productUpdates a product configuration (productId, acc_prd_*) for a sub-merchant account.
razorpay_upload_ account_ documentUploads a KYC/business document for a sub-merchant account.
razorpay_upload_ stakeholder_ documentUploads a KYC document for a stakeholder (stakeholderId, sth_*) under a sub-merchant account.
razorpay_create_ payment_ jsonCreate a server-to-server (S2S) payment via the JSON flow, charging a card/method directly without the standard checkout.
razorpay_create_ recurring_ paymentCreate a server-to-server recurring (subsequent) payment against a saved token / mandate without customer interaction.
razorpay_create_ upi_ paymentCreate a server-to-server UPI payment (collect request or intent) without the standard checkout.
razorpay_fetch_ payment_ bank_ transferFetch the bank transfer details associated with a payment that was made into a virtual account via bank transfer (NEFT/RTGS/IMPS).
razorpay_fetch_ payment_ cardFetch the card details used for a card payment, returning a card entity with masked last4, network, type, issuer, and international flag.
razorpay_fetch_ payment_ downtimeFetch the details of a single payment downtime by its id (e.g.
razorpay_fetch_ payment_ downtimesFetch all current payment downtimes across instruments (e.g.
razorpay_fetch_ payment_ upi_ transferFetch the UPI transfer details associated with a payment made into a virtual account via UPI.
razorpay_generate_ payment_ otpTrigger generation/sending of the OTP for an S2S card payment that is in the authentication step.
razorpay_resend_ payment_ otpRequest a resend of the OTP for an in-flight S2S card payment when the customer did not receive the first one.
razorpay_submit_ payment_ otpSubmit the OTP entered by the customer to complete authentication for an S2S card payment.
razorpay_validate_ vpaValidate a customer's UPI VPA (Virtual Payment Address, e.g.
razorpay_cancel_ payoutCancels a payout that is in the queued state.
razorpay_cancel_ payout_ linkCancels a payout link.
razorpay_create_ fund_ account_ validationCreates a fund account validation to verify a recipient's bank account (penny-testing / penny-drop) before paying out to it.
razorpay_create_ payout_ linkCreates 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_ validationFetches a single fund account validation by its id (prefix fav_, e.g.
razorpay_fetch_ fund_ account_ validationsFetches all fund account validation transactions you have created.
razorpay_fetch_ payout_ linkFetches a single payout link by its id (e.g.
razorpay_fetch_ payout_ linksFetches all payout links.
razorpay_fetch_ transactionFetches a single account transaction by its id (e.g.
razorpay_fetch_ transactionsFetches all transactions on a RazorpayX (current/business) account, covering both credits (incoming bank transfers) and debits (payouts).
razorpay_cancel_ customer_ tokenCancels 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_ webhookPartner API: create a webhook scoped to a sub-merchant account (v2).
razorpay_create_ tokenCreates 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_ webhookPartner API: delete a webhook of a sub-merchant account (v2).
razorpay_delete_ customer_ tokenPermanently deletes a saved token (tokenId, token_xxx) belonging to the given customerId.
razorpay_delete_ tokenDeletes a token using the global tokens endpoint.
razorpay_fetch_ account_ webhookPartner API: fetch a single webhook of a sub-merchant account by id (v2).
razorpay_fetch_ account_ webhooksPartner API: fetch all webhooks for a sub-merchant account (v2).
razorpay_fetch_ customer_ tokenFetches a single saved token by tokenId (token_xxx) for the given customerId.
razorpay_fetch_ customer_ tokensFetches all saved tokens (cards, UPI mandates, emandates, etc.) for the given customerId.
razorpay_fetch_ tokenFetches details of a token using the global tokens endpoint.
razorpay_process_ payment_ alternate_ provider_ tokenProcesses a payment using a token on an alternate payment aggregator or payment gateway (service provider token transactional data).
razorpay_update_ account_ webhookPartner API: update a webhook of a sub-merchant account (v2, PATCH).
razorpay_update_ webhookUpdate an existing account-level (merchant) webhook (full update via PUT).
razorpay_create_ itemCreates a reusable item (a named priced line entity) that can be attached to invoices and payment links.
razorpay_delete_ itemDeletes the item identified by itemId.
razorpay_fetch_ business_ iinsLists IINs filtered by business/eligibility criteria (the SDK's iins.all).
razorpay_fetch_ cardFetches the details of a card by its card id (e.g.
razorpay_fetch_ iinFetches 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_ itemFetches the details of a single item by its id (e.g.
razorpay_fetch_ itemsFetches a collection of all items created on the account.
razorpay_request_ card_ referenceRequests 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_ itemUpdates an existing item identified by itemId.
razorpay_activate_ fund_ accountActivate or deactivate a RazorpayX fund account by id.
razorpay_add_ virtual_ account_ allowed_ payerAdd 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_ receiverAdd an additional receiver to an existing virtual account so it can accept payments through more channels (e.g.
razorpay_delete_ invoiceDeletes a draft invoice by invoiceId.
razorpay_delete_ virtual_ account_ allowed_ payerRemove 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_ contactFetch a single RazorpayX contact by its id.
razorpay_fetch_ fund_ accountFetch a single RazorpayX fund account by its id.
razorpay_fetch_ fund_ accountsFetch all RazorpayX fund accounts, optionally filtered by 'contact_id' (to list only one contact's fund accounts) and 'account_type'.
razorpay_fetch_ payment_ transfersFetch all Route transfers created from a specific payment.
razorpay_fetch_ transferFetch a single Route transfer by its id (e.g.
razorpay_fetch_ transfer_ reversalsFetch all reversals for a specific Route transfer.
razorpay_fetch_ virtual_ account_ paymentsFetch payments received into a specific virtual account.
razorpay_notify_ invoiceSends a notification to the customer for an issued invoice over the given medium.
razorpay_reverse_ transferReverse a Route transfer, pulling funds back from the linked account to your account.
razorpay_update_ contactUpdate an existing RazorpayX contact by id.
razorpay_update_ invoiceUpdates an existing invoice identified by invoiceId.
razorpay_update_ transferUpdate an existing Route transfer's settlement hold.
razorpay_update_ order_ fulfillmentUpdates the fulfillment details (e.g.
razorpay_view_ order_ rto_ reviewTriggers the RTO (Return To Origin) risk review for a Magic Checkout order identified by orderId.
razorpay_create_ ondemand_ settlementCreates 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_ settlementRetrieves a single on-demand (instant) settlement by its id (e.g.
razorpay_fetch_ ondemand_ settlementsRetrieves all on-demand (instant) settlements for the account.
razorpay_fetch_ payment_ refundRetrieves a specific refund (refundId) scoped to a specific payment (paymentId).
razorpay_fetch_ qr_ code_ paymentsRetrieves all payments made against a specific QR Code identified by qrCodeId.
razorpay_fetch_ settlement_ recon_ reportRetrieves 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_ linkUpdates an existing payment link identified by paymentLinkId.
razorpay_update_ qr_ codeUpdates the notes (user-defined key-value metadata) on an existing QR Code identified by qrCodeId.
razorpay_update_ refundUpdates the notes (key-value metadata) on an existing refund identified by refundId.
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.
rzp_live_xxxxxxxxxxxxxx••••••••••••3f7aPick read-only for reporting, or full access with approval on writes so a payout, a capture or a permanent virtual account closure waits for a human. Flip the full-catalog toggle to reach modules beyond the default set.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Razorpay credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Show me every dispute opened this month and the payments behind them
razorpay_fetch_disputesok
Then just ask for the work
“Show me every dispute opened this month and the payments behind them”
“Capture every authorized payment from yesterday over ₹5,000”
“Create a ₹999/month plan and start Priya on a subscription for it”
“Which RazorpayX payouts went to contacts I set up this quarter”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Razorpay behind an AI client.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Launch a hosted MCP endpoint for Razorpay, keep tool access under control, and start testing real workflow prompts right away.