Files
shaguabijia-app-server/docs/api/admin-withdraw-refresh.md
T
ouzhou 0e42e96ddb docs(admin): 补充管理后台 API 与数据库文档 (#12)
新增 admin 模块接口文档(auth login/me、admins CRUD、audit-logs、feedback 处理、stats 概览、user coins/detail/status、wallet 流水、withdraw 对账/刷新/列表) + admin_user/admin_audit_log 两张表文档,更新 api/database README 索引。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: OuYingJun1024 <1034284404@qq.com>
Reviewed-on: #12
Co-authored-by: ouzhou <ouzhou@wonderable.ai>
Co-committed-by: ouzhou <ouzhou@wonderable.ai>
2026-06-06 15:58:23 +08:00

2.2 KiB
Raw Permalink Blame History

POST /admin/api/withdraws/{out_bill_no}/refresh — 单笔提现重试查单

所属:Admin·提现 组(前缀 /admin/api/withdraws | 鉴权:Bearer admin_token(角色:financesuper_admin 恒通过) | ← 返回 API 索引

对单笔提现单调微信查单并归一化:SUCCESSsuccessFAIL/CANCELLED/CLOSED→退款+failed;查到 WAIT_USER_CONFIRM 视为用户放弃(cancel_if_unconfirmed=True),撤单+退款;ACCEPTED/PROCESSING 等仍在途则保持 pending。已是终态的单直接返回、不再查。

入参

  • 路径:out_bill_nostring — 商户提现单号
  • 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 角色不足(需 financesuper_admin
  • 404 提现单不存在(detail="提现单不存在"
  • 503 微信支付未配置(捕获 WxPayNotConfiguredErrordetail="微信支付未配置"

注:微信查单本身失败(非未配置)时不抛错、不改状态,单保持 pending 等下次重试,故无 502

说明

  • 调用底层 app.repositories.wallet.refresh_withdraw_status(..., cancel_if_unconfirmed=True)(内部调微信查单/撤单/退款并 commit)。
  • 写操作记审计 admin_audit_logaction="withdraw.refresh"target_id=out_bill_nodetail{status, wechat_state},含触发管理员与客户端 IP)。
  • 关联 withdraw_order。金额单位为分。