◀ 返回目录 05_开发 / 占位清单(一期) 05_开发/app/TODOs.md

占位清单(一期)

一期采用线下支付,凡是现有条件无法直接实现的能力,一律留空位 —— 接口与数据结构先留好,实现体空着,二期填。

调用方代码一律按最终形态写,占位函数保证能正常返回、不报错,二期只删 stub 分支。 这样二期填实现时,业务代码一行都不用改。


一、已实现(一期真能跑的)

模块 说明
pay.confirmReceipt 确认收款:订单从「待确认收款」推进到「待派单」,写一条本地流水
quickstartFunctions.ping 云函数连通性自检

二、占位清单

# 占位项 文件 空在哪 一期怎么办 二期补什么
1 微信支付下单 cloudfunctions/pay/index.js createOrder() 函数体 返回 {stub:true},订单直接进「待确认收款」 接统一下单,拿 prepay_id
2 支付结果回调 同上 notify() 函数体 返回 {stub:true} 验签 + 幂等查重 + 改状态
3 微信支付退款 同上 refund() 函数体 管理员线下退款,系统只改状态 接退款接口
4 资金分账 同上 profitSharing() 函数体 不划转,只记 platform_fee / coach_income 接分账接口
5 提现打款 待建 cloudfunctions/wallet transfer() 财务线下打款,系统只改状态 接商家转账到零钱
6 第三方实名认证 待建 cloudfunctions/user verifyRealname() 人工审核证件照片 接第三方实名接口
7 定位能力 小程序端封装 定位调用 用假坐标 / 手输地址 换组织主体后启用
8 实时语音通话 不建 — 入口占位,点击提示「敬请期待」 需《网络文化经营许可证》
9 订阅消息推送 待建 cloudfunctions/notify send() 只做站内提醒 配模板后接入
10 官方内容安全接口 待建 cloudfunctions/audit check() 本地关键词库 + 人工复核 接微信内容安全接口
11 地图选点 小程序端地址组件 地图组件 纯手输地址 换主体后接地图选点
12 优惠券 / 邀请有礼 不建 — 入口隐藏 二期整体做

三、数据结构里的空字段(先留着,二期直接用)

集合 字段 一期填什么 二期填什么
payments transaction_id 空字符串 微信支付单号
payments profit_sharing false 分账后置 true
payments sharing_detail [] 分账明细数组
payments sharing_at null 分账时间
payments refund_no 空字符串 退款单号
orders pay_channel 恒为 0(线下) 允许 1(微信支付)

四、二期恢复顺序

图 1 二期恢复顺序 13 个节点 · 最深 3 层
根节点 一级 二级 更深 点节点可折叠/展开它的下级
  • 二期开工,按这个顺序做
    • 1. 甲方的微信支付商户号到位,绑定小程序
    • 2. 填 pay.createOrder 实现(统一下单)
    • 3. 填 pay.notify 实现(回调验签 + 改状态)
    • 4. 填 pay.refund 实现(退款)
    • 5. 【先问】打 95017-2 确认分账走哪个产品:
      • 直连商户分账(简单,资金先到平台商户号)
      • 平台收付通(彻底,但需 ICP 许可证,只有公司办得下来)
    • 6. 若抽佣 > 30%,提前申请提升分账比例(审批时间不定)
    • 7. 填 pay.profitSharing 实现(分账)
    • 8. 填 wallet.transfer 实现(提现打款)
    • 9. orders.pay_channel 允许值加上 1
    • 10. 全流程联调 + 回归测试

五、一期没有因此绕开的问题

线下支付只解决了资金链路的合规问题。下面这些仍然要做,但全都是「上线前」的要求,不再阻塞开发:

仍是问题 说明
服务类目 微信类目库里没有「陪玩」类目,提审必须过这一关
主体类型 上线仍需组织主体;个人主体只能做测试
小程序备案 上线前必须完成,与支付无关
内容合规 UGC、未成年人保护、内容审核要求不变
平台定性 陪练者若是自由入驻的第三方商家,仍可能被认定为交易平台

开发阶段可以在个人主体的测试号上完整跑通全流程。