ghsApp 拉卡拉进件与收款账户管理.md 5.4 KB

Summary

  • 在“门店设置”下新增“收款账户管理”,支持草稿继续/删除、历史申请、状态刷新、驳回修改重提、银行卡更换、设置当前收款账户。
  • 新增一个 Vue 页面承载五步进件表单;支持上一步修改、自动保存草稿、OCR 自动填充、电子合同签约及最终提交。
  • 本期不实现停用账户;ghsApp 固定使用批发费率 0.33
  • 首次进件认证通过后,后端幂等自动提交 WECHAT_PAYB2B_SYT 两个增终申请。

Backend And Data

  • 新增 LakalaAccountControllerbiz-ghs/lakala 业务模块及 SQL 建表脚本:
    • xhLakalaApplication:申请主记录,关联 mainId/shopId,保存申请类型、当前步骤、草稿数据、远端编号、合同状态、审核状态、驳回原因。
    • xhLakalaApplicationVersion:每次首次提交、驳回重提、银行卡变更提交时保存不可变表单快照、附件、请求结果和版本号。
    • xhLakalaAccount:认证通过后的账户投影,保存拉卡拉商户号、客户号、网点号、结算摘要、两个终端号和当前账户标记。
    • xhLakalaOperation:记录合同、首次进件、增终、结算变更等远端操作及 review_related_id,用于幂等和状态刷新。
  • 提供 /lakala-account/* API:
    • 列表、详情、创建草稿、自动保存、删除草稿。
    • 上传并 OCR、地区/银行选项查询。
    • 电子合同申请和签约状态查询。
    • 首次进件提交、驳回重提、状态刷新。
    • 结算银行卡变更提交、设置当前收款账户。
  • 草稿在字段变更防抖、图片上传成功、步骤切换时保存;仅草稿允许删除。
  • 首次进件状态刷新使用 open_merchant_info;结算变更和增终使用 customer_update_review。首次进件驳回修改后重新调用 merchant_encry 并生成新版本。
  • 认证通过后自动提交两个增终申请;全部通过并查询到终端信息后,账户才允许设置为当前收款账户。设置时同步更新当前 xhShoplklSjNolklScanTermNolklB2BTermNo

Lakala Integration

  • 新增统一进件客户端,基于 vendor/lakalasdk/openapi/v3,集中处理环境、证书、SM4、接口加密模式、错误日志和响应映射。
  • 测试环境使用现有测试参数;生产从非版本控制配置读取 app_id/serial_no/sm4_key/org_code/user_no,证书路径参考现有 Lakala.php。缺少生产参数时明确拒绝生产调用。
  • 上传接口同时完成:
    • OSS 备份至 lakala-onboarding/{mainId}/{YYYYMMDD}/{applicationId}/
    • 调用拉卡拉文件上传并保存 batch_no/url/img_type/OCR 结果。
  • 表单规则:
    • 小微上传法人身份证正反面;企业额外上传营业执照。
    • 结算默认对私,支持法人对私、非法人对私、对公三种模式。
    • 门店仅上传门头照、内设照、收银台照。
    • 商户固定默认值:MCC 5992、联系人石少华、手机号 15280215347、邮箱 479439056@qq.com;活动编号默认 37 并配置化。
    • 商户经营名称默认“地级市 + xhShop.merchantName”,地址和坐标从当前门店带入;按接口示例映射 latitude=shopLonglongtude=shopLat
    • settle_type=D1settlement_type=AUTOMATIC
    • EC015 合同固定使用批发费率 0.33 覆盖需求指定的银联二维码、微信、支付宝费率,其余沿用批准的默认配置。
    • 业务信息页展示签约手机号,默认带入门店/联系人手机号;最终提交前后端必须查询到合同状态 COMPLETEDec_no

Frontend

  • 将现有空页面 admin/item/lakala.vue 实现为收款账户管理页,并在 admin/home/me.vue 门店设置下方增加入口。
  • 新增一个进件 Vue 页面,支持 createresubmitsettlement-change 模式:
    • 创建/重提模式展示五步进件。
    • 银行卡更换模式仅展示结算信息并将按钮改为“提交申请”。
  • 实现图片上传、OCR 处理中轮询、自动填充、可修改字段、步骤校验、草稿恢复、合同 H5 打开和返回后签约状态刷新。
  • 列表展示草稿、待审核、已驳回、认证通过、银行卡变更状态;提供对应的继续、删除、修改申请、刷新、银行卡更换和设置当前账户操作。

Test Plan

  • 验证小微与企业两条五步流程,上一步编辑和退出后恢复草稿。
  • 验证营业执照、身份证、银行卡 OCR 成功、处理中、失败及手动修正。
  • 验证三种结算模式的字段、附件和后端校验。
  • 验证未完成电子合同不能提交,签约完成后生成版本并提交。
  • 验证首次提交、驳回修改重提、认证通过、两个增终幂等提交及状态刷新。
  • 验证银行卡变更审核流程,以及设置当前账户后门店三个拉卡拉字段正确切换。
  • 验证跨 mainId/shopId 越权访问被拒绝,敏感远端错误不会泄露证书或密钥。
  • 执行 PHP 语法检查、相关接口联调、前端静态检查;不自动执行 npm run build:mp-weixin。结构变更完成后在知识项目运行 npm run indexnpm run validate

Assumptions

  • 本期不实现账户停用。
  • 一个 mainId 可以拥有多个申请和认证账户,但当前收款账户按当前 shopId 设置。
  • 生产进件参数由上线前补入环境配置。
  • 拉卡拉若拒绝对驳回申请再次调用 merchant_encry,系统记录并展示远端错误,不回滚本地新版本。