Developers

An accelerated checkout, a few lines in

A clean SDK, predictable webhooks and one-tap return built into the component. Mount the payment screen, pass an amount, and saved methods, wallets, retries and 3-D Secure are handled for you. You never touch raw card data.

Built for builders

Less plumbing, more shipping

One SDK, clear types

Typed SDKs for the stacks you use, with sensible defaults so the happy path is a handful of lines and the edge cases are documented, not guessed.

Predictable webhooks

Signed, idempotent webhook events for every payment, retry and payout, with retries on our side so a blip on yours never loses an event.

Test mode that mirrors live

A full sandbox with test cards, forced declines and simulated retries, so you can prove every flow before a real euro moves.

Three small pieces

Server, client, webhook

// create a payment intent
const pay = await lk.payments.create({
  amount: 6400, currency: 'eur',
  customer: 'cus_lea', one_click: true
})
return { token: pay.token }
// render on your page
const lk = Linkapay('pk_live_…')
lk.mount('#pay', token, {
  onPaid: (o) => location.assign('/thanks')
})
// verify and handle the event
const evt = lk.webhooks.verify(body, sig)
if (evt.type === 'payment.succeeded') {
  fulfil(evt.data.order)
}

Readable docs

Copy-paste examples for every endpoint.

Versioned API

Pinned versions; nothing breaks under you.

Idempotent

Safe retries with idempotency keys.

Plugins

Drop-in connectors for common platforms.

Ship the checkout this week

Grab test keys, build against the sandbox, and go live when you are ready. Tell us what you are building and we will help you wire it up.