Request a payment from a tru user. Works with any merchant — tru-connected apps or external sites. Pass the merchant's tru service_name (e.g. 'quickpic') or a domain/name (e.g. 'example.com'). If the merchant is a tru-connected app, payment flows through tru automatically (Stripe Connect). If not...
AI agents use request_payment to commit financial operations through Tru — usually the final step of a payment, billing, or trading workflow. A call moves real money.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | — | URL of the product or service being purchased (useful for external merchants) |
type | string | — | Charge type: 'one_time' (default) or 'recurring' for subscriptions |
email | string | Yes | Email address of the tru user who will be charged |
action | string | — | The action being performed (e.g. 'purchase products'). Used to evaluate action permission rules. |
currency | string | — | Currency code (default: 'usd') |
interval | string | — | Billing interval for recurring charges: 'month' or 'year' |
merchant | string | Yes | The merchant to pay — a tru app service_name (e.g. 'quickpic') or a domain/company name (e.g. 'example.com', 'Acme Corp'). tru auto-detects if it's a connected |
product_id | string | — | App product ID from discover_products (for tru-connected apps with a product catalog) |
description | string | Yes | What this charge is for (shown to the user) |
amount_cents | integer | Yes | Amount in cents (e.g. 4999 for $49.99) |
payment_mode | string | — | Payment mode for tru-connected apps: 'direct' (default) charges the user's card, 'virtual_card' issues a virtual card |
Parameters from the server's own tool schema.
This tool directly initiates financial transactions on behalf of a user, including one-time payments and recurring subscriptions. Misuse could result in unauthorized charges, making this a Financial category tool with critical severity due to the potential for significant monetary harm and recurring billing obligations.
From the tool's definition 'Request a payment from a tru user', 'The charge goes through the user's app rules: auto-approved if within limits', 'For recurring subscriptions, set type to recurring'
Risk signalsAccepts URL/endpoint input (url) · High parameter count (11 properties)
Attacks that exploit this kind of access
Request a payment from a tru user. Works with any merchant — tru-connected apps or external sites. Pass the merchant's tru service_name (e.g. 'quickpic') or a domain/name (e.g. 'example.com'). If the merchant is a tru-connected app, payment flows through tru automatically (Stripe Connect). If not, tru approves the spend and you complete the purchase with whatever payment method is available. The charge goes through the user's app rules: auto-approved if within limits, left pending for manual approval if escalated, or auto-rejected if denied. For recurring subscriptions, set type to 'recurring' and specify the interval. After approval for non-tru merchants, use report_purchase to close the audit loop. It is categorised as a Financial tool in the Tru MCP Server, which means it involves financial transactions. Block by default and require explicit approval.
request_payment accepts 11 parameters: url, type, email, action, currency, interval, merchant, product_id, description, amount_cents, payment_mode. Required: email, merchant, description, amount_cents. The full parameter table on this page comes from the server's own tool schema.
Register the Tru MCP server in PolicyLayer and add a rule for request_payment: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Tru. Nothing to install.
request_payment is a Financial tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the request_payment rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for request_payment. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
request_payment is provided by the Tru MCP server (tru-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →