feat: integrate unified payment and wallet refunds

This commit is contained in:
2026-08-02 23:24:32 +08:00
parent f0b8af0bc8
commit 82a2106a97
64 changed files with 1519 additions and 254 deletions

View File

@@ -59,7 +59,7 @@ SLA 从事件创建还是用户确认开始计时须由业务方确认;系统
## 3. 商城下单至完成
1. 用户浏览分类和商品,加入购物车或立即购买,选择地址、优惠券、预约时段和支付方式。
2. 系统冻结库存、核算优惠和运费/服务费,创建待支付订单;支付回调成功后转为待履约。
2. 系统冻结库存、核算优惠和运费/服务费,创建待支付订单;支付回调成功后转为待履约。支付统一创建 `payment_order`,客户端返回不作为成功依据,必须以验签回调或主动查单结果为准。支付单默认 30 分钟过期,由 Worker 触发 API 关单,过期后成功回调进入支付异常待人工确认。
3. 若有合同,创建第三方签署任务。需合同的商品应在签约成功后才允许派单;签约失败/超时可取消并按规则退款。
4. 按商品履约属性生成配送、安装或维修任务。系统按区域、技能、上班状态、距离、负载和分账规则分配人员;无法派单时进入人工调度队列。
5. 配送任务从接单开始记录配送轨迹:接单、出发、位置上报、到达、签收/异常等节点按时间顺序关联订单。用户查看简化进度与预计到达,运营人员查看完整轨迹和定位质量。
@@ -97,7 +97,7 @@ SLA 从事件创建还是用户确认开始计时须由业务方确认;系统
## 7. 资金与提现
- 支付、充值、退款、佣金、提现均以不可变资金流水记录,余额是流水聚合结果而非唯一事实来源。
- 支付、充值、退款、佣金、提现均以不可变资金流水记录,余额是流水聚合结果而非唯一事实来源。首期退款只能由用户端在支付成功后配置天数内发起,已履约订单禁止退款;支持订单项和多次部分退款,累计不超过实付金额。财务审核通过后在同一事务内退入用户钱包并写不可变流水,不调用渠道原路退款。
- 提现流程:服务人员/气站提交申请 -> 系统校验可提现余额、实名与风控 -> 财务审核 -> 线下打款/三方打款 -> 回填凭证和结果。
- 附件规定“审核通过,线下打款”;本期应支持审核通过、审核拒绝(必填原因)、打款中、已打款、打款失败、撤回。
- 固定时间对账应对比平台订单、支付渠道、退款和佣金流水;差异项不得自动提现。

View File

@@ -95,7 +95,8 @@
- 用户端 API 固定为 `/heqi/client/v1/user`,令牌客户端为 `user_app`,不得与任何后台或工作人员令牌互用。
- 首期实现手机号密码/验证码登录、普通注册、邀请注册、资料、地址、服务归属、已发布内容与阅读确认、商城下单和余额支付、物流查询/确认收货、供气合同及订单查询、工单、钱包充值/提现/银行卡。邀请注册可携带气站 `identity` 和可选配送点 `identity`,服务端在事务内校验组织关系并建立唯一服务归属。
- 充值先创建待支付订单;仅开发配置允许 Mock 支付确认,确认后才写余额及不可变流水。微信和支付宝未配置渠道时必须明确返回不可用,不得模拟成功。
- 充值先创建待支付订单;仅开发配置允许 Mock 支付确认,确认后才写余额及不可变流水。微信和支付宝未配置渠道时必须明确返回不可用,不得模拟成功。Android/iOS 通过渠道 SDK 调起支付宝 App 支付和微信 App 支付Web 使用支付宝手机网站支付或微信 JSAPI。客户端回传仅用于提示并轮询服务端支付状态不能直接推进订单。
- 用户可在未履约订单的退款窗口内选择订单项和数量提交退款原因;金额由服务端按实付分摊核定。退款申请、审核结果和钱包入账状态均可在订单页查看。
- 商城订单交易状态与物流状态分离;物流单号、公司、发货和收货时间由服务端保存,用户只能查看本人订单并确认收货。
- 首期不伪造设备控制、安全事件、押金、消息、发票、收藏、紧急联系人、账户注销和完整售后能力;文档中这些能力保留为后续迭代,不得以静态成功响应冒充已实现。

View File

@@ -90,7 +90,8 @@
- 登录令牌短期有效,刷新令牌可撤销;后台高权限账号启用 MFA、IP/设备策略。平台后台管理的平台、气站、配送、员工和业主账号密码按当前实施口径仅要求不少于 6 个字符,不附加复杂度校验。
- 权限校验在服务端执行,前端菜单隐藏不构成权限控制。按角色、站点、区域、对象归属联合鉴权。
- 手机号、地址、身份证明、收款账户、定位、视频为敏感数据:传输 TLS、存储加密/字段加密、显示脱敏、访问留痕、最小化留存。
- 所有支付回调验证签名与金额、订单、商户号一致性;合同文件使用可信第三方原文与哈希存证。
- 所有支付回调验证签名与金额、订单、商户号一致性;合同文件使用可信第三方原文与哈希存证。渠道回调入口为 `/heqi/payment-return/v1/{alipay|wechat}/notify`,不使用用户 JWT必须完成渠道证书验签、商户/appid、平台支付单号、金额、币种和状态校验后才可在数据库事务中推进业务。重复通知必须幂等原始敏感报文只保存摘要。
- `payment_order` 是统一支付尝试事实;`payment_refund``payment_refund_item` 保存用户退款申请及明细。审批通过与钱包入账必须同事务完成。
- 图片/视频上传做文件类型、大小、病毒/恶意内容检测;访问采用短期授权,不使用公开桶。
- 设备控制、告警等级调整、资金审核、数据导出、账号注销等高风险操作要求二次确认和审计。