package errcode // 错误码常量 const ( OK = "0" // 参数错误 ErrInvalidParam = "10001" ErrMissingParam = "10002" ErrInvalidPayMethod = "10003" ErrInvalidAmount = "10004" // 鉴权错误 ErrUnauthorized = "20001" ErrAppNotFound = "20002" ErrPermissionDenied = "20003" // 业务规则错误 ErrOrderNotFound = "30001" ErrOrderAlreadyPaid = "30002" ErrOrderClosed = "30003" ErrRefundAmountExceed = "30004" ErrSharingAmountExceed = "30005" ErrSharingNotConfig = "30006" ErrSharingFeeExceed = "30007" ErrOrderIdempotent = "30008" ErrOrderNotPaid = "30009" ErrRefundNotFound = "30010" // 渠道错误 ErrChannelCreateFail = "40001" ErrChannelRefundFail = "40002" ErrChannelTimeout = "40003" ErrChannelNotSupport = "40004" ErrChannelVerifyFail = "40005" // 系统错误 ErrInternalDB = "50001" ErrInternalRedis = "50002" ErrInternalSystem = "50099" ) // messages 错误码对应的默认消息 var messages = map[string]string{ OK: "success", ErrInvalidParam: "参数校验失败", ErrMissingParam: "缺少必填参数", ErrInvalidPayMethod: "不支持的支付方式", ErrInvalidAmount: "金额非法", ErrUnauthorized: "签名验证失败", ErrAppNotFound: "应用不存在或已禁用", ErrPermissionDenied: "无权操作该资源", ErrOrderNotFound: "订单不存在", ErrOrderAlreadyPaid: "订单已支付", ErrOrderClosed: "订单已关闭", ErrRefundAmountExceed: "退款金额超过可退金额", ErrSharingAmountExceed: "分润金额超过最大比例", ErrSharingNotConfig: "未配置分润接收方", ErrSharingFeeExceed: "分润与服务费之和超过订单金额", ErrOrderIdempotent: "幂等请求,返回已有订单", ErrOrderNotPaid: "订单未支付,无法退款", ErrRefundNotFound: "退款单不存在", ErrChannelCreateFail: "渠道下单失败", ErrChannelRefundFail: "渠道退款失败", ErrChannelTimeout: "渠道调用超时", ErrChannelNotSupport: "渠道不支持该功能", ErrChannelVerifyFail: "回调验签失败", ErrInternalDB: "数据库错误", ErrInternalRedis: "Redis 错误", ErrInternalSystem: "系统内部错误", } // Message 返回错误码对应的消息 func Message(code string) string { if msg, ok := messages[code]; ok { return msg } return "未知错误" }