---
ref: tool:paddle/create-transaction
name: Create a transaction
company: company:paddle
workflows: []
access: [mcp, api]
tags: [capability:collect-payments, category:payments, has:api, has:mcp]
docs: https://developer.paddle.com/api-reference/transactions/create-transaction
updated: 2026-09-27
---

# Create a transaction

Creates a transaction for the catalog prices or one-off items you pass and returns it with a checkout URL for collecting payment.

Note: Adding `customer_id` and `address_id` makes it `ready`, and completing it creates the related subscription. Over MCP, a live OAuth connection needs write access first.

## Set up

Use the first option your agent supports.

### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "paddle": { "url": "https://mcp.paddle.com/mcp" } } }
```

Call the MCP tool `execute` with `POST /transactions`.

Server URL: https://mcp.paddle.com/mcp

### API (official)

- Base URL: https://api.paddle.com
- Endpoint: `POST /transactions`
- Auth: send the header `Authorization: Bearer $PADDLE_API_KEY`
- Get a key: https://vendors.paddle.com/authentication-v2
- Docs: https://developer.paddle.com/api-reference/about

Before anything else, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
