Overview
Stardeck has built-in support for two payment providers: Beam Checkout and Stripe Connect. These are managed through the Payments tab in your project settings and provide a native SDK for your app to accept payments without manual API key management. For third-party payment gateways using environment variables (Stripe direct, Omise, etc.), see Third-Party Payment Gateways.Beam Checkout
Beam is a Thai payment gateway supporting QR PromptPay, credit cards, e-wallets (LINE Pay, TrueMoney, ShopeePay), mobile banking, and buy-now-pay-later options. All amounts are in satang (100 satang = 1 THB).Minimum App Version
Beam features require your app to be on a minimum version:| Feature | Min Version |
|---|---|
| Payment Links | 5.2.0 |
| Direct Charges, Bolt Intents, Webhooks | 6.7.0 |
Getting Started with Playground
You can start building and testing payment flows immediately using Beam Playground, a shared test environment that requires no Beam account or API keys.- Open your project in the Stardeck dashboard
- Go to Settings > Payments
- Select Beam Checkout and click Set Up Beam
- The Sandbox toggle is enabled by default under “Use Beam Playground”
Playground Deployment Targets
You can control which deployment types use the Beam Playground:| Target | Description |
|---|---|
| Sandbox | Your development environment (enabled by default) |
| Preview | Preview deployments from branches |
| Production | Your live production deployment |
Configuring Payment Methods
In the Allowed Payment Methods section, toggle which payment types are available on your payment links:- Card Payments
- QR PromptPay
- E-Wallets (LINE Pay, TrueMoney, ShopeePay)
- Mobile Banking
- Buy Now Pay Later (Atome)
- Card Installments (3, 4, 6, or 10 months)
Using the Payments SDK
Your app uses the@stardeck-customer-apps/payments-sdk package (pre-installed in all Stardeck projects) to create payments. The SDK supports two approaches:
Payment Links (Hosted Checkout)
Payment links redirect the customer to a Beam-hosted checkout page. Beam handles the payment UI, and the customer is redirected back to your app after payment. The Allowed Payment Methods settings control which methods are available on the checkout page.Direct Charges (API-Integrated)
Direct charges let you build a fully custom payment experience within your app. Instead of redirecting to Beam, your server creates a charge and gets back either a QR code image (for PromptPay) or a redirect URL (for card/e-wallet payments). This gives you full control over the payment UI.QR_PROMPT_PAY, CARD, LINE_PAY, TRUE_MONEY, SHOPEE_PAY, and more. The response tells you what action is needed:
- ENCODED_IMAGE — Display the returned QR code (PromptPay)
- REDIRECT — Redirect the customer to the returned URL (cards, e-wallets)
- NONE — Payment completed immediately
Bolt Terminals (Physical Devices)
For physical point-of-sale setups, use Bolt intents to send payment requests to paired terminals. See Bolt Paired Devices below.Testing in Playground
When using Beam Playground, payments are processed in test mode. You can use test card numbers and QR codes to simulate transactions without real money.Beam Playground transactions do not charge real money. All payment links and charges created in
playground mode use Beam’s test environment.
Going Live with Production
When you’re ready to accept real payments:- Create a Beam merchant account at Beam Lighthouse
- In the Payments tab, enter your Beam Merchant ID in the Production section
- Add your Beam API Key (found in Beam Lighthouse under Developers)
- Configure your Webhook Secret (register
https://your-domain/api/webhooks/beamin Beam Lighthouse under Developers > Webhooks, then paste the HMAC key) - Turn off the Sandbox playground toggle for your production deployment
Bolt Paired Devices
For physical point-of-sale setups, Beam supports pairing physical payment terminals (Bolt devices). In the Payments tab under Bolt+ Paired Devices, you can:- Pair a device using its pairing code
- View connection status
- Remove paired devices
Stripe Connect
Stripe Connect lets you accept credit card payments, subscriptions, and more through your own Stripe account. You connect the Stripe account you already use, and payments are charged directly to it — Stardeck never holds your funds, and you keep your existing Stripe dashboard, payouts, and branding.Connecting your Stripe account
- Open your project in the Stardeck dashboard
- Go to Settings > Payments
- Select Stripe Connect and click Connect with Stripe
- You’ll be sent to Stripe to sign in and authorize access, then brought back to the Payments tab
You connect an account you control. Stripe remains the system of record for your payments,
payouts, customers, and tax settings — manage all of that in your own Stripe
dashboard.
Connection status
Once connected, the Payments tab shows your account status:- Charges Enabled — your account can accept payments. When this is on, you’re ready to go live.
- Payouts Enabled — Stripe can pay out to your bank account.
Managing products
When charges are enabled, the Payments tab shows a Products section where you can create products and prices (one-time or recurring) without leaving Stardeck. These are created on your Stripe account and are immediately usable in checkout. You can also manage them directly in your Stripe dashboard.Disconnecting
To disconnect, use the Payments tab. This revokes Stardeck’s access to your Stripe account on Stripe’s side as well, so no further charges can be created through your app. Your Stripe account and its data are unaffected — only the connection is removed.Using the SDK with Stripe Connect
The same@stardeck-customer-apps/payments-sdk works for Stripe Connect. Example prompts:
Already have a Stripe account that our team connected for you, or need help? Contact
support@stardeck.ai.