3d1e8969e6
- 新增 docs/integrations/(README + jiguang/sms/meituan/pangle/wxpay 各一篇): 记录各 SDK 集成的签名/验签/加解密/协议细节与踩坑(对齐 app/integrations 分层) - docs/api 接口文档变薄: 受影响接口头部加「集成实现」链接,把验签/RSA/CPS 签名 等重逻辑描述移到集成文档;ad-pangle-callback 验签段精简为指针 - docs/api/README 补架构说明(api 薄 / 重逻辑在 integrations) - 后端技术实现.md 目录树补全(福利/钱包/签到/省钱/发奖端点 + crud/integrations 现状), pangle/wxpay 标注移入 integrations - ad_reward_golive_checklist 路径同步 core→integrations Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
# POST /api/v1/wallet/withdraw — 发起提现到微信零钱
|
||
|
||
> 所属:Wallet 组(前缀 `/api/v1/wallet`) | 鉴权:Bearer | 限流:同 IP ≤20 次/分 | [← 返回 API 索引](./README.md)
|
||
>
|
||
> 集成实现:见 [integrations/wxpay](../integrations/wxpay.md)(微信 V3 商家转账、签名、实名加密)。
|
||
|
||
## 入参
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|---|---|---|---|
|
||
| `amount_cents` | int | ✅(>0) | 提现金额(分),须落在 `[min_cents, max_cents]` |
|
||
| `user_name` | string | ❌ | 实名(达额时微信商家转账要求,可空) |
|
||
| `out_bill_no` | string | ❌ | **客户端幂等键(商户单号)**:同号重试不重复转账;不传则服务端生成 |
|
||
|
||
## 出参
|
||
响应 `200`:`WithdrawResultOut`
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|---|---|---|
|
||
| `out_bill_no` | string | 商户提现单号(查单用) |
|
||
| `status` | string | `pending` / `success` / `failed` |
|
||
| `wechat_state` | string \| null | 微信侧原始状态 |
|
||
| `amount_cents` | int | 本次提现额(分) |
|
||
| `cash_balance_cents` | int | 提现后现金余额(分) |
|
||
| `package_info` | string \| null | 拉起微信确认页用(`WXOpenBusinessView` requestMerchantTransfer) |
|
||
| `mch_id` | string \| null | 商户号 |
|
||
| `app_id` | string \| null | 微信 AppID |
|
||
|
||
## 错误码
|
||
- `400` 金额越界 / 未绑定微信
|
||
- `409` 现金余额不足
|
||
- `502` 微信转账调用失败(余额已退回)
|
||
- `503` 微信支付未配置
|
||
|
||
## 说明
|
||
走微信「商家转账到零钱」V3。先扣余额建单再调微信,转账失败则退回余额。`out_bill_no` 幂等防止网络重试重复打款。返回的 `package_info`/`mch_id`/`app_id` 供 App 拉起微信确认页;确认结果由 [wallet-withdraw-status](./wallet-withdraw-status.md) 轮询。
|