diff --git a/frontend/src/views/user/Cart.vue b/frontend/src/views/user/Cart.vue index 38cd938..b9b7000 100644 --- a/frontend/src/views/user/Cart.vue +++ b/frontend/src/views/user/Cart.vue @@ -623,7 +623,7 @@ async function handleCheckout() { await cartStore.fetchCart() const orderId = res.data?.id const selectedChannel = paymentChannels.value.find(ch => ch.code === selectedPayment.value) - if (selectedChannel?.type === 'bepusdt' && orderId) { + if ((selectedChannel?.type === 'bepusdt' || selectedChannel?.type === 'hashpay') && orderId) { router.push(`/checkout/${orderId}`) } else { router.push('/orders') diff --git a/frontend/src/views/user/Checkout.vue b/frontend/src/views/user/Checkout.vue index 93d3434..6abccdd 100644 --- a/frontend/src/views/user/Checkout.vue +++ b/frontend/src/views/user/Checkout.vue @@ -102,6 +102,13 @@ async function createPayment() { orderId.value = Number(route.params.id) const res: any = await orderApi.createPayment(orderId.value) paymentInfo.value = res.data + + // HashPay: 直接跳转到外部支付页面 + if (res.data.checkout_url) { + window.location.href = res.data.checkout_url + return + } + totalTime.value = res.data.expiration_time || 600 remaining.value = totalTime.value