a563c1ca4b
docs/api目录文档分类和补全 --------- Co-authored-by: guke <guke@autohome.com.cn> Reviewed-on: #111
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。金额单位为分。