diff --git a/controller/recycle_card.go b/controller/recycle_card.go index 6dcea0b..2c174d2 100644 --- a/controller/recycle_card.go +++ b/controller/recycle_card.go @@ -276,7 +276,12 @@ func RecycleCardOrderImageUpdate(c *gin.Context) { transfer, err := wxpay.Transfer(order.Price, userInfo.WxOpenID, "回收卡带") if err != nil { logger.Error("err:", err) - RespJson(c, status.InternalServerError, nil) + if err.Error() == "account balance insufficient" { + RespJson(c, status.MoneySufficient, nil) + } else { + RespJson(c, status.InternalServerError, nil) + } + return } diff --git a/lib/wxpay/wx_pay.go b/lib/wxpay/wx_pay.go index 379c802..6dd091c 100644 --- a/lib/wxpay/wx_pay.go +++ b/lib/wxpay/wx_pay.go @@ -902,6 +902,9 @@ func Transfer(amount uint32, openId, desc string) (*WxTransferResp, error) { } if wxResp.ReturnCode != "SUCCESS" || wxResp.ResultCode != "SUCCESS" { + if wxResp.ErrCodeDes == "余额不足" { + return nil, errors.New("account balance insufficient") + } return nil, errors.New("Transfer fail") }