import os class Config: # Flask configuration SECRET_KEY = os.environ.get('SECRET_KEY') or 'plutus-dev-secret-key-change-in-production' # PostgreSQL database configuration (Flask-SQLAlchemy) SQLALCHEMY_DATABASE_URI = 'postgresql://flask:FR0u9312rad$swib13125@192.168.20.53/plutus' SQLALCHEMY_TRACK_MODIFICATIONS = False # MySQL database configuration (read-only) MYSQL_CONFIG = { 'host': '103.210.154.25', 'database': 'splynx', 'user': 'splynximport', 'password': 'splynxrocksbabyy', 'port': 3306 } # Query configuration DEFAULT_QUERY_LIMIT = 10000 DEPOSIT_THRESHOLD = -5 # Payment Method Constants PAYMENT_METHOD_DIRECT_DEBIT = 2 PAYMENT_METHOD_CARD = 3 PAYMENT_METHOD_PAYMENT_PLAN = 9 # Process live on Sandbox # False = Sandbox - Default PROCESS_LIVE = True # Threading configuration MAX_PAYMENT_THREADS = 15 # Number of concurrent payment processing threads THREAD_TIMEOUT = 60 # Timeout in seconds for payment processing threads # Stripe API Keys STRIPE_LIVE_API_KEY = os.environ.get('STRIPE_LIVE_API_KEY') or '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' STRIPE_TEST_API_KEY = os.environ.get('STRIPE_TEST_API_KEY') or 'sk_test_51Rsi9gPfYyg6zE1S4ZpaPI1ehpbsHRLsGhysYXKwAWCZ7w6KYgVXy4pV095Nd8tyjUw9AkBhqfxqsIiiWJg5fexI00Dw36vnvx' # Stripe Publishable Keys (for frontend) STRIPE_LIVE_PUBLISHABLE_KEY = os.environ.get('STRIPE_LIVE_PUBLISHABLE_KEY') or 'pk_live_51LVotrBSms8QKWWA8pnSoc7ZdQsJb8g1wksUwBhTJWB1Hrt3vldhfWljM6ZZ14GduEwIXnofEARtRxBPuCxlySyS00rRr0sUf7' STRIPE_TEST_PUBLISHABLE_KEY = os.environ.get('STRIPE_TEST_PUBLISHABLE_KEY') or 'pk_test_51Rsi9gPfYyg6zE1SwH7Fr65S9FOyR13ZP14DG8CH6iKQpmI1wwWCB4k6KO3C1AaXgjmxzFVunVYubXdtLWpPQUvm00YBfDR0nd' # Select keys based on PROCESS_LIVE setting @property def STRIPE_SECRET_KEY(self): return self.STRIPE_LIVE_API_KEY if self.PROCESS_LIVE else self.STRIPE_TEST_API_KEY @property def STRIPE_PUBLISHABLE_KEY(self): return self.STRIPE_LIVE_PUBLISHABLE_KEY if self.PROCESS_LIVE else self.STRIPE_TEST_PUBLISHABLE_KEY