English
Choosing the right route for Cambodian (+855) verification codes
Yes, you can receive Cambodian (+855) verification codes with OTP Route by ordering a one-time number from the OTP Gateway and reading the code in the dashboard or through the API and signed webhooks. Prices start at $0.20 per code, and your wallet is charged only when an SMS reaches the number inside the 20-minute activation window.
One-time number or long-term line: which fits a Cambodian test?
Start with the decision, because it changes everything downstream. OTP Route sells two products, and only one of them covers Cambodia today.
- OTP Gateway — a +855 number held for a single verification. You choose a service, the platform assigns a number, and the first code that lands is yours. Right for sign-up QA, a one-off login check, or confirming that a localized onboarding screen accepts Cambodian input. See the OTP Gateway overview.
- Dedicated Numbers — a line you keep and renew, from $1.95/month, with inbound SMS, outbound SMS and browser calling. These are sold self-serve in the United States and Canada only.
There is no self-serve long-term +855 line. If a project truly needs one, email [email protected] and describe the use case; whether anything can be arranged depends on local rules, so treat it as a question rather than a promise. Our comparison of temporary vs dedicated numbers walks through which one suits a +855 project.
Which services can a Cambodia verification number handle?
The live snapshot for Cambodia lists more than 1,700 services. Among the ones teams ask for most are Telegram, Facebook, WhatsApp, Google (Gmail & YouTube), TikTok, Instagram, LINE, WeChat, Zalo, Viber, ChatGPT (OpenAI), Shopee and Lazada.
That mix reflects a market where messaging apps and regional shopping platforms sit side by side, so a Southeast Asian product team can check several flows against the same country code in one session. Availability shifts through the day as carrier routes refresh, which is why the API reports what can be ordered at the moment you ask instead of a fixed catalogue.
How does the Cambodia OTP API flow work end to end?
Every call goes to https://otproute.com/api/v1 with a Bearer key prefixed or_live_, issued in the Developer console. Cambodia's country id is kh.
- Fetch
GET /api/v1/servicesandGET /api/v1/countriesto map names to ids; cache both. - Ask
GET /api/v1/prices?country=kh&service=<id>for the current price and availability of the route you want. - Create the order with
POST /api/v1/activations, body{"service": "telegram", "country": "kh"}. You get back an activation id and the +855 number. - Type that number into your own app's verification step.
- Receive the code via the
activation.sms_receivedwebhook, or pollGET /api/v1/activations/{id}.
Webhook deliveries carry X-OTPRoute-Signature: t=<unix>,v1=<hex>. Recompute HMAC-SHA256 of <t>.<raw body> with the endpoint secret, compare in constant time and drop stale timestamps. A Cambodian test suite can spread its traffic across up to 10 keys and 5 webhook endpoints, within an account-wide ceiling of 300 requests per minute. Payload details are in the API documentation.
Ordering a +855 number for testing from the dashboard
Support staff and product managers can get the same result without code:
- Sign in and open the OTP Gateway page.
- Pick Cambodia, then the service you are verifying.
- Read the price on screen and confirm the order.
- Copy the +855 number into the app or website you are checking.
- Watch the activation card; the SMS text and extracted code appear there once delivered.
If you change your mind before a code shows up, cancel the activation and the amount returns to the wallet.
Formatting +855 numbers and reading Khmer-language messages
Cambodian numbers are written locally with a trunk prefix of 0, for example a mobile shown as 0xx xxx xxx. In E.164 that leading 0 disappears: the stored value is +855 followed by the national number, which for mobiles is usually eight or nine digits. Normalise at the edge of your system — strip spaces, dashes and the trunk 0, then prepend +855 — so lookups, deduplication and webhook matching all work on one canonical string.
Khmer is the official language and has its own Unicode script. Some services send their codes with Khmer wording around the digits, others default to English, and the same app can switch depending on the account's locale. Extract the code with a digit pattern instead of matching surrounding text, and make sure logs and databases store UTF-8 cleanly.
Teams usually come to +855 for a regional launch alongside neighbours such as Thailand and Vietnam, for Khmer localisation QA, or to support customers who registered with Cambodian SIMs.
What should happen when a Cambodian code never arrives?
The rule is simple: you pay only for a delivered code. If nothing arrives within 20 minutes, or you cancel first, the full charge is credited back to the wallet automatically.
When a code is late:
- Let the window run instead of cancelling after a minute; some senders queue messages.
- Confirm the service accepts virtual numbers — some reject them, which is exactly why the refund exists.
- Try again later, or try a different service route for the same test.
- Avoid re-ordering in a tight loop; space retries out and log each activation id.
Our write-up on reducing failed OTP deliveries lists further retry habits that keep Khmer-market test runs stable.
Paying for Cambodian verifications and testing in sandbox
OTP routing on OTP Route runs from one prepaid USD wallet with no monthly fee and no plan to choose. Funding works by card or USDT/USDC stablecoins, and finance gets an emailed PDF invoice each time the balance is topped up. Current rates are on the pricing page.
Before wiring a CI pipeline to live numbers, ask for your development account to be switched to sandbox; it returns simulated numbers and codes so the integration can be exercised end to end without spending funds. Use the gateway only for your own products and accounts, follow each service's terms, and remember that OTP Route's Acceptable Use Policy applies.
Frequently asked questions
Can I test my app's Cambodian sign-up flow without a local SIM?
Yes. Order a +855 number from the OTP Gateway, enter it in your sign-up form, and read the code in the dashboard or through the API.
What is the country id for Cambodia in the API?
Use kh in GET /api/v1/prices and in the body of POST /api/v1/activations.
Should I store Cambodian numbers with the leading 0?
No. Store them in E.164 as +855 plus the national number, with the trunk 0 removed, and add the 0 back only when displaying a local format.
Can I keep a +855 number for a few months?
Not as a self-serve product. Long-term Dedicated Numbers are offered in the US and Canada; for Cambodia you can email [email protected] to ask, with no assurance it is possible.
Will codes come in Khmer or English?
It depends on the service and the account's language setting. Parse digits rather than relying on fixed wording.
Am I charged if the SMS fails?
No. An activation with no code before the 20-minute window closes is refunded to the wallet in full.
Is there a way to test without spending money?
Yes. A development account can be moved to sandbox on request, which returns simulated numbers and codes.
Service names are trademarks of their respective owners. OTP Route is not affiliated with them. Use numbers lawfully, follow each service's terms and our Acceptable Use Policy.