| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package setting
- import (
- "github.com/QuantumNous/new-api/common"
- "github.com/QuantumNous/new-api/constant"
- )
- var (
- WaffoEnabled bool
- WaffoApiKey string
- WaffoPrivateKey string
- WaffoPublicCert string
- WaffoSandboxPublicCert string
- WaffoSandboxApiKey string
- WaffoSandboxPrivateKey string
- WaffoSandbox bool
- WaffoMerchantId string
- WaffoNotifyUrl string
- WaffoReturnUrl string
- WaffoSubscriptionReturnUrl string
- WaffoCurrency string
- WaffoUnitPrice float64 = 1.0
- WaffoMinTopUp int = 1
- )
- // GetWaffoPayMethods 从 options 读取 Waffo 支付方式配置
- func GetWaffoPayMethods() []constant.WaffoPayMethod {
- common.OptionMapRWMutex.RLock()
- jsonStr := common.OptionMap["WaffoPayMethods"]
- common.OptionMapRWMutex.RUnlock()
- if jsonStr == "" {
- return copyDefaultWaffoPayMethods()
- }
- var methods []constant.WaffoPayMethod
- if err := common.UnmarshalJsonStr(jsonStr, &methods); err != nil {
- return copyDefaultWaffoPayMethods()
- }
- return methods
- }
- // SetWaffoPayMethods 序列化 Waffo 支付方式配置并更新 OptionMap
- func SetWaffoPayMethods(methods []constant.WaffoPayMethod) error {
- jsonBytes, err := common.Marshal(methods)
- if err != nil {
- return err
- }
- common.OptionMapRWMutex.Lock()
- common.OptionMap["WaffoPayMethods"] = string(jsonBytes)
- common.OptionMapRWMutex.Unlock()
- return nil
- }
- func copyDefaultWaffoPayMethods() []constant.WaffoPayMethod {
- cp := make([]constant.WaffoPayMethod, len(constant.DefaultWaffoPayMethods))
- copy(cp, constant.DefaultWaffoPayMethods)
- return cp
- }
- // WaffoPayMethods2JsonString 将默认 WaffoPayMethods 序列化为 JSON 字符串(供 InitOptionMap 使用)
- func WaffoPayMethods2JsonString() string {
- jsonBytes, err := common.Marshal(constant.DefaultWaffoPayMethods)
- if err != nil {
- return "[]"
- }
- return string(jsonBytes)
- }
|