mirror of
https://github.com/GMWalletApp/epusdt.git
synced 2026-07-07 10:16:15 +00:00
feat: integrate okpay switch-network flow and notify handling
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/GMWalletApp/epusdt/config"
|
||||
"github.com/GMWalletApp/epusdt/model/dao"
|
||||
"github.com/GMWalletApp/epusdt/model/mdb"
|
||||
"gorm.io/gorm/clause"
|
||||
@@ -157,6 +158,63 @@ var sensitiveSettingKeys = []string{
|
||||
mdb.SettingKeyInitAdminPasswordChanged,
|
||||
}
|
||||
|
||||
// OkPay settings helpers keep the provider-specific defaults in one place so
|
||||
// business logic does not need to repeat raw settings keys.
|
||||
func GetOkPayEnabled() bool {
|
||||
return GetSettingBool(mdb.SettingKeyOkPayEnabled, false)
|
||||
}
|
||||
|
||||
func GetOkPayShopID() string {
|
||||
return strings.TrimSpace(GetSettingString(mdb.SettingKeyOkPayShopID, ""))
|
||||
}
|
||||
|
||||
func GetOkPayShopToken() string {
|
||||
return strings.TrimSpace(GetSettingString(mdb.SettingKeyOkPayShopToken, ""))
|
||||
}
|
||||
|
||||
func GetOkPayAPIURL() string {
|
||||
return strings.TrimSpace(GetSettingString(mdb.SettingKeyOkPayAPIURL, "https://api.okaypay.me/shop/"))
|
||||
}
|
||||
|
||||
func GetOkPayCallbackURL() string {
|
||||
if configured := strings.TrimSpace(GetSettingString(mdb.SettingKeyOkPayCallbackURL, "")); configured != "" {
|
||||
return configured
|
||||
}
|
||||
appURI := strings.TrimSpace(config.GetAppUri())
|
||||
if appURI == "" {
|
||||
return ""
|
||||
}
|
||||
return strings.TrimRight(appURI, "/") + "/payments/okpay/v1/notify"
|
||||
}
|
||||
|
||||
func GetOkPayReturnURL() string {
|
||||
return strings.TrimSpace(GetSettingString(mdb.SettingKeyOkPayReturnURL, ""))
|
||||
}
|
||||
|
||||
func GetOkPayTimeoutSeconds() int {
|
||||
return GetSettingInt(mdb.SettingKeyOkPayTimeoutSeconds, 10)
|
||||
}
|
||||
|
||||
func GetOkPayAllowTokens() []string {
|
||||
raw := GetSettingString(mdb.SettingKeyOkPayAllowTokens, "USDT,TRX")
|
||||
if strings.TrimSpace(raw) == "" {
|
||||
return []string{"USDT", "TRX"}
|
||||
}
|
||||
parts := strings.Split(raw, ",")
|
||||
out := make([]string, 0, len(parts))
|
||||
for _, part := range parts {
|
||||
token := strings.ToUpper(strings.TrimSpace(part))
|
||||
if token == "" {
|
||||
continue
|
||||
}
|
||||
out = append(out, token)
|
||||
}
|
||||
if len(out) == 0 {
|
||||
return []string{"USDT", "TRX"}
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
// ListSettingsByGroup returns all rows for a given group (empty group = all),
|
||||
// excluding any keys in sensitiveSettingKeys.
|
||||
func ListSettingsByGroup(group string) ([]mdb.Setting, error) {
|
||||
|
||||
Reference in New Issue
Block a user