diff --git a/object/payment.go b/object/payment.go index 4e2def1b..282776e6 100644 --- a/object/payment.go +++ b/object/payment.go @@ -54,7 +54,7 @@ type Payment struct { // Order Info OutOrderId string `xorm:"varchar(100)" json:"outOrderId"` PayUrl string `xorm:"varchar(2000)" json:"payUrl"` - SuccessUrl string `xorm:"varchar(2000)" json:"successUrl""` // `successUrl` is redirected from `payUrl` after pay success + SuccessUrl string `xorm:"varchar(2000)" json:"successUrl"` // `successUrl` is redirected from `payUrl` after pay success State pp.PaymentState `xorm:"varchar(100)" json:"state"` Message string `xorm:"varchar(2000)" json:"message"` } diff --git a/routers/static_filter.go b/routers/static_filter.go index 9fed9aa2..b3248cf6 100644 --- a/routers/static_filter.go +++ b/routers/static_filter.go @@ -83,7 +83,11 @@ func fastAutoSignin(ctx *context.Context) (string, error) { return "", fmt.Errorf(code.Message) } - res := fmt.Sprintf("%s?code=%s&state=%s", redirectUri, code.Code, state) + sep := "?" + if strings.Contains(redirectUri, "?") { + sep = "&" + } + res := fmt.Sprintf("%s%scode=%s&state=%s", redirectUri, sep, code.Code, state) return res, nil }