Activa · payments infrastructure proposal

One destination. Many operators. Local rails.

Thailand payment landscape & recommendation — 1 Sep 2026 · prepared by Paquito · first customer: 24 BLVD (Bangkok)

Activa's first customer is a Bangkok destination where multiple tenant operators — bars, restaurants, wellness studios — share one property. Payments must cover event tickets, recurring memberships, stored-credit wallets, POS at the counter, and the hard requirement: each operator business gets its own payout. This doc maps the Thai landscape as of September 2026, compares every serious provider on verified fees, and lands on an MVP stack plus a scale path. Every fee below carries a source or an explicit not verified tag; fees quoted exclude Thailand's 7% VAT on gateway fees unless noted.

The five payment jobs

What Activa has to move money for

01Event tickets

One-off charges, spiky nightlife volume, refunds. QR-first at Thai price sensitivity.

02Memberships

Monthly/yearly plans. Needs card-on-file recurring — PromptPay cannot auto-recur.

03Wallet top-ups

Stored credit / loyalty balance spendable across the destination. Regulatory tripwire (see risks).

04F&B POS

Counter payments: dynamic PromptPay QR on screen + card-present via bank EDC terminals.

05Split payouts

The hard requirement. Every tenant operator is its own legal entity and needs its own settlement.

Market reality

Thailand runs on PromptPay

Three structural facts shape every choice below. First: PromptPay QR is the dominant consumer rail — real-time, free for the consumer, and priced to merchants at 0–1.65% depending on channel, versus 3.2–3.65% for cards. Whoever routes local traffic to QR wins the margin war. Second: PromptPay is a push payment — the customer scans and approves each time — so recurring memberships must ride on tokenized cards (or QR re-prompts). Third: anyone who holds other businesses' money in Thailand walks into Bank of Thailand licensing territory under the Payment Systems Act — so the split-settlement design must keep Activa out of the funds flow, or ride a provider's licensed sub-merchant machinery.

Contender 1 of 6

Opn Payments (Omise) — the Thai-native default

Opn Payments Thai-founded gateway (BKK/Tokyo/SG) · publishes full Thai price card · the local developer standard

Primary candidate

Fees & settlement verified

  • Cards 3.65% (Visa/MC/JCB/Amex/UnionPay); PromptPay 1.65%; TrueMoney/ShopeePay 2.65%; mobile banking & direct debit ฿10 flat; WeChat Pay 1.65% — all + 7% VAT on the fee (Opn Thailand pricing page)
  • Transfer fee ฿20/payout (≤฿2M; ฿150 above), no setup or monthly fees
  • Settlement: funds hold ~7 days to transferable balance, then fully customizable auto-payout schedules — daily/weekly/monthly by amount or percentage (Opn docs)

Capabilities

  • Recurring: Schedules API — tokenized card-on-file with scheduled charges, built for memberships verified
  • Split payouts: Account Chaining + Chains API — sub-merchant accounts authorize the platform to charge and transfer on their behalf via chain keys; each sub-merchant is its own registered Opn account with its own bank payout docs — but flagged [beta], enabled by emailing support; commercial terms unpublished confirm
  • Registration: Thai company (DBD affidavit ≤60 days, Bor.Aur.Jor. 3/5, shareholder IDs >25%, Thai bank account matching company name)
  • DX & PCI: clean REST API, official libraries, Omise.js tokenization keeps Activa at SAQ-A-level PCI scope inferred

Read: the only Thai-native provider with a published price card, a real subscriptions API, and a documented sub-merchant model. The 1.65% PromptPay + ฿10 mobile-banking rails map exactly onto tickets and POS. The open question is purely the Account Chaining beta — access and pricing need one email to confirm.

Contender 2 of 6

Stripe — Setpoint parity, Thai constraints

Stripe Thailand GA in Thailand since Oct 2022 · the DX benchmark · what Setpoint already runs

Runner-up

Fees & settlement verified

  • Domestic cards 3.65% + ฿10; international cards 4.75% + ฿10; +2% FX conversion (stripe.com/th/pricing)
  • PromptPay 1.65% (+฿10 per refund)
  • Billing (subscriptions) +0.7% of billing volume; disputes ฿500
  • Payout cadence listed as biweekly/weekly/monthly — no daily payout option shown on the Thai pricing page; slower cash cycle than local rails confirm current schedule

Capabilities

  • Connect IS available in Thailand — but restricted: direct charges only where platform + connected account are both Thai (cards, debit, PromptPay). No separate charges & transfers, no top-ups, no cross-border application fees, sales-team engagement required Stripe support doc
  • Recurring: best-in-class Billing engine; smart retries, card updater
  • Stripe Terminal is NOT available in Thailand — no card-present story for the F&B counters verified
  • Registration: Thai-registered business required for a TH account
  • DX & PCI: the best docs and SDKs in the industry; Elements/Checkout = minimal PCI scope

Read: Connect direct charges (tenant = connected account, Activa takes an application fee) is a legitimate split architecture in Thailand — the model Setpoint already knows. But no Terminal, no daily payouts, restricted Connect modes, and 4.75% on the tourist cards a Bangkok nightlife destination will see plenty of. Strong runner-up; wrong first pick for this venue profile.

Contender 3 of 6

Beam — the price disruptor

Beam Checkout Thai startup (BKK) · BOT-compliant, PCI DSS certified · aggressive transparent pricing

Cost lever

Fees & settlement verified (beamcheckout.com/pricing)

  • Cards 1.80% (domestic, incl. premium); overseas cards 3.25%; Amex 3.5%
  • PromptPay QR "starts from free" — a 0% headline rail
  • E-wallets (TrueMoney, LINE Pay, ShopeePay, Alipay, WeChat) 2.20%; installments 1.95% + 0.80%/mo
  • Settlement T+1, daily (PromptPay payout T+3); fees inclusive of gateway costs, no setup/monthly

Capabilities

  • Recurring: Charges API positioned for recurring/subscription billing depth unverified — no dedicated subscriptions engine documented
  • Split payouts: "on-demand payouts to multiple accounts" appears on the pricing page — suggestive but not a documented sub-merchant/marketplace product not verified
  • Startup counterparty risk: young company vs. Opn/2C2P institutional weight inferred
  • Local entity required (Thai merchant onboarding) inferred

Read: 1.8% cards and free PromptPay is roughly half of Opn's card rate — real money at F&B volume. Beam is the negotiating lever and a credible secondary rail for POS QR, but the multi-tenant payout and subscriptions machinery is unproven. Get a call with them; don't build the platform spine on it yet.

Contender 4 of 6

GB Prime Pay × Xendit — the licensed split machine

Xendit / GB Prime Pay Xendit acquired Bangkok's GB Prime Pay in 2022 — Xendit Thailand runs on its license and bank relationships

Split specialist

Fees & settlement

  • GB Prime Pay application form: Visa/MC/JCB 3.2%, Amex 3.5%, QR Cash 0.8%, WeChat 1.5%, mobile banking ฿15; ฿20 settlement fee when the settle amount is under ฿50k application form PDF date of form unclear — reconfirm in quote
  • Xendit's own pricing page lists PromptPay QR at 2.5% (min ฿10) + ฿7 processing — conflicts with the 0.8% figure above; treat published rates as indicative only conflict flagged

Capabilities

  • Split payouts: xenPlatform — sub-accounts, split rules, automatic platform fees, at-scale sub-merchant onboarding. For Thailand it must be activated by request (auto-enabled only in ID/PH) Xendit docs + help center
  • Recurring: GB Prime Pay supports recurring + tokenization integration docs
  • Local entity: Thai company onboarding via GBPP channel inferred
  • DX: Xendit docs are decent regional-standard; GBPP legacy docs weaker inferred

Read: the only contender whose split-payment product is the headline, running on a Thai license. If Opn's Account Chaining beta disappoints, this is the platform-payments fallback — at the cost of murkier public pricing and a request-to-activate process.

Contenders 5 & 6

2C2P and the bank gateways

2C2P (by Antom) SEA enterprise gateway, now under Ant International · 400+ payment methods · quote-only pricing

Enterprise path

What's verified

  • Marketplace support: sub-merchant onboarding, consolidated reporting, per-sub-merchant portals, disbursements/payout service, FX integration docs
  • Recurring billing with configurable retry logic cited
  • No public pricing anywhere — fees, settlement timing and split terms are all negotiated quote required

Read

  • Built for enterprise volume (airlines, telcos, super-apps). Sales cycle and minimums likely mismatch an MVP with one destination customer inferred
  • Becomes interesting at multi-destination scale, or if Ant-side rails (Alipay+ tourists) become strategic

KBank K-Payment / SCB gateways: negotiated MDR ~2.5–3.5% with setup + monthly fees and slower onboarding (~3 weeks at KBank) secondary sources. Their real value is elsewhere: bank open APIs for dynamic PromptPay QR (create QR, webhook confirmation, status query, refunds) at bank-negotiated QR rates — often the cheapest QR rail in the market — plus EDC terminals for card-present at the F&B counters, which no gateway above solves (Stripe Terminal absent; Opn/Beam are online-first). One bank relationship is part of the stack regardless.

Ruled out for MVP

The fast "no" pile

  • Adyen — superb platform product (Adyen for Platforms), but no local acquiring in Thailand — its SEA local-acquiring footprint is SG/HK/MY/JP/AU/NZ; Thai domestic cards + PromptPay would route cross-border at cross-border economics inferred from Adyen's own acquiring announcements; TH absent from every list. Revisit only for global multi-market scale.
  • ChillPay — BOT-licensed Thai gateway, honest flat 3.25% on every channel chillpay.co — but flat pricing means QR costs 2× Opn and ~4× GBPP, and no split/marketplace product found. Wrong shape.
  • TrueMoney / LINE Pay as standalone integrations — TrueMoney (27M+ users) and LINE Pay (Rabbit LINE Pay rebranded Oct 2023, still operating) matter as acceptance methods, and every gateway above already carries them (Opn: TrueMoney 2.65%; Beam: wallets 2.2%). Direct wallet integrations are extra work for no extra coverage.
  • PayPal — 3.9–4.4% + FX, no PromptPay, no local split story. Not built for this market.

Side by side

The comparison table

ProviderDomestic cardsPromptPay QRCross-border cards SettlementRecurringSplit / sub-merchant payoutsEntity req.DX / PCI
Opn (Omise) 3.65% +VAT 1.65% 3.65% (same card rate; multi-currency addable) ~7-day hold, then custom auto-payout schedule; ฿20/transfer Yes — Schedules API Yes — Account Chaining + Chains API (beta, enable via support; each tenant = own Opn account & payout) Thai co. + Thai bank acct Good docs, official libs; tokenized = low PCI scope
Stripe TH 3.65% + ฿10 1.65% 4.75% + ฿10 +2% FX Biweekly/weekly/monthly payouts (no daily listed) Yes — Billing (+0.7%) Partial — Connect direct charges TH→TH only; no separate charges & transfers, no top-ups Thai-registered business Best-in-class; Elements = minimal PCI. No Terminal in TH
Beam 1.80% from 0% 3.25% (overseas cards) T+1 daily (QR payout T+3) Charges API (depth unverified) "Payouts to multiple accounts" on pricing page — no documented marketplace product verify Thai merchant onboarding inferred Modern API, PCI DSS certified; young company
Xendit / GB Prime Pay 3.2% (form) 0.8% (form) vs 2.5%+฿7 (Xendit page) — conflicting Amex 3.5%; intl terms by quote Negotiated; ฿20 fee on settlements <฿50k Yes — recurring + tokenization Yes — xenPlatform sub-accounts + split rules (TH: activate by request) Thai co. via GBPP Regional-standard docs
2C2P Quote only Quote only Strong (SEA + cross-border focus) Negotiated, rail-specific Yes — with retry logic Yes — marketplace suite (sub-merchant onboarding, disbursements) Enterprise contract Enterprise-grade; heavier integration
Bank gateways (KBank/SCB) ~2.5–3.5% negotiated secondary Bank-negotiated, market's lowest QR rates Via bank acquiring Bank-cycle; EDC next-day typical not verified Limited / bespoke No platform product — one merchant per contract Thai co., setup + monthly fees, ~3-wk approval Open APIs for QR exist; legacy DX otherwise. EDC solves card-present

All percentage fees exclude 7% VAT charged on the fee itself. "Quote only" = provider publishes no rates; treat every number in this table as an opening position, not a floor — Opn's own pricing page invites volume-based reductions.

The hard requirement

Three ways to do split settlement

One destination, many operator entities, each needing its own payout. There are exactly three architectures — and the right answer is a sequence, not a choice.

A · Ledger + org payouts

One merchant account per destination org (24 BLVD's entity). Every charge lands there. Activa's ledger attributes each baht to a tenant operator; the org runs weekly payouts from its own bank account against Activa's statement.

Why it works: ships in weeks, zero provider dependency, Activa never holds funds — the destination org does, which it already legally can as the master lessor collecting from its own tenants.

Cost: payouts are manual-ish (bank transfer batch), trust depends on ledger transparency, and it leans on the org's own accounting.

MVP — phase 1
B · Native sub-merchants

Each tenant operator registers its own account with the provider; Activa routes every charge to the right tenant at creation time and takes a platform fee. Funds settle directly to each operator's bank — Activa and the org never touch them.

Who offers it: Opn Account Chaining (beta), Stripe Connect direct charges (TH→TH), Xendit xenPlatform (activate for TH), 2C2P marketplace suite.

Key simplification: at 24 BLVD nearly every order belongs to ONE operator — so charge-level routing covers ~everything; true single-charge splitting is only needed for mixed baskets and bundles.

Target — phase 2
C · Full marketplace licence

Activa aggregates funds itself and disburses to operators — becoming a payment facilitator holding third-party money, which puts it squarely in Bank of Thailand e-payment licensing under the Payment Systems Act.

Why not: capital requirements, compliance burden, and a licence application — for capability the providers in column B already rent out. Only worth revisiting if payments margin becomes Activa's core business model at multi-destination scale.

Not now — maybe never

Recommendation

The stack: Opn + PromptPay, ledger first, chained later

MVP24 BLVD · ~now → month 3
  • Primary gateway: Opn Payments on the 24 BLVD org entity — cards 3.65%, PromptPay 1.65%, TrueMoney 2.65%, no fixed fees, published pricing, Thai-native onboarding.
  • PromptPay dynamic QR everywhere local money moves — tickets, top-ups, and the F&B POS screen. Cards are the fallback, QR is the default. This single routing decision cuts blended cost by roughly half.
  • Memberships on Opn Schedules API — tokenized card-on-file monthly/yearly plans; QR-invoice reminder flow as the no-card fallback.
  • Wallet top-ups land as prepaid credit on the org ledger — top-up via PromptPay QR (1.65% once, then zero-fee internal spend at every counter: genuinely better economics than per-transaction card fees).
  • Split = Model A: Activa's tenant ledger + weekly payout statements; the org pays operators from its own bank account. Activa never holds funds.
  • Card-present: the org's existing bank EDC terminals for physical cards; Activa POS reconciles them as external tenders alongside its own QR flow.
Phase 2month 3 → 12 · native splits
  • Confirm Opn Account Chaining access + terms now (one email to Opn) — if granted, migrate tenant operators to their own chained Opn accounts: every charge routes to its operator at creation, platform fee to Activa, native per-tenant payouts, and Model A's ledger becomes the audit layer instead of the money layer.
  • If chaining disappoints: Xendit xenPlatform (request TH activation) is the purpose-built fallback; Stripe Connect TH→TH direct charges is the third option with the best DX.
  • Negotiate with Beam in parallel — 1.8% cards / 0% QR / T+1 is the price benchmark; use it to pull Opn's card rate down or adopt Beam as the POS QR rail.
Scalemulti-destination · regional
  • Provider-adapter architecture from day one (already in the Activa architecture spec): PaymentProvider interface with Opn as the first adapter, so Beam/Xendit/Stripe/2C2P slot in per venue without touching product code.
  • 2C2P (or Adyen) enters when Activa leaves Thailand — multi-market acquiring, FX, and enterprise disbursements matter then, not now.
  • Setpoint divergence is deliberate: Setpoint runs Stripe and should stay on it — but a Thai nightlife destination is PromptPay-first, tourist-card-heavy, and payout-per-tenant. Copying Setpoint's stack would mean 4.75% tourist cards, no Terminal, no daily payouts, and a restricted Connect. Same adapter interface, different first adapter — the abstraction, not the vendor, is what the two products share.

Risks & open questions

What must be confirmed before build