7.5 KiB
7.5 KiB
提现审核流程优化
需求
提现申请提交后,应该明确告知用户:
- ✅ 提现申请已提交
- ⏳ 正在审核中
- 💰 审核通过后会自动到账微信零钱
而不是误导用户以为已经立即到账。
修改内容
1. 后端提示优化
文件:app/api/withdraw/route.ts
return NextResponse.json({
success: true,
message: '提现申请已提交,正在审核中,通过后会自动到账您的微信零钱',
data: {
withdrawId,
amount,
account,
accountType: accountType === 'alipay' ? '支付宝' : '微信',
status: 'pending' // ✅ 新增:返回状态
}
})
变更:
- ❌ 旧:
message: '提现成功'(误导性) - ✅ 新:
message: '提现申请已提交,正在审核中,通过后会自动到账您的微信零钱'(准确) - ✅ 新增
status: 'pending'字段
2. 前端提示优化
文件:miniprogram/pages/referral/referral.js
if (res.success) {
wx.showModal({
title: '提现申请已提交 ✅',
content: res.message || '正在审核中,通过后会自动到账您的微信零钱',
showCancel: false,
confirmText: '知道了'
})
// 刷新数据(此时待审核金额会增加,可提现金额会减少)
this.initData()
}
变更:
- ❌ 旧标题:
'提现成功 🎉'(误导性) - ✅ 新标题:
'提现申请已提交 ✅'(准确) - ❌ 旧内容:
'¥X.XX 已到账您的微信零钱'(虚假) - ✅ 新内容:
'正在审核中,通过后会自动到账您的微信零钱'(真实) - ❌ 旧按钮:
'好的' - ✅ 新按钮:
'知道了'
3. 错误提示优化
} else {
wx.showToast({
title: res.message || res.error || '提现失败',
icon: 'none',
duration: 3000 // ✅ 增加显示时间到3秒
})
}
提现流程说明
完整流程
1. 用户点击"申请提现"
↓
2. 前端验证:可提现金额 >= 最低提现金额
↓
3. 后端创建提现记录:status = 'pending'
↓
4. 提示用户:"提现申请已提交,正在审核中"
↓
5. 刷新分销中心数据:
- 待审核金额 += 提现金额
- 可提现金额 -= 提现金额
↓
6. 管理员在后台审核
↓
7. 审核通过:
- 更新 withdrawals.status = 'completed'
- 自动转账到微信零钱
- 发送微信通知给用户
状态说明
| 状态 | 英文 | 说明 | 用户提示 |
|---|---|---|---|
| 待审核 | pending |
提现申请已提交,等待管理员审核 | 正在审核中 |
| 已完成 | completed |
审核通过,已转账到微信零钱 | 已到账 |
| 已拒绝 | failed |
审核未通过 | 提现失败 |
数据变化示例
提现前:
累计佣金: 100元
待审核金额: 0元
可提现金额: 100 - 0 = 100元
申请提现50元后:
累计佣金: 100元
待审核金额: 0 + 50 = 50元
可提现金额: 100 - 50 = 50元
审核通过后:
累计佣金: 100元
待审核金额: 50 - 50 = 0元
已提现金额: 0 + 50 = 50元
可提现金额: 100 - 0 = 100元 (如果有新订单)
用户体验对比
修改前(误导性)
┌─────────────────────┐
│ 提现成功 🎉 │
├─────────────────────┤
│ ¥50.00 已到账您的 │
│ 微信零钱 │
├─────────────────────┤
│ [好的] │
└─────────────────────┘
问题:
- ❌ 用户以为钱已经到账
- ❌ 用户去微信查看,发现没钱
- ❌ 产生疑惑和不满
修改后(准确清晰)
┌─────────────────────┐
│ 提现申请已提交 ✅ │
├─────────────────────┤
│ 正在审核中,通过后 │
│ 会自动到账您的微信 │
│ 零钱 │
├─────────────────────┤
│ [知道了] │
└─────────────────────┘
优点:
- ✅ 用户知道需要等待审核
- ✅ 用户知道审核通过后会自动到账
- ✅ 符合实际情况
后续优化建议
1. 审核通知
管理员审核通过后,发送微信模板消息通知用户:
// 伪代码
wx.sendTemplateMessage({
touser: userOpenId,
template_id: 'OPENTM415934726',
data: {
thing1: { value: '提现申请' },
amount2: { value: '50.00元' },
phrase3: { value: '审核通过' },
time4: { value: '2026-02-04 15:30' }
}
})
2. 提现记录页面
在"我的"页面增加"提现记录"入口,让用户查看:
- 待审核的提现申请
- 已完成的提现记录
- 失败的提现记录及原因
3. 审核预计时间
在提示中增加审核时长预期:
正在审核中,预计1-3个工作日内完成审核,
通过后会自动到账您的微信零钱
4. 自动审核
对于小额提现(如50元以下),可以实现自动审核:
if (amount <= 50) {
// 自动审核通过
await query(`UPDATE withdrawals SET status = 'completed' WHERE id = ?`, [withdrawId])
// 立即转账
await wechatPay.transferToWallet(...)
return { message: '提现成功,已到账您的微信零钱' }
} else {
// 需要人工审核
return { message: '提现申请已提交,正在审核中' }
}
管理后台提现审核功能
审核页面功能
-
提现列表:
- 显示所有待审核的提现申请
- 显示用户信息、提现金额、申请时间
- 显示用户的累计佣金、历史提现次数
-
审核操作:
- 通过:调用微信商家转账接口
- 拒绝:填写拒绝原因
-
记录查询:
- 已完成的提现记录
- 失败的提现记录
审核接口(待实现)
// POST /api/admin/withdraw/approve
{
"withdrawId": "W1738694028123",
"action": "approve" | "reject",
"reason": "拒绝原因(可选)"
}
测试步骤
1. 测试提现申请
- 在小程序中进入分销中心
- 确保可提现金额 >= 5元
- 点击"申请提现"按钮
- 确认提现金额
- 查看提示是否为"提现申请已提交,正在审核中"
2. 验证数据变化
提现后立即刷新页面,检查:
- ✅ 累计佣金不变
- ✅ 待审核金额增加
- ✅ 可提现金额减少
- ✅ 提现按钮重新判断是否可用
3. 查看数据库
-- 查看提现记录
SELECT * FROM withdrawals
WHERE user_id = 'ogpTW5fmXRGNpoUbXB3UEqnVe5Tg'
ORDER BY created_at DESC
LIMIT 5;
-- 应该看到最新的记录,status = 'pending'
4. 模拟审核通过
-- 手动更新状态为已完成
UPDATE withdrawals
SET status = 'completed',
completed_at = NOW()
WHERE id = 'W1738694028123';
再次刷新小程序,检查:
- ✅ 待审核金额减少
- ✅ 可提现金额恢复
相关文件
app/api/withdraw/route.ts- 提现接口(修改返回消息)miniprogram/pages/referral/referral.js- 前端提现逻辑(修改提示)
总结
这次优化的核心是准确传达信息:
- ❌ 不要给用户虚假期望("已到账"实际未到账)
- ✅ 明确告知用户当前状态("正在审核")
- ✅ 告知用户后续流程("通过后会自动到账")
这样可以:
- 提升用户体验(不会产生困惑)
- 减少客服咨询(用户知道要等待)
- 建立信任(说到做到)