b23335d5fb
docs: reorganize api docs into categorized subdirectories and fill missing docs - Categorize 77 existing api docs into 16 business-domain subdirectories (auth/ad/wallet/coupon/compare/savings/signin/tasks/invite/user/ device/platform/intent/meituan/other) plus admin/ and internal/ - Split admin/ into 7 sub-resource subdirectories (auth/users/wallet/ withdraws/feedbacks/admins/ad) with 4 single-file docs at root - Create 21 new docs covering 28 previously undocumented endpoints: ad/watch-report, wallet/transfer-auth (3 endpoints), coupon/session+ stats+completed-today+prompt (7), invite/me+invitees+bind+landing-track, user/onboarding (2), platform/flags+ad-config+app-version, intent/step+precoupon/step, analytics/events, order/report, report/submit+records, feedback/config+records, trace/finalize - Add mock request/response JSON examples to all new docs - Create docs/README.md with full category index for LLM navigation - Update docs/api/README.md: fix all links, add new endpoint rows, replace "no doc" markers with actual links - Fix back-navigation links (./README.md -> ../README.md or ../../README.md) in all moved files @
2.2 KiB
2.2 KiB
POST /admin/api/withdraws/{out_bill_no}/refresh — 单笔提现重试查单
所属:Admin·提现 组(前缀
/admin/api/withdraws) | 鉴权:Bearer admin_token(角色:finance,super_admin恒通过) | ← 返回 API 索引
对单笔提现单调微信查单并归一化:SUCCESS→success;FAIL/CANCELLED/CLOSED→退款+failed;查到 WAIT_USER_CONFIRM 视为用户放弃(cancel_if_unconfirmed=True),撤单+退款;ACCEPTED/PROCESSING 等仍在途则保持 pending。已是终态的单直接返回、不再查。
入参
- 路径:
out_bill_no(string) — 商户提现单号 - body:无
出参
响应 200:WithdrawOrderOut(归一化后的最新提现单)
WithdrawOrderOut
| 字段 | 类型 | 说明 |
|---|---|---|
id |
int | 提现单主键 |
user_id |
int | 所属用户 |
out_bill_no |
string | 商户提现单号 |
amount_cents |
int | 提现金额,单位:分 |
status |
string | 单状态(pending / success / failed) |
wechat_state |
string | null | 微信侧转账状态 |
transfer_bill_no |
string | null | 微信转账单号 |
fail_reason |
string | null | 失败/退款原因 |
created_at |
datetime | 创建时间(ISO 8601 UTC) |
updated_at |
datetime | 更新时间(ISO 8601 UTC) |
错误码
401未带/无效/过期 admin token、管理员被禁用(响应头带WWW-Authenticate: Bearer)403角色不足(需finance或super_admin)404提现单不存在(detail="提现单不存在")503微信支付未配置(捕获WxPayNotConfiguredError,detail="微信支付未配置")
注:微信查单本身失败(非未配置)时不抛错、不改状态,单保持
pending等下次重试,故无502。
说明
- 调用底层
app.repositories.wallet.refresh_withdraw_status(..., cancel_if_unconfirmed=True)(内部调微信查单/撤单/退款并 commit)。 - 写操作记审计 admin_audit_log(
action="withdraw.refresh",target_id=out_bill_no,detail为{status, wechat_state},含触发管理员与客户端 IP)。 - 关联 withdraw_order。金额单位为分。