mirror of
https://gitee.com/wanwujie/sub2api
synced 2026-05-05 13:40:44 +08:00
fix payment resume result consistency
This commit is contained in:
@@ -177,6 +177,15 @@ function isPendingStatus(status: string | null | undefined): boolean {
|
||||
return PENDING_STATUSES.has(normalizeOrderStatus(status))
|
||||
}
|
||||
|
||||
async function resolveOrderFromResumeToken(resumeToken: string): Promise<PaymentOrder | null> {
|
||||
try {
|
||||
const result = await paymentAPI.resolveOrderPublicByResumeToken(resumeToken)
|
||||
return result.data
|
||||
} catch (_err: unknown) {
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
function clearStatusRefreshTimer(): void {
|
||||
if (statusRefreshTimer !== null) {
|
||||
clearTimeout(statusRefreshTimer)
|
||||
@@ -230,15 +239,13 @@ onMounted(async () => {
|
||||
}
|
||||
}
|
||||
|
||||
if (!order.value && resumeToken) {
|
||||
try {
|
||||
const result = await paymentAPI.resolveOrderPublicByResumeToken(resumeToken)
|
||||
order.value = result.data
|
||||
if (resumeToken) {
|
||||
const resolvedOrder = await resolveOrderFromResumeToken(resumeToken)
|
||||
if (resolvedOrder) {
|
||||
order.value = resolvedOrder
|
||||
if (!orderId) {
|
||||
orderId = result.data.id
|
||||
orderId = resolvedOrder.id
|
||||
}
|
||||
} catch (_err: unknown) {
|
||||
// Resume token recovery failed; do not trust legacy public out_trade_no fallback.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,12 +285,7 @@ onMounted(async () => {
|
||||
|
||||
const refreshOrder = async (): Promise<PaymentOrder | null> => {
|
||||
if (resumeToken) {
|
||||
try {
|
||||
const result = await paymentAPI.resolveOrderPublicByResumeToken(resumeToken)
|
||||
return result.data
|
||||
} catch (_err: unknown) {
|
||||
return null
|
||||
}
|
||||
return await resolveOrderFromResumeToken(resumeToken)
|
||||
}
|
||||
|
||||
if (orderId) {
|
||||
|
||||
Reference in New Issue
Block a user