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.
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 SDKHosted 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.
RedirectServer 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 languagesSandbox 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 testOne 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 + JSONWebhooks & 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.
SignedFour 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 apartAdd 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 linesSet 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 codeGo 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 keysStay 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.
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.
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 · iDEALBrazil · 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 · PixGermany · 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 SecurePoland · 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 · BLIKMexico · 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 · OXXOReplay 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 toolsFigures 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.