English
Verifying Chinese (+86) sign-up flows with an OTP routing API
Yes. OTP Route lets you receive China (+86) verification codes on a temporary number from its OTP Gateway, read either in the dashboard or through the REST API and signed webhooks, with prices from $0.20 per code. Every activation stays open for 20 minutes, and if nothing arrives in that time the charge goes straight back to your wallet.
Why does the Chinese market need its own verification test plan?
China runs one of the largest mobile ecosystems anywhere, and much of it sits inside domestic platforms rather than the global apps a Western team usually tests first. SIM cards there are registered under real-name rules, so local services treat the phone number as a strong identity signal and are often stricter about which numbers they accept.
That shapes how a QA engineer should think about a China route:
- Cross-border commerce. Sellers and buyers on Alibaba and AliExpress confirm phone numbers when they register or change account details, so marketplace teams want to see those messages end to end.
- Chinese-language copy. Codes from domestic senders normally arrive in Simplified Chinese, frequently opening with the sender's name in 【】 brackets. A parser that searches for the English word "code" will miss them.
- Encoding. Chinese text travels as Unicode SMS, so store message bodies as UTF-8 and extract digits with a pattern that ignores the surrounding characters.
Using a +86 number for testing against a real route surfaces all three issues before customers do, and it is where OTP routing to a genuine Chinese carrier path earns its keep.
How should a +86 mobile number be stored?
Mainland mobile numbers have 11 digits and begin with 1. Unlike landlines, which are dialed domestically with a trunk 0 plus an area code, mobiles carry no trunk prefix at all, so the E.164 form is simply +86 followed by the 11 digits.
A few normalization habits save debugging later:
- Strip spaces and hyphens; users often type the number as 3-4-4 groups.
- Convert a leading
0086or86to+86before saving, and never prepend a 0 to a mobile. - Validate length after normalization: 11 national digits for a mobile, nothing more.
Keep one canonical column in E.164 and format for display only at the edge. The number returned by an activation already follows that canonical shape, which makes it a handy fixture for unit tests on your own normalizer.
Which apps can send codes to a China route today?
The China route currently covers more than 1,300 services. Popular ones in the live snapshot include WeChat, Alibaba, AliExpress, Microsoft & Outlook, LinkedIn, Telegram, WhatsApp, Google (Gmail & YouTube), TikTok, Amazon, Discord, ChatGPT (OpenAI) and Claude.
Availability moves during the day as our carrier partners add and retire capacity, so treat that list as a starting point. Call GET /api/v1/services and GET /api/v1/countries for the current picture rather than hard-coding service ids into a test matrix.
What does the API flow look like for country id cn?
Create a Bearer key (prefix or_live_) in the Developer console, then point your client at https://otproute.com/api/v1. A typical China OTP API run goes like this, and the same steps let you receive China SMS OTP messages for any supported service:
- Ask
GET /api/v1/prices?country=cn&service=wechatfor the live price of the pair you plan to test. - Send
POST /api/v1/activationswith the body{"service": "wechat", "country": "cn"}and keep the returned activation id. - Enter the +86 number into the sign-up form of the product under test.
- Let your webhook pick up
activation.sms_received; without one, checkGET /api/v1/activations/{id}every few seconds. - Call
POST /api/v1/activations/{id}/cancelif the test aborts, which releases the hold at once.
Webhook deliveries carry X-OTPRoute-Signature in the form t=<unix>,v1=<hex>. Recompute HMAC-SHA256 over <t>.<raw body> with the endpoint secret, compare in constant time, and drop stale timestamps. Each account gets up to 10 keys, 5 webhook endpoints and 300 requests per minute; full references live in the API docs.
Can someone without code order a Chinese number?
Yes. Product managers and support staff can do the whole thing from the dashboard:
- Open the OTP Gateway, choose China, then pick the service.
- Check the price displayed before ordering.
- Copy the +86 number into the app you are verifying.
- Watch the activation card; the message text appears there as soon as it is received.
The same 20-minute window and refund rule apply, so a manual check of a localized onboarding screen costs nothing when the app never sends anything.
What should I try when a Chinese code fails to arrive?
Silence usually means the service declined to send to that number or the route is busy, not that your integration is broken. Work through it calmly:
- Let the full window run; some senders retry on their own schedule.
- Confirm the service accepts virtual numbers at all. Platforms with real-name rules frequently do not, and the automatic refund exists for exactly that case.
- Come back after a pause, or exercise the same scenario through another service route.
- Avoid re-ordering in a tight loop. It burns through rate limits and rarely changes the outcome.
Our guide on reducing failed OTP deliveries goes deeper into retry design.
Can I keep a +86 number long term, and how is it billed?
No self-serve long-term line exists for China. Dedicated Numbers are a United States and Canada product, from $1.95/month, with inbound SMS, outbound SMS and browser calling. If your team needs a lasting Chinese line, email [email protected] to ask; availability depends on local rules and is not promised.
Money sits in one prepaid USD wallet, with nothing billed monthly and no tier to select. China testing draws from that balance, which you refill by card or with USDT/USDC, receiving an emailed PDF invoice after every top-up. Details sit on the pricing page, and the virtual numbers overview explains the US and Canada lines. For integration work, ask for sandbox mode: it returns simulated numbers and codes so a pipeline can be exercised without touching wallet funds.
Frequently asked questions
Can I test a WeChat or Alibaba registration flow without a Chinese SIM?
You can order a +86 number for that service through OTP Route and read the code in the dashboard or via the API. Some platforms refuse virtual numbers, in which case the activation is refunded automatically.
What is the country id for China in the OTP Route API?
Use cn wherever a country id is expected, for example in GET /api/v1/prices?country=cn&service=<id>.
Do Chinese verification messages arrive in English?
Domestic senders usually write in Simplified Chinese, while global apps often send English or a language matched to the account. Build your code extraction around digits, not keywords.
How long does a +86 activation stay open?
Twenty minutes. If no SMS arrives before it closes, or you cancel first, the full amount returns to your wallet.
Is a China verification number suitable for repeated logins?
No. Each activation receives one code and then ends, so it suits sign-up and onboarding tests rather than accounts that must authenticate again next month.
Which rules apply to using +86 numbers?
Stay within each platform's terms as well as the OTP Route Acceptable Use Policy. The product is meant for testing your own verification flows and running legitimate business accounts, never for mass sign-ups.
Can a CI job use China numbers without paying?
On request, a development account can switch to sandbox mode, which returns simulated numbers and codes so your SMS verification API tests run end to end for free.
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.