feat(payment): 增加本地 Mock 支付渠道与缺失渠道提示

This commit is contained in:
yml2213
2026-11-01 15:45:00 +08:00
parent 13bda13633
commit 3576378e7e
3 changed files with 31 additions and 0 deletions
@@ -12,6 +12,7 @@ import (
"hfb_sys/backend/internal/integrations/payment/shuncheng"
"hfb_sys/backend/internal/middleware"
"hfb_sys/backend/internal/modules/order"
"hfb_sys/backend/internal/modules/paymentconfig"
"hfb_sys/backend/pkg/response"
"github.com/gin-gonic/gin"
@@ -316,6 +317,13 @@ func writePaymentError(c *gin.Context, err error) {
response.ServiceUnavailable(c, "数据库未连接")
case errors.Is(err, ErrPaymentUnavailable):
response.Error(c, http.StatusBadGateway, "payment_unavailable", "支付渠道暂不可用")
case errors.Is(err, paymentconfig.ErrNoActiveConfigFound):
response.Error(
c,
http.StatusServiceUnavailable,
"payment_channel_missing",
"尚未配置可用的支付渠道,请在后台「支付配置」启用渠道;本地联调可使用 Mock 渠道",
)
case errors.Is(err, ErrPaymentCannotStart), errors.Is(err, order.ErrOrderCannotPay):
response.Error(c, http.StatusConflict, "payment_cannot_start", "当前订单不能支付")
case errors.Is(err, ErrRefundCannotStart):