/// Gateway · Payments

Cards and stablecoins. One checkout.

A worked example runs through the whole page — Arc Studio SRL, order 9F21-0716, €49.00. The customer chooses card, Apple Pay, Google Pay, USDC, or bank transfer, and the merchant's side of the story is identical either way: one reference, one receipt, one euro amount.

5
Methods, one page
USDC
Settles to EUR
1
Reference end to end
3-DS
Under a policy you set
/// Assurances

The parts a buyer checks first.

  • PCI-scoped hosted page
  • 3-D Secure 2.0 / PSD2 SCA
  • Card data never reaches your servers
  • Encrypted at rest, processed in the EU
  • Signed webhooks with replay protection
  • Idempotent order API
  • Reason-required actions, fully audited
  • Role-based access
/// 01

A card provider here, a wallet SDK there

Method fragmentation is the merchant's problem, and it compounds: a card processor with its own dashboard, a wallet SDK with its own release cycle, a crypto option that lives on a different page and reconciles nowhere. Every method added is another integration, another set of reports, another place a payment can go missing. Gateway collapses that into one page and one record.

  • [ 01 ]One integration instead of one per method
  • [ 02 ]One dashboard instead of a tab per provider
  • [ 03 ]One reference to reconcile instead of a matching exercise
/// 02

One page, every method

Cards, Apple Pay, Google Pay, USDC, bank transfer, and the local methods your buyers expect sit on the same hosted page, ordered by what the customer in front of it is likely to use. The page adapts to desktop, phone, and in-app; accepting a new method is a toggle, not a project.

  • [ 01 ]Methods presented by country, language, and device
  • [ 02 ]Responsive by default — the same URL anywhere
  • [ 03 ]New methods arrive as a switch, not a release
/// 03

Crypto without the crypto risk

USDC is priced at a rate shown on the page before the customer confirms, settles to euros, and lands in the same payout as the card takings. You never hold a token position, you never open a treasury function, and your accountant never sees a second currency. The receipt states the conversion in one line — the customer paid crypto; the books say €49.00.

  • [ 01 ]Rate shown before the customer confirms, printed on the receipt
  • [ 02 ]Ethereum, Base, and Solana behind a single toggle
  • [ 03 ]Settles to EUR into the same payout as everything else
/// 04

The order is the unit

Everything hangs off the order rather than the payment method. Order 9F21-0716 carries its line items, its €0.50 processing fee, its total, its authorization result, its receipt, and its refunds. That is why reconciliation is a lookup, a dispute is one screen, and a refund points at an order instead of at a card or a wallet or a chain.

  • [ 01 ]One reference from checkout to receipt to bank line
  • [ 02 ]Disputes answered from the record, not from memory
  • [ 03 ]Refunds unwound over whichever rail was used
/// 05

Repeat customers pay in one tap

Cards are vaulted on our side and referenced by token, so a returning customer pays in a tap and your systems store a reference rather than a card number. Subscriptions run on the schedule you define against that token, retry their own soft declines, and follow the cardholder through reissues — each cycle producing its own order and its own receipt.

/// 06

Approved more often, refused more clearly

Card traffic follows a routing policy written in terms you recognise, retries a soft decline on an alternative route before the customer sees a failure, and steps up to 3-D Secure when the policy calls for it rather than by default. When a payment is genuinely refused, the reason arrives in language an operator can act on instead of a raw issuer code.

/// 07

Yours, down to the domain

Upload a logo, set the colors, type, and corners, and preview the real checkout before saving. Run it on our domain, on yours, or inside your own app — with a powered-by footer or fully whitelabeled. The demo checkout belongs to Arc Studio SRL, and it reads as theirs.

/// Methods

What the customer picks, what you receive.

Every method the checkout presents, the rails behind it, and the currency it lands in. The right-hand column is the point: whatever the customer chooses, the merchant's payout is one euro figure.

Method
Rails behind it
You receive
CardsVisa, Mastercard, and co-badged schemes
Acquiring with 3-D Secure 2.0
EUR
Apple PayOne-tap sheet on the same page
Device token — the PAN never reaches the page
EUR
Google PayOne-tap sheet on the same page
Device token — the PAN never reaches the page
EUR
USDCPriced before the customer confirms
Ethereum, Base, Solana
EUR
Bank transferSelf-identifying by construction
SEPA to a per-order vIBAN reference
EUR
Local methodsShown by the customer's country
Account-to-account and domestic schemes
EUR
Buy now, pay laterThe customer splits it; you are paid once
BNPL provider on the same method row
EUR
Saved cardReturning customers, one tap
Network token, survives reissues
EUR
/// Integration

Five ways in.

[ 01 ]

Order API + hosted page

Create an order with an idempotency key, redirect to the hosted checkout, receive a signed result. The whole integration is a handful of endpoints and one webhook.

[ 02 ]

Payment links

No integration at all — create a link in the back office, single-use or collecting, send it. The payments land in the same place as the API ones.

[ 03 ]

Mobile SDKs

iOS and Android present the same checkout natively, keeping the customer inside your app through wallet sheets and 3-D Secure.

[ 04 ]

Store plugins

Connect an existing storefront without a developer: install, paste the keys, take a test payment with a sandbox card.

[ 05 ]

Embedded fields

Keep your own layout and embed the payment inputs. They stay hosted and PCI-scoped on our side, so card data still never touches your servers.

/// Integration

Order to payout, six steps.

  1. [ 01 ]

    CREATE

    Your backend creates an order by API: amount, currency, your reference.

  2. [ 02 ]

    PAY

    The customer picks card, wallet, or USDC on the hosted page.

  3. [ 03 ]

    AUTHORIZE

    Funds are verified and held; 3-D Secure steps in only when policy demands it.

  4. [ 04 ]

    CAPTURE

    The charge completes and queues for settlement.

  5. [ 05 ]

    NOTIFY

    A signed order.paid webhook arrives; verify the signature and fulfill.

  6. [ 06 ]

    SETTLE

    The day's orders batch and pay out in EUR — one reference from checkout to bank line.

/// Features
One page, four methods — the order on the left, the choice on the right.
/// 01

Every method on one page

The hosted checkout puts cards, Apple Pay, Google Pay, and USDC side by side. Order 9F21-0716 sits on the left — three line items, a €0.50 processing fee, €49.00 due — and the method choice on the right. The customer picks; the page adapts; the merchant integrated once.

  • [ 01 ]Card, USDC, and wallet buttons on the same screen
  • [ 02 ]The full order — items, fees, total — beside the payment form
  • [ 03 ]One Pay €49.00 action regardless of method
Same URL on a phone — the layout reflows, the integration doesn't.
/// 02

Mobile from the same URL

The same checkout URL reflows into a phone layout: the order folds into a summary bar, the method buttons stay put, the card form keeps its labels. What ships on desktop ships on mobile — and when you want the payment to happen inside your own app instead of a browser, the iOS and Android SDKs present the same checkout natively against the same order.

Paid €49.00 — method, rate, and reference in five lines.
/// 03

Receipts that explain themselves

Paying with USDC ends in a receipt the merchant's accountant can read. Method: USDC →︎ EUR settlement, at the rate printed on the receipt. Reference 9F21-0716, e-mailed to the customer and downloadable on the spot. The customer paid crypto; the books say €49.00.

Eight links, one desk — status per row, €2,304.50 this month on top.
/// 04

Payment links get a real desk: 8 links for Arc Studio SRL across paid, active, and expired, with the amount, payment count, and status on every row. The cards above keep score — 4 active links, €2,304.50 collected this month across 18 link payments, €49.00 paid today. Create, search, export, done.

  • [ 01 ]Every link with its URL, amount, and status
  • [ 02 ]Collected-this-month and paid-today at the top
  • [ 03 ]Create a link in the same view you track them
Refunding 9F21-0716 — one target, reason required, original route unwound.
/// 05

Refunds against the order

A refund points at the order, not at a payment method. The drawer opens on 9F21-0716 with the amount preset to the full €49.00, a required reason, and an optional note that lands in exports and on the customer's receipt. Funds travel back over the original payment rail automatically — card refunds to the card, USDC orders as their EUR settlement — typically in 1–3 business days.

  • [ 01 ]Full or partial — any amount up to the original charge
  • [ 02 ]Reason required, note carried to the receipt
  • [ 03 ]The original route unwound automatically, either rail
Logo, colors, type, corners — previewed on the real checkout before saving.
/// 06

Your checkout, visibly yours

Branding is a settings page, not a services engagement: upload a logo, set accent, ink, and surface colors, pick the typeface and corner style. The live preview renders your actual checkout — desktop or mobile — before you save, and the accent drives the pay button focus, status ticks, and active tab. Run it on the checkout host issued with your sandbox, or on your own domain.

Methods on a switch — settlement to EUR and routing policy on the same screen.
/// 07

Methods you switch, not build

Payment methods are toggles with providers behind them: cards with 3-D Secure, Apple Pay and Google Pay as wallet buttons, USDC across Ethereum, Base, and Solana, SEPA bank transfer by vIBAN reference. Beside them, the settlement panel states the deal plainly: customers see the conversion before they confirm; you always settle in EUR.

  • [ 01 ]Per-method toggles with the provider named on the row
  • [ 02 ]USDC settlement: auto-convert, daily payout at 23:00
  • [ 03 ]Card routing with 3-D Secure policy visible
/// And more

Drop-in integration

Create an order, redirect to the hosted page, receive the result. Gateway carries the payment UI, the method logic, and the receipts. There is no checkout frontend for your team to build, patch, or keep current as methods change.

The order is the unit

Everything hangs off the order, not the payment method. Order 9F21-0716 carries its line items — a €38.50 brand identity sprint, €6.00 typeface licensing, €4.00 rush delivery — a €0.50 processing fee, and one total. However it gets paid, that reference is what you query, reconcile, and refund against.

Config that can't surprise a session

Method and branding changes apply to new checkout sessions — stated on the screen where you save them. A customer mid-payment never has the page change under their hands.

Cards, done properly

The card path is the boring part, handled: inline validation, 3-D Secure with strong customer authentication built into the flow under a readable routing policy, and per-sandbox test cards for integration runs. Accepting crypto never makes the card flow worse.

Apple Pay and Google Pay

The wallets are buttons, not projects. Apple Pay and Google Pay render as one-tap sheets on the same page and pay with device tokens — the real card number never reaches the page — through the same order and the same receipt. Enabling them is a toggle on the methods screen.

USDC settled to EUR

Crypto is priced at a rate shown at checkout and settles to euros. The merchant never ends up holding a token position by accident; the books stay in one currency.

USDC on three networks

The USDC method spans Ethereum, Base, and Solana behind a single toggle. The customer pays on the network their wallet lives on; the merchant's side does not change.

Bank transfer by vIBAN

Pay-by-transfer carries a vIBAN reference, so an incoming SEPA payment identifies its order by construction. Turn it on for the customers who want an invoice they can pay from a bank, and reconciliation stays automatic.

Local methods where they matter

Beyond cards and wallets, the checkout carries the account-to-account and local methods a European buyer expects to see, presented by the customer's country rather than dumped in one long list.

Buy now, pay later

BNPL sits on the same method row as everything else — the customer splits the payment, the merchant is paid once, and the order reference does not change. One toggle, same receipt, same reconciliation.

Methods that read the customer

The page orders methods by what the customer is likely to use — country, language, device, and whether they have paid you before — so the relevant option is the first one, not the fourth.

Priced in their currency, settled in yours

Show the amount in the customer's currency with the conversion stated before they confirm, and settle to EUR regardless. The customer sees a familiar number; your ledger keeps one.

A checkout in their language

The hosted page localizes its labels, errors, and receipts. Nobody abandons a payment because the button was in the wrong language.

Saved cards and one-click

A returning customer pays with a stored card in one tap. The card is vaulted on our side and referenced by token, so your systems store a reference, never a PAN — and the second purchase is shorter than the first.

Subscriptions and recurring billing

Recurring charges run on a schedule you define — amount, interval, start and end — against a tokenized card. Each cycle produces its own order and its own receipt, so a subscription reconciles line by line like everything else.

Retries that recover revenue

A soft decline on a recurring charge is retried on a schedule rather than written off, and the customer is only told about it when it matters. Failed renewals stop being silent churn.

Network tokens and card updates

Stored cards are held as network tokens and follow the cardholder through reissues and expiries. The subscription that used to break when a card was replaced keeps charging.

An API and a developers surface

Orders are created by API with idempotency keys — a retried request returns the original result, never a second charge — and the developers section carries the keys and the docs. The checkout is hosted; the integration is a handful of endpoints, documented where the settings live.

Webhooks on the order lifecycle

Your backend hears about payments the moment they happen: signed webhook events on the order lifecycle — paid, failed, refunded — with signature verification on your side and replay protection on ours.

Mobile SDKs for iOS and Android

Native apps present the same checkout in-app rather than kicking the user into a browser. The SDK carries the method logic, the wallet sheets, and 3-D Secure; the order and the receipt are the ones your backend already knows about.

Plugins for the platform you already run

Shopping-cart plugins connect an existing store to Gateway without a developer — install, paste the keys, take a test payment. The same orders land in the same back office as the API ones.

Embedded fields on your own page

When the payment has to happen inside your own layout, embed the payment fields directly: the inputs are hosted and PCI-scoped on our side, the page around them is entirely yours, and card data never touches your servers.

Single-use, multi-use, expiry

A link can close after one payment or keep collecting — the demo's workshop seat has taken 3 payments, the consultation hour 6. Links auto-expire after 30 days by default, and expired links say so instead of failing quietly.

Test mode

Integration runs happen against test sessions with the cards issued alongside your sandbox keys, before anything real moves. The flows are identical, so what passes in test is what ships.

Routing you can read

Card traffic follows a routing policy written in terms you recognise — card brand, issuing country, currency, amount — rather than a black box. You can see which route a payment took, from the same screen that shows the payment.

A second attempt before a lost sale

A soft decline is retried on an alternative route inside the same checkout session, before the customer sees a failure. Most recovered payments are ones the customer never knew were at risk.

Declines in plain language

Raw issuer codes are translated into reasons an operator can act on — expired card, insufficient funds, issuer risk — and grouped so a pattern across many payments is visible as a pattern.

3-D Secure as policy, not friction

Most payments pass on device and behavioural signals alone; a step-up challenge appears when the policy calls for it. You set the policy — always, risk-based, or exempt where the rules allow — and the hosted page carries the flow.

One line to reconcile

Checkout, receipt, and settlement carry the same order reference. Whoever matches 9F21-0716 finds one €49.00 entry — not a card record in one system and a crypto record in another.

Settlement and payouts

Settlement is stated where you configure it: auto-convert to EUR, settle to RO49 •••• 0421, payout daily at 23:00. The number the accountant sees tomorrow is decided on a screen the merchant can read today.

A payout you can trace back

Every payout opens into the orders that funded it, with fees itemised. The bank line matches a list you can export, so month-end is a lookup rather than an investigation.

Partial refunds

The refund amount is editable up to the original charge — the drawer shows the maximum and treats anything less as a partial. Ten partial refunds against one order still reconcile against one reference.

Refund reasons on the record

Every refund carries a required reason and an optional note, and the note travels: it appears in exports and on the customer's receipt. Six months later, nobody has to remember why order 9F21-0716 was made whole.

Receipt delivery

Receipts are e-mailed to the customer and downloadable on the spot, and refund receipts follow the same path. The merchant never builds a receipt template.

Void before settlement

Cancelling before the day's batch releases the authorization hold and no money moves — no refund, no fee, nothing on the customer's statement to explain.

Risk controls on by default

Card payments run 3-D Secure under a routing policy you can read. Wallet payments carry the device's own authentication, and webhook events are signature-verified before they are trusted.

Rules you write in your own terms

Screening rules read like sentences — amount over X from country Y on a first-time card — and act on them: allow, challenge, or block. Lists of trusted and blocked cards, e-mails, and addresses sit behind the same screen.

Velocity and device signals

Repeated attempts from one card, one device, or one address are caught by rate rules rather than by a person noticing later. The signals are shown on the payment, not buried in a score.

Disputes with the evidence attached

A chargeback opens with the order behind it: authorization result, 3-D Secure outcome, receipt, delivery, refund history. Respond from that screen, and the evidence pack is assembled from the record rather than from memory.

Card data never reaches you

The page collecting card details is ours, PCI-scoped and hosted. Whether the customer pays on our domain, yours, or inside your app, your servers see a token and an order reference — never a card number.

Encrypted at rest, in the EU

Payment data is encrypted at rest and processed in the EU. For a European merchant, where the data lives is an answer, not a footnote.

Every action on the record

Refunds, method changes, branding changes, key rotations — each is written to an audit trail with the operator, the timestamp, and the reason. Privileged actions require a reason before they run.

Roles for the people who need them

Finance sees payouts, support sees orders and issues refunds, developers see keys and logs. Access is granted per role rather than by sharing one login.

A customers directory

Payers accumulate into a customers view — who paid, how often, by what method — so a repeat customer is a record, not a coincidence of matching e-mails in exports.

Search and CSV export

Find a payment by link or reference from the search box; export the current view to CSV when the books need it. The back office assumes an accountant will ask.

The numbers, by day and by method

Volume, approval rate, refunds, and method mix, over the period you choose. Enough to answer where the money went and which method is worth promoting — without exporting anything.

The operator view behind it

Gateway plugs into Protocore Center: the payment-links back office there shows every link with its settlement transfer attached and an open-in-Tracer link for the full trace. Your ops team sees through the checkout down to the ledger.

Whitelabel or powered-by

The demo checkout belongs to Arc Studio SRL: their name, their mark, their order. Run it with a powered-by-Protocore footer or fully whitelabeled — either way, the page reads as yours.

/// In the product
Desktop checkout — every method on one page, order 9F21-0716.
The same checkout on mobile — no separate integration.
The receipt — crypto settled to EUR, stated plainly.
/// FAQ

Questions merchants actually ask.

  • Card payments run in two steps: authorization holds the funds at purchase, settlement moves them. Gateway captures automatically, closes the day's orders into a batch, and pays out in EUR to your named account at the daily payout time set in settings.

  • Timing. Before settlement, cancelling releases the authorization hold and no money moves. After settlement, it's a refund — issued against the order, full or partial, traveling back over the original payment method with the reason on the record.

  • As policy, not friction by default. Most flows pass on device and behavioral data alone; a step-up challenge appears only when the routing policy calls for it. You set the policy — the hosted page carries the flow.

  • Euros. The USDC amount is priced on the page before the customer confirms, settles to EUR at the stated rate, and the receipt records the conversion. Checkout, receipt, and settlement share one order reference — you never hold a token position.

  • The order is your evidence file. Authorization result, receipt, refund history, and webhook delivery all hang off one reference — one lookup answers the dispute, and a refund from the same screen is often the faster resolution.

  • No. Orders are created with idempotency keys, so a retried request returns the original result instead of a second charge — and webhooks are signed with replay protection on the way back.

  • The page that collects card details is ours — hosted and PCI-scoped on our side. Your servers receive a token and an order reference, never a card number. That holds whether the customer pays on our domain, on yours, in your app, or through payment fields embedded in your own layout.

  • Yes. Run it on the checkout host issued with your sandbox, on a domain of your own, or embedded in your page with hosted payment fields. Branding — logo, colors, typeface, corners — is a settings screen with a live preview, and the footer is powered-by or fully whitelabeled as you choose.

  • Cards are vaulted on our side as network tokens; your systems keep a reference. A subscription charges that token on the schedule you set, retries its own soft declines, and follows the cardholder through card reissues. Every cycle creates its own order and receipt, so a subscription reconciles line by line.

  • The amount in their own currency, with the conversion stated before they confirm, and the checkout in their language. You still settle in EUR. The same principle as USDC: the customer's side adapts, your ledger stays in one currency.

  • Your side of it is a euro receivable. Gateway handles the crypto leg — pricing, the on-chain payment, and conversion — and what reaches your account is EUR from a regulated settlement path, recorded on the receipt with the rate applied. You are not custodying tokens, running a wallet, or holding a position, because the conversion happens before settlement rather than after.

  • A payment link works the day you have an account. An API integration is an order endpoint, a redirect, and one signed webhook — most teams have it running in test the same week and switch to live once they've taken a test payment end to end. Store plugins skip the development entirely.

  • Yes — run both. Point new orders at Gateway while the old provider finishes settling and refunding its own, since refunds always travel back over the rail that took the payment. Stored cards migrate as tokens, so your subscribers don't re-enter card details.

  • The order call and the webhook handler. The payment page, the method logic, wallet sheets, 3-D Secure, receipts, and every new method added later are ours to keep current — that is the point of a hosted checkout.

/// Pricing

How the gateway is engaged.

[ 01 ]

Transaction-based

Go live with no platform fee — the gateway earns on the payments it processes, so cost tracks the volume flowing through checkout.

[ 02 ]

Standalone license

Run checkout under your own brand on a license scoped to the rails you enable and the throughput you plan for.

[ 03 ]

Whitelabel

Your brand on the payment page, our rails underneath, operated for you — scope follows the payment methods you turn on.

Cost tracks the volume moving through checkout and the rails you enable — card, wallet, and USDC settlement. Take it standalone or fully whitelabeled.

/// Evaluate

Take a test payment today.

[ 01 ]

Guided checkout walkthrough

We run the worked example with you — Arc Studio SRL, order 9F21-0716 — paying by card, wallet, and USDC, and show the merchant back office behind it.

[ 02 ]

Sandbox merchant account

A test merchant with API keys, so your team can create orders, run the hosted checkout, and receive signed results end to end.

[ 03 ]

API access, webhooks, and docs

The order API, the order.paid webhook, and the integration guide — everything needed to point a checkout at Gateway rather than build one.

[ 04 ]

Branded checkout preview

The hosted page under your logo, colors, and type, so you can see your own checkout before going live.

Availability

Runs standalone or whitelabel — your brand on the checkout, our rails underneath.

In the ecosystem

PoS shares Gateway's order model at the counter, vIBAN gives its bank-transfer orders self-identifying references, Chain settles its USDC payments to EUR, Center is the operator console behind the checkout, and Agents applies the same order model to payments initiated by software under human policy.

Pick a product. Or take the core.

Everything above runs in production demos we can walk you through — standalone, whitelabel, or as one platform. Tell us what you're building and we'll show you the shortest path to it.

Contact us