Skip to main content

Production

SettingValue
Base URLhttps://api.heydollr.app
API versionv1 (path prefix on every request)
OpenAPI specapi.heydollr.app/openapi.json
Docsdocs.heydollr.app
Merchant portalmerchant.heydollr.app
All examples in this documentation use production unless stated otherwise.

API credentials

  1. Register at merchant.heydollr.app
  2. Complete identity verification (KYC/KYB — typically 1–72 hours)
  3. Go to Settings → Developer → API Keys
  4. Create a Client ID and Client Secret (secret shown once — store in a vault)
Exchange credentials for a Bearer token:
POST /v1/jwt/client/obtain/token
See Authentication. Tokens expire after expires_in minutes.

Verification gates

Until your merchant account is fully verified, some features may return 403 Forbidden:
FeatureGate
API key generationVerification required
PayoutsFully verified merchant
Payment links / hosted checkoutMay be restricted during onboarding
RefundsVerification required
See Forbidden / unverified.

Sandbox and test mode

Dollr does not publish a separate public sandbox base URL in this documentation. To test safely in production:
ApproachWhen to use
Hosted checkout with small real amountsFastest path to a working payment
Low-value live transactionsMoMo and card with minimal amounts in supported currencies
OpenAPI playgroundValidate request shapes without executing (API Reference tab)
If you need a dedicated staging environment or test credentials, contact dev@heydollr.app or your Dollr account manager.
Never use production Client Secrets in client-side code, public repos, or mobile apps. Server-side only.

Realtime (Supabase) credentials

Live payment status via Realtime keys uses Supabase Realtime. In addition to your Dollr Bearer token flow, you need:
CredentialSource
SUPABASE_URLMerchant portal → Settings → Developer (Realtime section)
SUPABASE_ANON_KEYSame section
If these are not visible in your portal yet, email dev@heydollr.app.

Stripe (API-embedded cards only)

If you build your own card UI with Collect with card, Dollr routes cards through Stripe. You do not connect your own Stripe account — Dollr provides the publishable key for Elements:
VariableSource
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEYMerchant portal → Settings → Developer or provided during card enablement
For hosted checkout, you do not need Stripe keys — Dollr handles card collection on the hosted page.

Environment checklist

  • Client ID and Client Secret in server env vars (not NEXT_PUBLIC_*)
  • Token refresh before expiry (expires_in is minutes)
  • Verification complete for payouts / refunds
  • Realtime Supabase vars (if using live status UI)
  • Stripe publishable key (only for API-embedded card UI)
Last modified on June 23, 2026