oshaani MCP Marketplace
Sign in

← Documentation

PayU MCP Payments

Verify payments, list transactions, refunds and settlements, and create payment links on your PayU India account.

1 credits / tool call

Quick start

  1. Add a PayU connection with the settings below, then click Test configuration.
  2. Create an API key for your agent.
  3. Paste the key below, click Test endpoint, and copy the configuration for your platform.
Endpointhttps://market.oshaani.com/payu (your default connection) or https://market.oshaani.com/payu/<connection-id>
TransportStreamable HTTP (stateless, JSON responses). MCP protocol versions 2024-11-05 to 2025-11-25 and 2026-07-28.
AuthenticationAuthorization: Bearer <API key>, using a key from the API keys page.

Agent configuration

The default URL uses your organisation's default PayU connection; a URL with an ID pins one connection.
Get a key
The key is filled into the snippets below. It stays in this page and is only sent with the test request.
Runs initialize and tools/list against the endpoint, exactly like an agent. No credits are charged.

Any MCP client that supports remote (Streamable HTTP) servers with custom headers.

{
  "name": "payu",
  "transport": "streamable-http",
  "url": "https://market.oshaani.com/payu",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY"
  }
}

Connection settings

Entered once per connection on market.oshaani.com. Secrets are encrypted and never shown again or sent to agents.

SettingTypeDescription
Merchant key
merchant_key required
string Your PayU merchant key, shown with the salt in the PayU Dashboard's developer settings
pattern ^[A-Za-z0-9]{4,32}$
Merchant salt
salt required secret
string The salt (v1) paired with the merchant key
Environment
environment
"production" | "test"
default "production"
'test' uses PayU's sandbox (test.payu.in) with test credentials
Allow creating payment links and refunds
allow_write_actions
boolean
default false
Off by default: agents can only read data until this is enabled
Largest refund per call (₹)
max_refund_amount
number | string Refunds above this amount are refused. Leave empty for no limit.
> 0.0

Tools (8)

verify_payment read-only

Get the current status, amount, mode and failure reason of one or more payments by your txnid

ArgumentTypeDescription
txnids required array of string Your transaction IDs (up to 25)

list_transactions read-only

List transactions created between two dates (inclusive, max 31 days), newest first

ArgumentTypeDescription
from_date required string (date) YYYY-MM-DD
to_date string (date) YYYY-MM-DD; defaults to from_date
status string Only this status, e.g. captured, failed, bounced, userCancelled
limit integer
default 50
Maximum transactions to return
min 1, max 200

get_payment_actions read-only

List the capture, refund and cancellation actions on a payment, with refund and settlement status

ArgumentTypeDescription
payu_id required string PayU's transaction ID (mihpayid), e.g. 403993715521937565
pattern ^\d{6,25}$

get_refund_status read-only

Get the status of a refund by the request_id PayU returned when it was created

ArgumentTypeDescription
request_id required string
pattern ^\d{1,25}$

get_settlements read-only

Get settlement details for a settlement date or a bank UTR number

ArgumentTypeDescription
settlement_date_or_utr required string YYYY-MM-DD or the settlement UTR
min length 6, max length 40, pattern ^[\w-]+$
limit integer
default 50

min 1, max 200

refund_payment destructive

Refund a successful payment in full or in part. This moves real money.

ArgumentTypeDescription
txnid required string Your transaction ID (txnid) sent to PayU
min length 1, max length 64, pattern ^[\w\-.~]+$
amount number | string Partial refund in rupees; omit to refund the full amount
refund_token string Unique ID for this refund; reuse it when retrying
max length 23, pattern ^[A-Za-z0-9_-]+$
remarks string
max length 200, pattern ^[A-Za-z0-9 .,()_@!-]*$

Billing & errors

Each successful tool call costs 1 oshaani.com credit. initialize, tools/list, failed calls and timeouts are free.

JSON-RPC codeMeaning
-32054 (HTTP 401)Missing, unknown or revoked API key
-32053 (HTTP 404)No PayU connection configured for your organisation, or the connection ID is wrong
-32055 (HTTP 403)Connection disabled or origin not allowed
-32052 (HTTP 429)Rate limit reached; retry after a minute
-32050Not enough oshaani.com credits for the call
-32051Billing temporarily unavailable; the call was not run

Errors from PayU itself (bad IDs, permissions) come back as tool results with isError: true so the agent can read and correct them. See the PayU API documentation.