Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.zennopay.in/llms.txt

Use this file to discover all available pages before exploring further.

What Zennopay does

Zennopay lets a partner fintech offer its users a way to pay any Thai PromptPay or Vietnamese VietQR merchant — using their USD wallet balance, from inside the partner’s own app. At v1 we cover two corridors:

Thailand

PromptPay QR. THB settlement.

Vietnam

VietQR. VND settlement.

Who this is for

Partner backends

Server-to-server integration. Create payment intents, mint session JWTs, receive webhooks.

Mobile app developers

Embed the Zennopay checkout in your iOS or Android app via our SDKs.

How a payment flows

  1. The end user opens the partner app and chooses to pay a SEA merchant.
  2. Partner backend calls POST /v1/payment_intents (signed with HMAC) to create a Zennopay intent.
  3. Partner backend mints a short-lived session JWT identifying that specific user + intent.
  4. Partner app opens the Zennopay SDK with the intent_id + JWT.
  5. The user scans the merchant QR, confirms the amount, and slides to pay.
  6. Zennopay debits the partner’s pre-funded USD float, routes the transaction to its licensed payout partner network for the destination corridor, and the merchant receives local currency.
  7. Zennopay sends the partner a webhook with the final status.
The full sequence is documented in Authentication → under “end-to-end flow.”

What makes Zennopay different

  • USD-only on our side. We never hold THB or VND. The local payout provider owns the FX leg.
  • FBO custody. Partner funds are held in a For-Benefit-Of account at our US banking partner. Funds remain attributable to the partner (and beneficially to its end users) at all times.
  • Two-layer auth. Long-lived HMAC on the server side, short-lived per-session JWT on the client side. Mirrors the Stripe / Razorpay pattern.

Ready to build?

10-minute quickstart

Stand up a sandbox integration end-to-end.