验证码由你的系统生成,我们负责送到任何一个马来西亚手机号:5 位短号发出、几秒到运营商、每条 RM0.20。没有月费,也不用先办 Sender ID 才能开始。
需要确认「这个手机号真的是本人」的中小企业:网店验证新注册账号、预约系统确认客户号码、会员或积分 App、给登录加验证码的 SaaS、之后还要联系客户的外送或上门服务平台。每月通常几百到几万条——量不够去跟运营商谈合约,又重要到不能交给一个量一大就失效的免费工具。
我们做的事刻意很窄:验证码由你的系统生成和校验,我们只负责发短信。不用装什么验证插件,也没有在短信费之外再按「验证次数」收钱。你已经有注册表单和数据库的话,只需要多发一个 HTTP 请求。
每条 RM0.20,马来西亚所有电信网络同价。一条普通验证码(「Your MyShop code is 482913. Valid for 5 minutes.」) 大约 60 个字符,就是一段、扣一次钱。预付充值,没有开户费、月费、最低消费,余额不过期。账户累计发送量做大之后,单价会按阶梯价自动降低。
| 每月验证码条数 | 按 RM0.20 计 | 约合每天 |
|---|---|---|
| 500 | RM100 | RM3.30 |
| 2,000 | RM400 | RM13 |
| 10,000 | RM2,000 | RM66 |
跟国际平台比价时,要比整张账单而不是表面单价:多数按美元从信用卡扣(令吉成本随汇率变),用他们的「托管验证」产品通常还要按每次成功验证另收一笔;另外重试也算钱——一个超时就重复发送的平台,等于这些用户的成本翻倍。
3 个号码以内的请求不会排在别人的群发后面,收到就立刻交给运营商。截至 2026 年 10 月 9 日的两周里,平台上这类小单平均 2.3 秒提交到运营商,84% 在 5 秒内、97% 在 10 秒内。
这是到运营商的时间,不是到手机的时间。大部分验证码随后几秒就到,但手机关机、没信号或在国外漫游时,会晚到或收不到——这是任何短信平台都改变不了的。所以流程要这样设计:立刻显示输入验证码的页面,约 60 秒后才开放「重新获取」按钮,不要自动重发。
统一从 5 位短号 66886 发出。马来西亚人早就习惯银行和电子钱包的验证码从 5 位数号码发来,看起来是正规的。选我们之前要先知道两件事:
Idempotency-Key。服务器超时用同一个 key 重试,用户只会收到一条,你也只付一次钱。curl https://hantarsms.com/api/v1/messages \
-H "X-API-Key: $HANTARSMS_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: otp-7f3a91" \
-d '{"to":"60123456789","text":"MyShop: your code is 482913. Valid for 5 minutes. Do not share it."}'
PHP、Python、Node.js、Java 示例代码,查询送达状态,以及完整的验证码接入清单都在API 文档(英文)。现成的 PHP / Laravel / WordPress 代码和验证码短信模板(含中文、马来文模板)也可以直接照抄。没有开发人员的话,后台也能手动发单条,但注册验证码这种场景一定要用 API。
每一次获取验证码都要花钱,机器人的请求也一样。公开的注册页和「忘记密码」页是常见目标:脚本一口气提交几千个号码,每一条验证码都由商家买单。这是中小企业收到意外短信账单最常见的原因。你这边要做:
我们这边,每个 API 密钥都有发送频率上限(默认每分钟 60 个请求,真实高峰更高可以调),后台逐个号码列出每条短信——被刷的时候你会看到一整片陌生号码,而不是等到下个月账单才发现。
不管最后用哪家,接入前先问清楚:
不会。验证码由你的系统生成、保存有效期、核对用户输入的内容,我们只负责把短信送到手机。验证码不离开你的系统,也没有按验证次数另收的费用。
HantarSMS 每段 RM0.20。一条用英文或马来文写的普通验证码就是一段。改用中文或加表情符号会变成 Unicode,每段能装的字数少一半以上,所以验证码内容建议用英文或马来文。
在我们平台不能。验证码统一从共享 5 位短号 66886 发出。把品牌名写在短信开头即可,例如「MyShop: your code is 482913」。
不能。我们只发马来西亚手机号(60 开头)。如果你的用户分布在多个国家,其他国家需要另找国际供应商。
在后台或通过 API 查这个号码:能看到短信有没有提交成功,运营商回报后还能看到是否送达。手机关机或没信号会晚收到或收不到。让用户约 60 秒后可以重新获取。
没有。预付充值,没有开户费、月费、最低消费和合约,余额不过期。