Any device is now a payment terminal.
Commerce moved to software — but taking payments in person still means buying hardware, wiring up acquirers, and a year of certification. Tapaya puts the whole in-store payments stack in one SDK, so your product accepts tap-to-pay on any phone, tablet, or kiosk — under your own brand.
In-person payments are ~6× bigger than online — and now they fit in a few lines of code.
Backed by



- €1M pre-seed
In-person payments are brutally hard to build
In-person payments are roughly 6× bigger than online — yet the tooling for software builders never caught up. Doing it yourself still means hardware, acquirers, and a year of certification.
A year-plus to certify
Card-network and device certification drags on — and hundreds of thousands of euros — before a single tap goes through.
- Acquirer contractsweeks
- KYB & onboardingweeks
- PCI DSS audit~2 mo
- Network certification6–9 mo
- Device certification3–6 mo
- Re-certify per marketagain
18–24months
+ hundreds of thousands of € — before a single tap goes through.
A new maze each market
A different acquirer, scheme, and compliance regime in every country — rebuilt and re-certified as you expand.
Tapaya collapses all of it into one SDK
Networks, acquirers, compliance and certification — pre-integrated. You ship product; we run the rails underneath.
See how it worksimport { Tapaya } from "@tapaya/sdk";
await tapaya.payments.start({ amount: 13.50 });Tap to pay · €13.50
Approved
~30 min to your first in-person payment
Locked to the hardware
Every terminal is a purchase, a logistics chain, and a fleet to maintain — tying your product to one device and one vendor.
€13.50
Months, not minutes
A year-plus of certification before a single live transaction.
Hundreds of thousands €
Hardware, acquirer contracts, and audits — all paid upfront.
A payments team
Engineers maintaining rails and re-certifications, not your product.
One SDK. Any device. Live in 30 minutes.
Accepting payments should be as simple as turning on a light.
Step 1: Sign up & get API keys
Create an account and grab your keys. No hardware to order, no contracts to wait on — start in the sandbox right away.
Step 2: Drop in the SDK
Embed the SDK into your phone, tablet, or kiosk app. Your UI, your brand — customers never see Tapaya.
Step 3: Accept payments
Tap to pay, live. Card networks, acquirer connections, and compliance come pre-integrated underneath.
If it runs Android or iOS, it takes payments.
Any commercial phone, tablet, kiosk or enterprise/ERP device — not locked to one ecosystem or hardware vendor.

PhoneApple & Google devices TabletCountertop POS KioskSelf-serve & unattended ERP / enterprisePurpose-built hardware
Customers never see Tapaya.
The SDK's payment UI is themed to your product, end to end — your brand, your flow, our rails underneath.
Everything handled, under one SDK
The hard, regulated parts of in-person payments — networks, acquirers, compliance, certification — come pre-integrated. You ship product; we run the infrastructure underneath.

Card networks
Accept all major card networks out of the box.
Alternative payment methods
Wallets and local APMs your customers already use.
Account-to-account
Direct A2A payments, settled straight to the bank.
Acquirer connections
Pre-wired acquirer links — no contracts to chase.
Online KYB & onboarding
Verify and activate merchants in a single flow.
PCI & compliance
Security and regulatory obligations handled for you.
Certification
Network and device certification carried by us.
Analytics
Transaction insight and reporting, ready to embed.
Multi-market
One integration that scales across regions.
Stripe-for-in-person — in a few lines of code.
Initialize the SDK, start a payment, done. Sandbox keys, native SDKs, and docs from day one.
- Kotlin
- Swift
- Expo
- Java
- iOS
- Android
github.com/tapayadot/accept-iosimport Accept
// Initialize + authenticate (sandbox)
try await Accept.initialize(demo: true)
try await Accept.authenticate(merchantToken: merchantToken)
// Turn this device into a terminal
let intent = AcceptCardPaymentIntent(
amount: 4250, // €42.50, minor units
requestedCurrency: .eur,
settlementCurrency: .eur
)
let outcome = try await Accept.pay(intent)
switch outcome {
case .completed(let status):
showReceipt(status.paymentToken)
case .canceled:
promptRetry()
}Built for the software companies reinventing commerce
From a single counter to thousands of devices across markets — if your product takes payments in person, Tapaya fits the way you already ship.
- Restaurant & hospitality POS
- Retail
- Field services
- Events & pop-ups
- Marketplaces
- Vertical SaaS
- Banks & fintechs
- Kiosks & ERP
We spent years inside the 18-month certification grind — so you don't have to.
The team has built and certified payment products before. We're focusing on the hardest part — physical payments — so you can ship on top of it.

“We want accepting payments to be as simple as turning on a light.”
Laura Ďorďová, CEO
Recognized by the networks
Winners of awards from both Mastercard and Visa — recognition straight from the card networks themselves.
Built and certified before
The founding team has shipped and certified payment products — we know the maze because we have walked it.
Backed to go deep
€1M pre-seed from Passion Capital, Depo Ventures, and BADideas.fund to focus on the hardest part: physical payments.
Questions, answered
Latest writing
Product updates and field notes from the team building in-store payments infrastructure.
Payments, handled. Now build.
One SDK, your brand, live in ~30 minutes. Tell us what you’re building and we’ll get you started.