diff --git a/apps/payment/backend/business/stripe_manager.py b/apps/payment/backend/business/stripe_manager.py index 44f4beb..aedc006 100644 --- a/apps/payment/backend/business/stripe_manager.py +++ b/apps/payment/backend/business/stripe_manager.py @@ -4,6 +4,7 @@ from backend.infra.payment.models import StripeTransactionDoc from backend.infra.payment.constants import TransactionStatus from common.config.app_settings import app_settings import stripe +from stripe.error import SignatureVerificationError from common.log.module_logger import ModuleLogger from decimal import Decimal import json @@ -232,13 +233,13 @@ class StripeManager: connected_account = stripe.Account.retrieve( transaction.to_stripe_account_id ) - if ( - connected_account.capabilities.get("card_payments") != "active" - or connected_account.capabilities.get("transfers") != "active" - ): - raise Exception( - f"Connected account {transaction.to_stripe_account_id} lacks required capabilities." - ) + # if ( + # connected_account.capabilities.get("card_payments") != "active" + # or connected_account.capabilities.get("transfers") != "active" + # ): + # raise Exception( + # f"Connected account {transaction.to_stripe_account_id} lacks required capabilities." + # ) if not transaction.stripe_product_id: product = stripe.Product.create( @@ -316,13 +317,13 @@ class StripeManager: ) -> Tuple[bool, Optional[str], Optional[str]]: try: event = stripe.Webhook.construct_event( - payload, stripe_signature, settings.STRIPE_WEBHOOK_SECRET + payload, stripe_signature, app_settings.STRIPE_WEBHOOK_SECRET ) except ValueError as e: await self.module_logger.log_exception(exception=e, text="Invalid payload") return False, None, None - except stripe.error.SignatureVerificationError as e: + except SignatureVerificationError as e: await self.module_logger.log_exception( exception=e, text="Invalid signature" ) diff --git a/apps/payment/common/config/app_settings.py b/apps/payment/common/config/app_settings.py index 0a6557f..3b2a273 100644 --- a/apps/payment/common/config/app_settings.py +++ b/apps/payment/common/config/app_settings.py @@ -3,20 +3,21 @@ from pydantic_settings import BaseSettings class AppSettings(BaseSettings): NAME: str = "payment" - APP_NAME:str = NAME + APP_NAME: str = NAME JWT_SECRET_KEY: str = "" - ACCESS_TOKEN_EXPIRE_MINUTES:int = 3600 - REFRESH_TOKEN_EXPIRE_DAYS:int = 1 + ACCESS_TOKEN_EXPIRE_MINUTES: int = 3600 + REFRESH_TOKEN_EXPIRE_DAYS: int = 1 - MONGODB_URI:str= "" - MONGODB_NAME:str= "" + MONGODB_URI: str = "" + MONGODB_NAME: str = "" - LOG_BASE_PATH : str = "./log" + LOG_BASE_PATH: str = "./log" BACKEND_LOG_FILE_NAME: str = APP_NAME APPLICATION_ACTIVITY_LOG: str = APP_NAME + "-application-activity" - STRIPE_API_KEY: str="" + STRIPE_API_KEY: str = "" + STRIPE_WEBHOOK_SECRET: str = "" SITE_URL_ROOT: str = "" class Config: