> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://natural.ferndocs.com/guides/request-payment/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://natural.ferndocs.com/_mcp/server. # Request a payment Payment requests let you collect money from counterparties by generating a hosted payment link. The recipient receives the link by email or SMS and can pay directly — no Natural account required upfront. ## Create a payment request **`MCP`** ```text title="MCP" Request $1,000 from bruce@property.co for January rent management fees. ``` **`Python`** ```python title="Python" import os from natural import NaturalClient client = NaturalClient(token=os.environ["NATURAL_API_TOKEN"]) request = client.payment_requests.create( idempotency_key="req-jan-rent-fees", data={ "attributes": { "amount": 100_000, "currency": "USD", "description": "January rent management fees", "payer": {"type": "email", "value": "bruce@property.co"}, } }, ) ``` **`TypeScript`** ```typescript title="TypeScript" import { NaturalClient } from "@natural-co/sdk"; const client = new NaturalClient({ token: process.env.NATURAL_API_TOKEN }); const request = await client.paymentRequests.create({ idempotencyKey: "req-jan-rent-fees", data: { attributes: { amount: 100_000, currency: "USD", description: "January rent management fees", payer: { type: "email", value: "bruce@property.co" }, }, }, }); ``` **`CLI`** ```bash title="CLI" natural-api payment-requests create \ --idempotency-key "req-jan-rent-fees" \ --x-agent-i-d agt_019cd1798d637a4da75dce386343931d \ --x-instance-i-d "$(uuidgen)" \ --json '{"data":{"attributes":{"amount":100000,"currency":"USD","description":"January rent management fees","payer":{"type":"email","value":"bruce@property.co"}}}}' ``` **`cURL`** ```bash title="cURL" curl -X POST https://api.natural.co/payment-requests \ -H "Authorization: Bearer $NATURAL_API_TOKEN" \ -H "X-Agent-ID: agt_019cd1798d637a4da75dce386343931d" \ -H "X-Instance-ID: $(uuidgen)" \ -H "Idempotency-Key: req-jan-rent-fees" \ -H "Content-Type: application/json" \ -d '{ "data": { "attributes": { "amount": 100000, "currency": "USD", "description": "January rent management fees", "payer": {"type": "email", "value": "bruce@property.co"} } } }' ``` ## What happens next 1. Natural generates a hosted payment page 2. The counterparty receives the link via email or SMS 3. They pay using ACH, credit card, or debit card 4. Funds land in your wallet once the payment clears 5. You receive a webhook notification (if configured) ## Track payment requests **`MCP`** ```text title="MCP" List my outgoing payment requests. ``` **`Python`** ```python title="Python" requests = client.payment_requests.list() ``` **`TypeScript`** ```typescript title="TypeScript" const requests = await client.paymentRequests.list(); ``` **`CLI`** ```bash title="CLI" natural-api payment-requests list ``` **`cURL`** ```bash title="cURL" curl https://api.natural.co/payment-requests \ -H "Authorization: Bearer $NATURAL_API_TOKEN" ``` ## Next steps * [Create a payment](/guides/create-payment) — send money end to end * [Webhooks](/guides/webhooks) — receive real-time event notifications > Collect money with a hosted payment link