Skip to content

控制命令介绍 ​

管理端操作员对会话下发的控制动作,共 8 种命令,串行执行、一次一条。命令经 HTTP 轮询链路下发:管理端下发 → Redis → SDK 每 3s 轮询 /pending 拉取 → 内置弹窗自动渲染。

命令总览 ​

#命令类型商城侧呈现适用支付方式会话是否终结
1OTP 验证otp_verification弹窗:提示文案 + 输入框通用否
2手机号验证phone_verification弹窗:提示文案 + 输入框通用否
3邮箱验证email_verification弹窗:提示文案 + 输入框通用否
4App 验证app_verification弹窗:银行名 + 交易金额 + 引导文案(无输入框,去银行 App 确认)credit_card否
5拒绝信用卡reject_card弹窗:拒卡文案,可关闭credit_card否
6拒绝 PayPalreject_paypal弹窗:拒卡文案,可关闭paypal否
7完成订单complete_order关闭弹窗 → 回调商城 onComplete通用是
8重定向到 Loadingredirect_to_loading弹窗切回初始等待状态通用否

下发限制 ​

  • 仅 CHECKOUT / PENDING_REVIEW 状态可下发:TRACKING(纯浏览)会话无法下发指令
  • 拒卡类命令绑定下发时的卡号:购物者换卡后旧拒卡命令不再返回(避免新卡重弹旧拒卡窗)
  • 任何指令可中断任何状态(所有指令按钮始终可用)

命令详解 ​

1~3. OTP / 手机号 / 邮箱验证 ​

弹窗展示提示文案 + 输入框,购物者输入验证码后点击确认整值提交。三种命令 UI 与流程相同,区别只是提示语境(短信/邮件/App 验证码)。

  • 提交记录展示在管理端卡片已验证列表与订单详情中
  • 手机号/邮箱可从购物者表单数据自动带出,操作员可修改

4. App 验证(仅 credit_card) ​

弹窗展示 BIN 查询出的开卡银行名称 + 交易金额 + 引导文案,无输入框,购物者去银行 App 确认。

  • 金额/银行名由管理端自动带出(BIN 查询结果)

5. 拒绝信用卡(仅 credit_card) ​

弹窗展示自定义拒卡文案(从模板选用或自由输入)。购物者可关闭弹窗或点击「换卡支付」。

再次点击结算时的行为(SDK 按完整卡号判重):

  • 卡号已更换(改任意一位即视为换卡)→ 进入正常结算流程
  • 卡号未更换 → 不弹窗,改为顶部通知栏展示拒卡文案

会话不终结,购物者换卡后可重新提交。

6. 拒绝 PayPal(仅 paypal) ​

弹窗展示自定义文案,购物者可关闭弹窗换账号重新提交。会话不终结。

7. 完成订单 ​

管理端二次确认后下发(不可逆):

  1. 会话 → COMPLETED,归档为历史订单(含完整指令历史与购物者提交的所有数据)
  2. SDK 关闭弹窗、停止轮询,回调商城 onComplete({ orderNo })
  3. SDK 自动开启新一轮会话(同指纹)

⚠️ onComplete 有 15s 新鲜度门槛:页面挂起超 15s(典型:App 验证跳去银行 App 再回来)时不回调,商城完成页跳转不要只依赖该回调。

8. 重定向到 Loading ​

将购物者从当前验证弹窗切回初始 Loading 等待状态,常用于流程重来。

命令下发操作(操作员) ​

  1. 会话页点击未被接管的卡片 → 会话与当前操作员绑定(他人已接管的卡片不可操作)
  2. 接管后卡片右上角出现 「会话控制」下拉菜单
  3. 选择命令下发;验证类命令可填提示文案,拒卡命令可从模板选用
  4. 验证通过后下发「完成订单」结束流程

会话按租户隔离:操作员只能看到并操作本租户的会话。