Ready-to-use wording for sign-up, login, password reset and payment codes in English, Malay and Chinese — each one fits a single SMS, so each code costs one charge.
A verification SMS is read in two seconds by someone switching between apps. It has four jobs, in this order:
And three things it should not have: no links (a link in a code message is the classic shape of a phishing SMS and trains users to tap them), no promotion (it turns a service message into marketing), and no emoji or curly quotes (one non-ASCII character switches the whole message to Unicode, which cuts a segment from 156 characters to 66 and can double the cost).
| Use | Message | Characters |
|---|---|---|
| Sign-up | MyShop: your verification code is 482913. Valid for 5 minutes. Do not share this code with anyone. | 98 |
| Login | MyShop: 482913 is your login code. Valid for 5 minutes. If this wasn't you, ignore this message. | 96 |
| Password reset | MyShop: use code 482913 to reset your password. Valid for 10 minutes. We will never ask for this code by phone. | 111 |
| Change of phone number | MyShop: code 482913 confirms this number for your account. Valid for 5 minutes. Do not share it. | 96 |
| Payment confirmation | MyShop: code 482913 confirms your payment of RM150.00. Valid for 3 minutes. Never share this code. | 98 |
| Cash-on-delivery order | MyShop: code 482913 confirms your COD order #10482. Valid for 10 minutes. Do not share it. | 90 |
Replace "MyShop" with your own brand. Keep international brand names you do not own out of the message — Malaysian carriers fine messages containing protected brand names, and the fine is passed back to the sender.
| Kegunaan | Message | Characters |
|---|---|---|
| Pendaftaran | MyShop: Kod pengesahan anda ialah 482913. Sah selama 5 minit. Jangan kongsi kod ini dengan sesiapa. | 99 |
| Log masuk | MyShop: 482913 ialah kod log masuk anda. Sah selama 5 minit. Abaikan mesej ini jika bukan anda. | 95 |
| Tetapan semula kata laluan | MyShop: Gunakan kod 482913 untuk menetapkan semula kata laluan. Sah 10 minit. Kami tidak akan meminta kod ini melalui telefon. | 126 |
| Pengesahan bayaran | MyShop: Kod 482913 mengesahkan bayaran RM150.00 anda. Sah 3 minit. Jangan kongsi kod ini. | 89 |
Malay uses the same plain alphabet as English, so it costs the same. If your customers are mostly Malay-speaking, sending the code in Malay is free; there is no reason to default to English.
| 用途 | Message | Characters |
|---|---|---|
| 注册 | 【MyShop】您的验证码是 482913,5 分钟内有效,请勿告诉他人。 | 37 (Unicode) |
| 登录 | 【MyShop】登录验证码 482913,5 分钟内有效。如非本人操作请忽略。 | 39 (Unicode) |
| 重置密码 | 【MyShop】重置密码验证码 482913,10 分钟内有效。我们不会致电索取验证码。 | 44 (Unicode) |
Chinese is always sent as Unicode, so one segment holds 66 characters instead of 156. Short codes like these still fit in one segment and cost the same as English. Add one more sentence and it becomes two segments and two charges — check the count in the segment calculator before you go live.
Typing six digits is where people drop off. Phones can fill the code in for them if the message is shaped the right way:
MyShop: your verification code is 482913. Valid for 5 minutes.
FA+9qCX9VSu
MyShop: your verification code is 482913. Valid for 5 minutes.
@myshop.com.my #482913
Both formats are strict: one extra space on the last line and the phone ignores it. Send one to your own phone before switching it on for users.
Your system fills in the code and sends the finished text in one API request. How to wire that up — generating the code, storing it, rate limits and checking what the user types — is in send OTP SMS from PHP, Laravel and WordPress. Pricing, delivery speed and the sender number are on OTP SMS Malaysia.
Short enough for one segment: up to 156 characters in plain English or Malay on our route, or 66 if it contains any Chinese character or emoji. Every template on this page fits one segment.
No. Links in code messages look like phishing, train users to tap links in SMS, and add nothing — the user is already on your site or app waiting for the code.
Three to five minutes for login and payment codes, up to ten minutes for password resets. Longer windows give a stolen code more time to be used.
Yes. It is sent as Unicode, so one segment holds 66 characters. Short messages like the templates above still cost one segment.
Six. A four-digit code can be guessed in 10,000 tries; six digits gives a million combinations, and phones fill both in equally easily.
Paste any template into the dashboard, see the segment count before you send, and check how it looks on your handset.