Skip to content

China OTP · integration guide

Keep the OTP route on your server.

Your application creates and verifies the code. Eastbound Ops receives a mainland China destination and a code for message submission. Credentials and provider calls stay outside the browser.

// Server-side only: illustrative handoff shape
const result = await chinaOtp.submit({
  phoneNumber: '+8613812345678',
  code: createOneTimeCode(),
  sessionContext: requestId,
});

if (result.code !== 'Ok') {
  // Keep the user in your verification flow.
  // Record requestId + serialNumber for support.
  return respondWithVerificationError(result);
}

return respondWithChallengeSent();

Delivery contract

The message route returns a submission result—not a replacement identity system.

code
Provider submission code for the requested message.
message
Provider response message for support and diagnostics.
requestId
Request identifier for tracing a submission.
serialNumber
Provider delivery serial number when it is returned.

01

Create & expire the code

Generate the OTP, set its lifetime, and verify it in the account flow you own.

02

Submit from your server

Use a server-side adapter. Never expose provider credentials or message submission in a browser.

03

Test before production

Confirm a real +86 destination, then agree the operating and payment boundary for live traffic.