Lintas 实施方案:Bappebti 核查整改

PT Phillip Futures 线上开户系统 · 视频声明 / 审计轨迹 / 披露声明 / 简易账户最高权益
版本:V1.2日期:2026-09-28需求方:PT Phillip Futures实施方:PT LINTAS MAHESA RAYA依据:Bappebti Verification Notes、Enhancement for Lintas Team

分工与范围

Bappebti(印尼商品期货交易监管局)对 Phillip 线上开户系统提出核查意见,本方案是 Lintas 的落地实施说明。KYC 开户流程是嵌入 App 的 H5 页面。

角色负责人本次职责
H5 前端bingoKYC 流程页面:视频声明步骤、披露声明步骤、简易账户卡片;表单同意时提交表单编码和版本号;上报纯前端事件
后端Super视频存储与接口、审计日志表和写入、事件上报接口、表单版本管理、CRM 审计查询接口
App 原生HuongWebView 开启摄像头/麦克风权限;Open Account 入口点击事件上报;请求头补充设备信息
CRM 前端BingoKYC 详情页视频播放和审批;审计轨迹查询页面和客户时间线页签

四项需求 × 负责方

需求H5(bingo)后端(Super)App(Huong)CRM 前端(Bingo)相对工作量
1 视频声明●●●●中–大
2 审计轨迹○ 配合● 主导○ 配合●大
3 披露声明●○ 配合——小
4 最高权益● 写死文案———小

● 主要开发 ○ 配合改动 — 不涉及

改动后的 KYC 流程(相关部分)

…→新增:披露声明→开户声明 Pernyataan Pembukaan Akun→…→资金声明(98%)→新增:视频声明→资料完整性核验(100%)

新增两个步骤后,其余步骤的进度百分比由 bingo 统一重新计算。

1开户视频声明

需求定义

项目规则
适用账户标准账户(Standar)和简易账户(Sederhana / CDDS)都需要
流程位置资金声明(98%)之后、资料完整性核验(100%)之前
顶部提示Silahkan membaca pernyataan dibawah dengan jelas dan rekam(请清楚朗读下方声明并录制)
朗读声明Saya telah memahami risiko dan mekanisme perdagangan berjangka(我已理解期货交易的风险和机制)
语言只显示印尼语
时长最长 20 秒,没有最短时长要求。到 20 秒自动停止;客户可提前手动停止
放行条件视频上传成功后才能进入下一步
CRM可在线播放、审批、拒绝;拒绝后客户可重新录制

H5 · bingo

  1. 新增步骤页:黑底,顶部提示语,中间大字声明(录制期间一直显示),前置摄像头预览,红色 START 按钮。
  2. 录制方案:用 getUserMedia + MediaRecorder 在页面内录制。不要用 <input type="file" capture>,因为它会跳到系统相机,无法显示声明,也控制不了 20 秒上限。
  3. START 后显示倒计时(20 → 0),到 0 自动停止;页面上同时给一个"停止"按钮。
  4. 录完后可回放、重录、提交。
  5. 建议码率控制在约 1 Mbps(20 秒约 2–3 MB)。上传时显示进度,失败可重试。
  6. 权限被拒绝或设备不支持时,给出提示和重试入口,不能出现白屏。
  7. 兼容性自测:iOS 14.5 及以上的 WKWebView(输出 mp4)、Android WebView(通常输出 webm)。

App 原生 · Huong

H5 在 WebView 里调摄像头,需要 App 放开权限,否则 bingo 这边做完也跑不起来:

后端 · Super

CRM 前端 · Bingo

验收标准

2审计轨迹

分工原则:凡是有后端接口参与的动作,审计日志一律由后端(Super)在接口处理成功或失败时写入,前端不重复上报。原因有三:前端日志可以被篡改或丢失;时间和 IP 必须以服务器为准;Bappebti 看的是服务器记录。只有不经过后端的纯前端动作(例如点击入口、页面启动)才由前端调用后端提供的上报接口,时间和 IP 仍由后端补上。

通用字段(每条日志都要有)

字段说明来源
user_id / actor_type操作人 ID;类型为客户、CRM 员工或系统(自动任务)后端从 token 解析
event_code / action_type事件编码(见下表);操作类型 CREATE / READ / UPDATE / DELETE / LOGIN / LOGOUT / APPROVE / REJECT 等后端
created_at服务器时间,精确到毫秒,GMT+7后端,不采用客户端时间
ip_address客户端真实 IP,网关后面需读取 X-Forwarded-For后端
client_id / proposal_no关联的客户和开户提案后端
result / fail_reason成功或失败,以及失败原因后端
detail事件明细,JSON 格式(表单编码与版本、金额、订单号、修改前后值等)后端
device_id / platform / app_version设备信息App 和 H5 在请求头中带上:X-Device-Id、X-Platform、X-App-Version

事件清单与负责方

#事件事件编码写入方触发时机与记录要点
1注册成功REGISTER_SUCCESS后端注册接口创建账号成功时写入;记录手机号或邮箱(脱敏)、注册渠道
2登录成功LOGIN_SUCCESS后端登录接口签发 token 成功时写入;登录方式(密码、验证码等)
登出成功LOGOUT_SUCCESS后端
App 配合
登出接口注销 token 时写入。App 必须调用登出接口,不能只在本地清 token,否则后端记不到
3模拟交易开仓DEMO_OPEN后端模拟下单接口或交易网关返回成交时写入;品种、方向、手数、价格、订单号
模拟交易平仓DEMO_CLOSE后端平仓成交时写入;订单号、平仓价、盈亏
4点击 Open Account 入口OPEN_ACCOUNT_CLICKApp 上报Open Account 入口在 App 原生页面,点击时还没有后端请求,所以由 App 调用上报接口 POST /audit/event
KYC 流程启动KYC_STARTH5 上报H5 首页加载完成并识别用户后,bingo 调用上报接口;带上账户类型(标准或简易)。如果启动时本来就有"创建或恢复开户提案"的接口,改为由后端在该接口写入,H5 不需要上报
5资料提交成功KYC_STEP_SUBMIT后端每个 KYC 步骤的保存接口成功时写入;步骤名称、进度百分比
6同意每份表单FORM_AGREE后端
H5 配合
覆盖风险告知书、委托授权协议、交易规则、披露声明、开户声明、客户受理要件核验清单等。bingo 在客户勾选同意并提交时,请求里必须带 form_code 和 doc_version;Super 校验版本是否为当前有效版本后写入。每份表单一条记录
7提交视频VIDEO_SUBMIT后端视频上传并校验成功时写入;文件 ID、时长、声明文案版本
8KYC 流程完成KYC_COMPLETE后端资料完整性核验(100%)最终提交成功、提案进入待审批状态时写入
9KYC 审批通过(人工 / 自动)KYC_APPROVE后端人工:CRM 审批接口写入,记录员工账户;自动:自动审批任务写入。detail 中注明 manual 或 auto。建议同时记录审批拒绝 KYC_REJECT
10修改个人资料 / 银行卡PROFILE_UPDATE
BANK_UPDATE
后端修改接口成功时写入;记录修改前 → 修改后(敏感字段脱敏)。客户在 App 修改和员工在 CRM 编辑都要记录
11入金提交成功DEPOSIT_SUBMIT后端入金申请创建成功时写入;金额、币种、银行
入金审核通过DEPOSIT_APPROVE后端CRM 审核通过或自动入账时写入;审核人
出金成功WITHDRAW_SUCCESS后端出金审核通过并完成出账时写入;金额、收款账户(脱敏)
出金驳回成功WITHDRAW_REJECT后端CRM 驳回出金时写入;驳回人、原因
12开仓成功ORDER_OPEN_SUCCESS后端真实账户下单,交易网关返回成交时写入;品种、方向、手数、成交价、订单号
开仓失败ORDER_OPEN_FAIL后端交易网关返回拒单或错误时写入;失败原因(保证金不足、休市等)。前端本地校验拦下的请求不在范围内
13平仓成功ORDER_CLOSE_SUCCESS后端平仓成交时写入;订单号、平仓价、盈亏
平仓失败ORDER_CLOSE_FAIL后端平仓被拒或出错时写入;失败原因

后端 · Super

H5 · bingo

App 原生 · Huong

CRM 前端 · Bingo

验收标准

3披露声明(Disclosure Statement)

项目规则
位置放在「Pernyataan Pembukaan Akun」(开户声明)之前
适用账户标准账户和简易账户
文档使用与 20%、87%、91% 阶段相同版本的《风险披露声明》,不新增文档
交互阅读文档 → 勾选同意 → 下一步,和现有表单步骤一致

H5 · bingo

后端 · Super

和 6 月确认书的关系:6 月 CDDS 确认书 S5 / C5 删除了 85% 的披露声明步骤。本次按 Bappebti 意见加回,以本方案为准。如果当时的代码只是隐藏了步骤,可以直接复用。

4简易账户最高权益 Rp 25.000.000

在账户类型选择页的「Akun Sederhana」卡片中,新增一行 Ekuitas Maksimal Rp 25.000.000,位置在「Maksimal Deposit」下方、「Komisi」上方。标准账户卡片不变。

Akun Sederhana(修改后)
Minimal Deposit AwalRp 6.000.000
Maksimal DepositRp 10.000.000
Ekuitas Maksimal(新增)Rp 25.000.000
Komisi$7.5 / Lot
SpreadMulai dari 0.02
Ukuran TransaksiMulai 0.1 Lot
Leverage1:100

H5 · bingo

范围说明:本次只做页面展示。Bappebti 原文写的是"交易日终最高权益的规定"。如果 Phillip 后续要求系统管控(例如日终权益超限报表、达到上限后禁止入金),需要另行提出需求。

排期建议与交付物

顺序工作负责说明
1审计表设计 + 上报接口 + 表单版本管理Super先把底座搭好,后面的新功能开发时直接写日志,不用返工
1WebView 摄像头和麦克风权限Huong需要 App 发版
2最高权益展示、披露声明步骤bingo + Super改动小,可先上线;最高权益为前端写死文案
3视频声明(H5 + 后端 + CRM)bingo、Super、Huong依赖 App 新版本
413 类审计事件接入 + CRM 审计页面Super 主导—
5全流程回归 + 录制演示视频全员用于提交 Bappebti

具体人天由各负责人根据现有代码评估后补充。

提交 Bappebti 的材料:① 新版开户流程演示视频(包括视频声明、披露声明、简易账户最高权益);② CRM 审计轨迹截图(一个客户的完整时间线,以及员工审批记录);③ CRM 视频核实页面截图;④ 交易审计轨迹截图。