减少 WooCommerce 虚假订单:货到付款的 WhatsApp 验证

货到付款(COD)能让购物者产生信任感,这也是它在电子商务中如此受欢迎的原因。但对店主来说,它也带来风险:由于不需要预先付款,任何人都可以免费使用随机或错误的手机号码下单。订单被打包、发出,却无人收货,包裹又被退了回来。本文将解释在 WooCommerce 中通过 WhatsApp 验证货到付款订单的运作方式,它能解决哪些问题,又有哪些问题无法解决。先说明一点:这种方法无法将虚假订单降为零,它只能让虚假订单变得困难得多。
虚假订单和空单的真实代价
没人收货的货到付款订单,损失的不只是一笔销售。请把以下各项加在一起计算:
- 准备和打包商品的工作量
- 往返的运费
- 库存被占用一段时间
- 检验退回的商品并重新上架
- 客服花时间通过电话联系买家
并非每一笔此类订单都是恶意的。有些来自真正的客户,只是把号码输错了;有些则来自恶作剧者或竞争对手。如果手机号码经过验证,这些问题中的一部分会在订单下达之前就被过滤掉。
WhatsApp 验证能解决什么,又不能解决什么
验证只能证明一件事:下单的人确实能够收到他所输入号码的消息,并且此刻手边有 WhatsApp。这使得用错误号码、闲置号码或他人号码下单变得更加困难。
但它无法证明此人一定会接收包裹。能接收该号码验证码的人,在送货时仍然可能拒收。因此,请把验证视为一道过滤器,而非完整的解决方案;对于高价值订单,可以再增加确认电话或设置最低购物金额等进一步的检查。
客户端的流程
- 客户确认购物车,在结账时输入手机号码,并选择货到付款。
- 他们按下验证框中的“通过 WhatsApp 发送验证码”按钮。
- 几秒钟内,一条六位数验证码会从您的 WhatsApp 号码发来。
- 他们将验证码输入表单;验证通过后,“下单”按钮即可使用。
使用银行卡付款的客户无需输入验证码。插件可以设置为仅在选择货到付款时要求验证,因此诚实的银行卡付款客户不会遇到任何额外的麻烦。
使用插件进行设置
为 WapFlow OTP 开发的 WordPress 插件兼容 WooCommerce,同时支持经典结账页面和结账区块。简要步骤如下:
- 开通 WapFlow OTP 订阅,在面板中用二维码关联您自己的 WhatsApp 号码,并创建 API 密钥。
- 在 WordPress 中上传并启用插件(插件、添加新插件、上传插件)。
- 在设置、WapFlow OTP 下粘贴密钥,然后点击“测试连接”。
- 在“WooCommerce 结账”部分,开启“下单前要求已验证的账单手机号码”,并勾选“仅针对货到付款订单”。
被视为货到付款的支付网关 ID 是可以配置的;默认使用 cod。如果您使用结账区块,请确保结账表单中的手机字段可见且为必填项,因为验证会从该字段读取号码。逐屏的完整操作说明请参阅我们的分步安装指南。我们建议先用测试密钥试运行:测试密钥不会发送 WhatsApp 消息,并且只向管理员显示验证码。
如何保证安全?
验证结果绝不会直接采信浏览器传来的数据。插件会在服务器上将已验证的手机号码保存为短期有效、只能使用一次的记录,并在完成订单时在服务器端进行检查。即使有人篡改结账页面的浏览器代码,也无法通过服务器端的检查。经过验证的订单会添加一条订单备注和 _wapflow_otp_verified 元数据,因此您事后可以查看哪些订单经过了验证。
发送接口同样受到保护:每次发送都有页面 nonce 校验,同一 IP 每 10 分钟最多 10 次请求,同一手机号码每分钟最多发送 1 次、每小时最多 5 次。在公开表单上,如果您还想加入验证码(CAPTCHA)插件,可以挂接到插件的 wapflow_otp_before_send 过滤器。
何种设置,在什么时候用?
| 设置 | 适用情况 |
|---|---|
| 仅货到付款 | 问题只出在货到付款上时;银行卡付款的客户不受影响 |
| 仅访客 | 注册用户的号码此前已经验证过时 |
| 仅新客户 | 不想打扰老客户和信任客户时 |
| 所有订单 | 每种付款方式都重视手机号码准确性时 |
上线前检查清单
- 您是否切换到了正式密钥?测试密钥不会发送 WhatsApp 消息。如果店铺仍在使用测试密钥,客户将收不到验证码,也无法下单。
- 您的号码是否已连接并在线?插件的“测试连接”按钮会显示您的套餐、配额以及已连接号码的数量。如果没有连接任何号码,您会看到警告。
- 手机字段是否为必填?验证使用的是结账表单中的手机号码。如果该字段被隐藏或可以留空,流程将无法正常工作。
- 您是否用自己的订单测试过?请在经典结账页面以及(如果您使用的话)结账区块上,用货到付款方式下一笔真实的测试订单;同时确认银行卡付款不会要求输入验证码。
- 面向客户的提示是否已准备好?如果您在货到付款选项旁边加一句简短说明,例如“为了您的安全,我们将通过 WhatsApp 向您的手机发送验证码”,客户就不会觉得等待验证码有什么奇怪。
配额与成本
您发送的每个验证码都会计入配额。举个简单的例子:如果您每月大约有 2,000 笔货到付款订单,且每位客户平均需要 1.3 个验证码,那么您需要 2,600 个验证码。这个数字仅供说明,请根据您自己的订单量进行计算。WapFlow OTP 套餐起价为 249.99 TRY(1 个账号、5,000 个验证码),没有按条收费;详情请查看价格页面。由于验证码通过 WhatsApp 发送,您所用号码的每日发送限额和养号情况同样重要;我们在关于降低封号风险的文章中对此有详细说明。
坦诚的提醒
- WapFlow OTP 不是 WhatsApp 官方 Business API;它通过关联设备运行,并不保证送达。
- 客户可能没有 WhatsApp,或消息可能无法送达。可以考虑为这些客户提供替代方式,例如电话确认,以便他们仍能完成下单。
- 封号风险永远不为零。如果号码受到限制,验证码将停止发送;关联第二个号码可以为您提供安全的备用方案。
- 请在隐私政策中提及手机验证。插件将验证状态保存在短期记录中,并将已验证的号码保存在用户资料中。
常见问题
客户能否不输入验证码就下单?
在启用验证的订单中不能。服务器端的检查不允许手机号码未经验证的订单完成。
它能与结账区块一起使用吗?
可以。服务器端检查同时适用于经典结账页面和结账区块。验证框会自动添加到经典页面上;对于区块,则通过 JavaScript 将其放置在“下单”按钮的正上方。如果某个主题或第三方扩展大幅修改了页面标记,验证框的位置可能需要调整。
验证码从哪个号码发出?
从您关联的 WhatsApp 号码发出。客户会在一个他们认识的商家聊天中收到验证码。
可以只在货到付款时要求验证码吗?
可以。启用“仅针对货到付款订单”选项后,其他付款方式永远不会被要求输入验证码。
配额用完会怎样?
API 会返回配额超限的错误,无法发送新的验证码。插件会向客户显示清晰的提示。您可以在面板中查看配额,必要时升级套餐。


