changed webhook 6

This commit is contained in:
rizwanisready
2024-04-24 21:03:46 +05:30
parent 3fa49a8b7d
commit a0800e7f6d

View File

@@ -208,6 +208,7 @@ class PaymentProcessingService:
self.customer_id = self._get_customer_id()
self.transaction = self._get_transaction_by_id()
self.principal = self.transaction.principal
self.principal_subscription = None
def _get_customer_id(self):
# Access the customer ID from the charge object
@@ -235,7 +236,7 @@ class PaymentProcessingService:
logger.error(f"Subscription ID {subscription_id} not found.")
return None
def _get_principal_subscription_by_id(self):
def _create_principal_subscription(self):
order_id = self.charge_data["metadata"]["order_id"]
try:
subscription = self._get_subscription()
@@ -253,6 +254,7 @@ class PaymentProcessingService:
end_date=last_date,
grace_period_end_date=last_date + timedelta(days=15),
)
self.principal_subscription = principal_subscription
return principal_subscription
except Subscription.DoesNotExist:
logger.error("SOmething Went Wrong inside _get_principal_subscription_by_id().")
@@ -267,7 +269,7 @@ class PaymentProcessingService:
def _handle_success(self):
with transaction.atomic():
self._update_principal_subscription()
self._create_principal_subscription()
self._update_transaction_success()
self._credit_referral_reward_if_applicable()
@@ -317,7 +319,7 @@ class PaymentProcessingService:
self._update_reward(
referral_record=referral_record,
active_subscription=active_subscription,
create_subscription_method=self._update_principal_subscription(),
create_subscription_method=self.principal_subscription,
has_active_subscription=True,
)
else:
@@ -325,7 +327,7 @@ class PaymentProcessingService:
self._update_reward(
referral_record=referral_record,
active_subscription=None,
create_subscription_method=self._update_principal_subscription(),
create_subscription_method=self.principal_subscription,
has_active_subscription=False,
)
@@ -348,20 +350,20 @@ class PaymentProcessingService:
# Implement any necessary logic to handle a failed payment
self._update_transaction_failure()
def _update_principal_subscription(self):
# Fetch the subscription object once and use it
print("Inside _update_principal_subscription")
principal_subscription = self._get_principal_subscription_by_id()
# def _update_principal_subscription(self):
# # Fetch the subscription object once and use it
# print("Inside _update_principal_subscription")
# principal_subscription = self._get_principal_subscription_by_id()
# Update IS_PAID PrincipalSubscription instance
referred_principal_subscription = PrincipalSubscription.objects.get(
id=principal_subscription.id
)
referred_principal_subscription.stripe_customer_id = self.customer_id
referred_principal_subscription.is_paid = True
referred_principal_subscription.save()
# # Update IS_PAID PrincipalSubscription instance
# referred_principal_subscription = PrincipalSubscription.objects.get(
# id=principal_subscription.id
# )
# referred_principal_subscription.stripe_customer_id = self.customer_id
# referred_principal_subscription.is_paid = True
# referred_principal_subscription.save()
return referred_principal_subscription.id
# return referred_principal_subscription.id
def _update_reward(
self,
@@ -376,7 +378,7 @@ class PaymentProcessingService:
)
# Create a new subscription for the referred principal
referred_subscription_id = self._update_principal_subscription()
referred_subscription_id = self.principal_subscription
# Create or update the ReferralTracking record
ReferralTracking.objects.create(