# 发票与提现运行方案

## 发票策略

第一版采用 adapter 设计：

- `manual`：后台人工开票，上传 PDF 或录入发票号码。
- `wechat_invoice`：微信支付电子发票能力可用时接入。
- future provider：第三方电子发票服务商。

## 发票状态

- `pending`：待开票。
- `processing`：开票中。
- `issued`：已开票。
- `failed`：开票失败。
- `red_reversed`：已冲红。

## 用户流程

1. 用户支付订单。
2. 若订单需要发票，创建发票申请。
3. 用户在订单详情查看发票状态。
4. 发票开具成功后下载 PDF 或查看发票信息。

## 后台流程

1. 后台查看发票申请。
2. manual 模式下人工开票并上传 PDF。
3. wechat_invoice 模式下调用 provider 开票、查询、回调。
4. 失败时记录 provider 错误码和处理备注。

## 专家提现策略

当前阶段不接微信分账或自动转账。专家提交提现申请，后台审核后人工线下打款。

后台必须记录：

- 审核人。
- 审核时间。
- 打款时间。
- 打款银行或渠道。
- 流水号。
- 凭证文件。
- 备注。

专家端显示：

- 已提交。
- 审核中。
- 已通过待打款。
- 已打款。
- 已驳回。

## 风控要求

- 提现金额不得超过可结算余额。
- 审核和打款必须分开记录。
- 凭证文件必须走私有文件存储。
- 导出提现表时隐藏敏感字段。
