Developers A localized checkout in a few lines

Ship a checkout that localizes itself.

Pass the order and one line of intent. Trypayhub decides the currency, the local methods and the language from the shopper's country, runs SCA where it is required, and tells your backend what happened over signed webhooks. Embed it, or hand off a hosted page.

REST API Server SDKs Signed webhooks
200 OKsession created
country: autocurrency + methods resolved
checkout.js — sandbox 123 456 789 import Trypayhub from 'trypayhub' const session = await Trypayhub.checkout.create({ amount: 12000, // minor units country: 'auto', // detect the shopper currency: 'auto', // local presentment locale: 'auto' // translate the flow }) Trypayhub.mount(session, '#pay')
Drop it in

Four ways to integrate, one behaviour

However you wire it up, the checkout localizes itself. Pick the integration that fits your stack — the currency, methods and language logic is identical underneath.

Embedded element

Mount the checkout into a div with a couple of lines. It inherits your colours, fonts and radius, so it reads as part of your store while staying PCI-scoped on our side.

Client SDK

Hosted checkout link

Create a session on your server and redirect the shopper to an Trypayhub-hosted page. Zero front-end work, and the shopper still lands on a localized, translated checkout.

Redirect

Server SDKs

Official libraries for Node.js, Python, Ruby, PHP, Go and Java wrap the REST API, sign requests and type the responses, so creating a session is a single typed call.

6 languages

Sandbox keys

Every account ships with test keys and a full sandbox. Spin up sessions for any market, simulate SCA and watch the same webhooks fire, all without moving a cent.

Free to test

One clean REST API

Predictable resources, idempotency keys on every write and clear error codes. The same endpoints power the SDKs, the embedded element and the hosted page.

REST + JSON

Webhooks & events

Your backend learns the truth from signed events, not from the browser. Verify the signature, react to the outcome and keep your order state in sync.

Signed
From keys to live

Four steps to a localized checkout

Most teams go from a fresh key to a working sandbox checkout in an afternoon, then flip to live keys when they are ready.

Get your keys

Grab a publishable key for the front end and a secret key for your server from the dashboard. Test and live keys are clearly separated so you never mix environments.

Test + live, kept apart

Add the snippet

Create a session on your server, then mount the element or redirect to the hosted page. That is the whole front-end change — no per-country branching in your code.

A few lines

Set markets & rates

Choose which currencies and local methods to present, pin or hide methods per market, and set your FX rates and rounding — all from the dashboard or the API.

Config, not code

Go live

Swap the test keys for live keys, point your webhook endpoint at production and start taking real, localized payments. Nothing else in your integration changes.

Flip the keys
One line of intent

Stay hands-off — Trypayhub handles the rest

Set country, currency and locale to auto and the API resolves them from the shopper before the first paint. The response tells you exactly what was decided, so your backend and your analytics stay in step with what the shopper actually saw.

  • Currency is converted at your rate and rounded to local convention.
  • Methods are ordered for the market — iDEAL, Pix, BLIK first, cards always.
  • Locale renders every label and error in the shopper's language.
REQUEST POST /v1/checkout/sessions { "country": "auto", "amount": 12000 } RESPONSE 200 OK { "resolved_country": "NL", "currency": "EUR", "locale": "nl-NL", "methods": ["ideal", "card"], "display_total": "€ 120,00" }
Webhooks & events

Your backend hears it first-hand

Never trust the browser for the outcome. Subscribe to signed events, verify the signature, and drive your order state from what really happened at the checkout.

Event When it fires What you do
payment.succeeded The shopper completed payment and funds are confirmed. Mark the order paid and start fulfilment.
payment.requires_action SCA / 3-D Secure is needed before the payment can clear. Wait for the next event; the checkout handles the challenge.
payment.failed The method declined or the shopper abandoned the challenge. Keep the cart open and let them retry another method.
refund.created A refund was issued against a captured payment. Update the order and your ledger to match.
session.expired A checkout session timed out before completion. Release any held inventory and clean up state.

Every delivery is signed and retried with backoff until your endpoint returns a 2xx. Replay any event from the dashboard while you build.

Testing in sandbox

Rehearse every market before you go live

The sandbox mirrors production, including local methods and SCA. Use deterministic test scenarios to prove each market behaves before a real shopper ever sees it.

Netherlands · iDEAL

Force country to NL and watch the session resolve to EUR with iDEAL first. Approve or decline the simulated bank step to test both branches of your handler.

EUR · iDEAL

Brazil · Pix

Resolve to BRL and confirm Pix and Boleto appear, with cards in instalments below. A test scenario can settle the Pix instantly or leave it pending.

BRL · Pix

Germany · SCA

Trigger a 3-D Secure challenge on a card payment to see payment.requires_action fire, then complete or fail the challenge to test the follow-up event.

EUR · 3-D Secure

Poland · BLIK

Switch to PLN and present BLIK first. Use a test code to approve or time out the payment and confirm your retry path keeps the cart intact.

PLN · BLIK

Mexico · OXXO

Resolve to MXN with cards in months without interest, SPEI and OXXO. Simulate a voucher that is paid later to test asynchronous settlement.

MXN · OXXO

Replay any event

Re-send any webhook to your endpoint from the dashboard to debug your handler, and inspect the exact signed payload that was delivered.

Debug tools
6
official server SDKs
58
local methods, one API
135+
currencies resolved automatically
99.99%
target API uptime

Figures describe the platform's coverage and uptime target; they are illustrative, not a service guarantee.

Build it today in the sandbox

Get test keys, create your first localized session and watch the webhooks fire — all before you talk to anyone. When you are ready for live keys, our team is one message away.