Payments and cards for the eurozone.
Accept card payments from 0.9% across the eurozone, and issue euro cards for your business or your customers.
Payment & Card Issuing APIs, SDKs, and an MCP for agents.Quickstart · API reference
from0.9% a payment.
Pay less to accept card payments, with one rate for consumer cards from anywhere in the EEA.
- No monthly fee
- No fixed fee
Per card payment
- 0.9% on Visa and Mastercard consumer cards issued in the EEA
- American Express +0.9%
- Commercial cards +1.5%
- Cards issued outside the EEA, the UK’s included, +1.7%
One surcharge at most on a payment: the dearest that applies. A card issued in Italy is an EEA card to a business in Germany.
Every major card, Apple Pay and Google Pay.
Three ways it pays.
Get paid for less. Spend on cards that pay you back. Run the business on tools that cost nothing a month.
Illustrations. The fee on each payment is our real price list’s arithmetic.
Get paid online, your way.
Take payments by API, checkout, link or subscription, and issue cards to spend them. One balance, one payout.
curl https://api.tuppence.ai/v1/payments \ -H "Authorization: Bearer $TUPPENCE_SECRET_KEY" \ -H "Idempotency-Key: order-1042" \ -H "Content-Type: application/json" \ -d '{"amount": 2000, "currency": "eur"}' # approval_url: our hosted page. client_secret: your own.
// A virtual card, up to €500 a month. const card = await tuppence.cards.create({ limits: { monthly: 50000 }, }); // Reveal it to pay at any checkout. const { number, cvc, exp_month, exp_year } = await tuppence.cards.retrieveDetails(card.id); // Spend €100 on it. const spends = await tuppence.cardTransactions.list({ card: card.id }); spends.data[0].amount; // 10000
import { useEffect, useRef } from "react"; import { loadTuppence } from "@tuppence/js"; export function Checkout({ clientSecret }) { const sheet = useRef(); useEffect(() => { loadTuppence("pk_test_…").then((tuppence) => { // Card, Apple Pay and Google Pay, in your page. sheet.current = tuppence.paymentSheet({ clientSecret }).mount("#pay"); }); return () => sheet.current?.destroy(); }, [clientSecret]); const pay = (e) => { e.preventDefault(); sheet.current.confirm(); }; return ( <form onSubmit={pay}> <div id="pay" /> <button>Pay</button> </form> ); }
const link = await tuppence.paymentLinks.create({ name: "Research report", amount: 2000, // €20.00, in cents }); link.url; // https://pay.tuppence.ai/l/…
// €20 a month, after a 14-day trial. const plan = await tuppence.plans.create({ name: "Pro", amount: 2000, currency: "eur", interval: "month", trial_days: 14, }); await tuppence.subscriptions.create({ customer: "cus_01K…", plan: plan.id, });
- MCP for agents
- SDKs for mobile, Node.js and Python
- Built for the AI era
Euro cards, in one call.
Create a card in one call. Spend within the rules you set.
-
1
Create
A virtual card for your business or one of your agents, or a physical card for a person. Make and manage them by API or in the dashboard.
-
2
Spend
Limits, merchant rules and approvals decide every purchase. View card details in a secure frame, or let your code or an agent read them with a key you allow.
-
3
Top up
Fund the cards by SEPA transfer to an IBAN of their own. It arrives in about a day.
Payments and cards for your platform.
One account. Every tool.
The software your business runs on, on the same balance as your payments. No monthly fee.
Your own shop. No monthly fee.
BookingsDeposits up front.
Spend and expense managementTeam cards with limits you set.
Every tool lands in the same place.
Included with every account.
Payouts
Standard payouts are free, with T+3 settlement (T+7 in your first week).
Refunds and disputes
Full or partial refunds. Dispute evidence drafted for you, and a €15 fee only if you lose.
Your team
Roles, two-factor sign-in and an audit log.
Alerts
Disputes, failed payouts and leaked keys, by email, push or Slack.
Card payments from 0.9%, paid out by SEPA.
Tuppence is coming to the eurozone. Join the waitlist, and we’ll email you once, when it opens.