支付功能对齐网关文档 + 完善管理操作

- GatewayPayService: 新增 remark 字段(传uid/oid), 移除废弃 return_url, 新增 closeOrder/syncOrderStatus
- PaymentController: 新增 POST /payment/gateway/sync/:orderNo 和 /close/:id 端点
- Admin 订单页: 待支付订单增加「同步状态」按钮
- OrdersService: 下单时传入 remark 使 webhook 可匹配
- 清理 PaymentService 未使用依赖
- docs/progress.md 更新支付架构
This commit is contained in:
yuzhiran-dev
2026-06-05 13:19:44 +08:00
parent 538de50bb1
commit fb8152401b
5 changed files with 139 additions and 10 deletions
+29 -3
View File
@@ -92,6 +92,27 @@ export default function AdminOrders() {
}
}
async function handleSyncOrder(orderNo: string) {
try {
const res = await fetch(`${API_BASE}/payment/gateway/sync/${orderNo}`, {
method: 'POST',
headers: { Authorization: `Bearer ${token}` },
});
if (res.ok) {
const data = await res.json();
if (data.updated) {
alert('订单状态已同步更新为已支付');
} else {
alert(`状态同步完成:当前状态 ${data.status}`);
}
loadOrders();
} else {
const err = await res.json();
alert(err.message || '同步失败');
}
} catch { alert('同步失败,请重试'); }
}
async function handleMarkPaid(orderNo: string) {
if (!confirm('确认要将此订单标记为已支付吗?')) return;
try {
@@ -234,9 +255,14 @@ export default function AdminOrders() {
</button>
)}
{order.status === 'PENDING' && (
<button onClick={() => handleMarkPaid(order.orderNo)} className="text-xs text-green-600 hover:text-green-800">
</button>
<>
<button onClick={() => handleSyncOrder(order.orderNo)} className="text-xs text-blue-600 hover:text-blue-800">
</button>
<button onClick={() => handleMarkPaid(order.orderNo)} className="text-xs text-green-600 hover:text-green-800">
</button>
</>
)}
</div>
</td>