From 984b835898fd56b7afe1ea6d9e68ca34a757bf8f Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Wed, 27 Aug 2025 19:36:43 -0400 Subject: [PATCH] sub data --- app/api/routes/routes.py | 1 + app/api/services/subscription.py | 65 +++++++++++++++++++++++--------- 2 files changed, 49 insertions(+), 17 deletions(-) diff --git a/app/api/routes/routes.py b/app/api/routes/routes.py index 32ed910..c9a51cf 100644 --- a/app/api/routes/routes.py +++ b/app/api/routes/routes.py @@ -241,6 +241,7 @@ def stripe_payments_webhook_post(): logger.info(f"Route Stripe Webhook POST ENTRY==>>>>") data = request.get_json() logger.info(f"Route Stripe Webhook POST ==>>>> {data}") + SubscriptionService.subscription_webhook_start(data) # response = MyProductsService.process_provision_actions(data) return [] except Exception as e: diff --git a/app/api/services/subscription.py b/app/api/services/subscription.py index 8028a14..42b1e6f 100644 --- a/app/api/services/subscription.py +++ b/app/api/services/subscription.py @@ -237,24 +237,55 @@ class SubscriptionService(BaseService): + @staticmethod + def subscription_webhook_start(data): + try: + with db.session.begin(): + logger.info(f"Subscription_Webhook_Start data ==>>>> {data}") + hook_data = data["data"] + logger.info(f"Subscription_Webhook_Start data ID ==>>>> {data['id']}") + # token = validated_data.get('token') + # uid = validated_data.get('uid') + # customerId = validated_data.get('customerId') + # priceId = validated_data.get('priceId') + # member_data = Members.get_member_by_uid(uid) + # member_id = member_data.id + # option_name = validated_data.get('option_name') + # sub_option = SubscriptionOptions.get_subscription_options_by_option_name(option_name) + # + # if sub_option is None: + # logger.error(f"Invalid Option Name") + # return [] + # + # stripe_session = StripeIntegration.create_checkout_session_subscription(priceId, customerId) + # logger.info(f"Inside Stripe_Session ===== : {stripe_session}") + # logger.info(f"Inside Stripe_Session ID ===== : {stripe_session.id}") + # PaymentsSession.add_payment_session(member_id, option_name, 'STRIPE', stripe_session.id) + # Simulate processing + response_data = { + "stripe_session":"", + "member_id": "", + "uid": "", + } + + return ResponseHelper.success(data=response_data) + + except ValidationError as err: + + logger.error(f"Validation Error: {getattr(err, 'messages', str(err))}") + db.session.rollback() + return ResponseHelper.unprocessable_entity(result_description="Validation exception") + + except ValueError as err: + logger.error(f"{getattr(err, 'messages', str(err))}") + db.session.rollback() + return ResponseHelper.error(result_description=str(err)) + + except Exception as e: + logger.error(f"An error occurred: {str(e)}", exc_info=True) + db.session.rollback() + return ResponseHelper.internal_server_error() - # items_data = SubscriptionOptionsItems.get_subscription_item(option_name) - # res_options_items = [] - # for t in items_data: - # res_options_items.append({ - # 'description': t.description - # }) - # - # # return ['Post Jobs 222', 'advanced instructors search', 'invite candidates', 'post events', - # # 'Cancel anytime'] - # return res_options_items - - # { - # "priceId": "price_1RzLIMLjZLojw6IZ95Eijmdd", - # "customerId": "cus_StebwHVaA1nUjC", - # "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjpbNTFdLCJtZW1iZXJfaWQiOls1MV0sInVpZCI6WyI5NzVlZTQyZS0zMTY5LTQ5NzgtOTJkNy1kMjhlN2UyYWMwMTQiXX0sImV4cCI6MTc1NjE3ODYwM30.rC8KGz7M8PjgMBu-Vh9YcEWgcFp_WDqJUvTEa_OUU8Y", - # "uid": "975ee42e-3169-4978-92d7-d28e7e2ac014" - # }