Skip to content

Quickstart

  1. Get a test keyDevelopers → API keys
  2. Create a linkPOST /v1/payment_links
  3. Pay itCard 4242 4242 4242 4242

Every account starts with a test key pair, under Developers → API keys at app.tuppence.ai. Test mode moves no money. When you’re signed in, the examples on these pages use your keys.

Terminal window
export TUPPENCE_SECRET_KEY=sk_test_…
Terminal window
curl -sS https://api.tuppence.ai/v1/payment_links \
-H "Authorization: Bearer $TUPPENCE_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"name": "Research report", "amount": 2000, "currency": "gbp"}'
Terminal window
curl -sS https://api.tuppence.ai/v1/payment_links \
-H "Authorization: Bearer $TUPPENCE_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"name": "Research report", "amount": 2000, "currency": "usd"}'
Terminal window
curl -sS https://api.tuppence.ai/v1/payment_links \
-H "Authorization: Bearer $TUPPENCE_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"name": "Research report", "amount": 2000, "currency": "eur"}'

The response includes a url. For a link, that’s the whole integration.

Open the url and pay with a test card, any future expiry date and any CVC:

CardResult
4242 4242 4242 4242Succeeds (US Visa)
4000 0582 6000 0005Succeeds (UK Visa)
4000 0000 0000 0002Declined

The payment appears in your dashboard immediately, and the link’s payments_count goes up.

Build it with Claude or Codex

Give your coding agent Tuppence's rules and recipes. It can then add checkout, subscriptions and webhooks to your app, and create payment links through our MCP server.

Install it as a skill. Claude uses it whenever you ask about payments, in any project.

Terminal window
mkdir -p ~/.claude/skills/tuppence && curl -fsSL https://tuppence.ai/skill.md -o ~/.claude/skills/tuppence/SKILL.md

A link is the fastest way to start. Other options:

To…Use
Charge on a page we host, from your own flowPayments → approval_url
Keep the payer in your own checkoutPayments + @tuppence/js
Charge every monthSubscriptions
Pull from a UK bank accountDirect Debit (UK businesses only; US bank debits come later) (SEPA Direct Debit in Europe, by application)
Take bookings with depositsBookings
Charge per API callHTTP 402
Take payments in personPoint of sale
Take payments for other businessesConnect

Not sure which fits? See Use cases.

Docs assistant

Open as a page
Loading the assistant…