Connect the bank link
Paste the merchant payment link issued by a supported Cambodian bank — e.g. an ABA Merchant Link. Never share a bank password, Merchant ID, or bank API secret.
Connect a Cambodian bank payment link in minutes. Use your Bayon Pay API key to accept KHQR and Alipay+ on your website.
Self Checkout Preview
Boba House
Scan with any KHQR app
Powered by Bayon Pay
Your customers can pay from any Bakong member bank, e-wallet, or Alipay+




































How Bayon Pay works
Your merchant keeps their existing bank relationship. Bayon Pay provides the integration layer your website needs.
Paste the merchant payment link issued by a supported Cambodian bank — e.g. an ABA Merchant Link. Never share a bank password, Merchant ID, or bank API secret.
Generate a scoped Bayon Pay API key for your server. The full secret is shown once and only its hash is stored.
Create a hosted checkout session from your store and present it to the customer — KHQR or Alipay+, their choice.
The customer scans and pays from their own banking app. Their bank settles the funds directly to your connected account — you get paid.
Bayon Pay detects the confirmed payment and delivers a signed webhook event to your server the moment it settles.
Your order flips to paid automatically — no manual reconciliation, no bank statement checking.
AI-native integration
Bayon Pay writes prompts your AI coding assistant can act on directly — real endpoints, real fields, no guessing. Paste it into Claude Code, Cursor, ChatGPT, or Windsurf and let it wire up checkout, webhooks, and status handling correctly the first time.
AI integration prompt
Paste into Claude, Cursor, ChatGPT, or Windsurf
I want to integrate Bayon Pay (KHQR + Alipay+ payments for Cambodia) into my website. Docs: https://bayonpay.io/docs
1. Store my API key as an environment variable named BAYON_PAY_API_KEY. I'll paste the real bpk_live_… key myself — never hardcode it or put it in client-side code.
2. On the server only, create a payment with:
POST https://bayonpay.io/v1/payments
Headers: Authorization: Bearer $BAYON_PAY_API_KEY, Idempotency-Key: <unique per order attempt>
Body: { "amount": "25.00", "currency": "USD", "reference_id": "<my order id>", "metadata": {}, "prefer_alipay_plus": true }
3. Redirect the customer to the "checkout_url" from the response — don't build a custom QR renderer, Bayon Pay hosts the checkout page.
4. Add a webhook endpoint that verifies the HMAC signature Bayon Pay sends, processes each event idempotently, and marks the order paid only when the event says so — never on redirect or screenshot alone.
My stack is: [tell it your framework/language]. Write the integration for that.One payment object
Use the same merchant account and API across a custom site, a WooCommerce store, or (soon) Shopify.
Explore integrationsREST endpoints for checkout creation, status lookup, and webhook verification.
Install the plugin from your dashboard and accept KHQR and Alipay+ from WooCommerce checkout.
A native Shopify payments app is on our roadmap and in active development.
Keep merchant order status synchronized without exposing API secrets.
Designed around trust
Bayon Pay asks for the merchant-facing payment link—not a bank login, bank Merchant ID, or private bank API credential.
Passwords use salted scrypt hashing and sessions use HttpOnly secure cookies.
A generated Bayon Pay API key is displayed once; the platform stores its one-way hash.
A payment rail stays disabled until the merchant’s connection and webhook setup are verified.
Questions
Create a merchant account, connect your bank payment link, and build against one consistent Bayon Pay API.
Create free account