diff --git a/apps/pg/models.py b/apps/pg/models.py index c934acf..b73b176 100644 --- a/apps/pg/models.py +++ b/apps/pg/models.py @@ -11,7 +11,7 @@ from django.urls import reverse from oauth2_provider.settings import oauth2_settings from apps.core.models import BaseModel, BasePGModel -from apps.pg.constans import StateChoices, TypeChoices +from apps.pg.constans import StateChoices import uuid from utils.clients.wallet_client import deposit_to_user_wallet_submit, deposit_to_user_wallet_verify @@ -83,10 +83,6 @@ class PaymentRequest(models.Model): return to_jalali(self.created_at) - @property - def income_uuid(self): - return uuid.uuid5(self.uuid, 'income') - def save_commission(self): self.commission = calculate_pna_commission(self.amount) self.save(update_fields=['commission']) @@ -157,7 +153,7 @@ class PaymentRequest(models.Model): 'application_details_url': '' }, } - submit_response = deposit_to_user_wallet_submit(settings.WALLET_RIAL_DEPOSIT, data) + submit_response = deposit_to_user_wallet_submit(settings.WALLET_IPG_CREDIT, data) if not submit_response or not submit_response.uuid: logger.error(f"[Deposit Submit] Wallet submission failed | payment_id={self.pk}") @@ -175,7 +171,7 @@ class PaymentRequest(models.Model): return to_success def deposit_verify(self): - verify_response = deposit_to_user_wallet_verify(settings.WALLET_RIAL_DEPOSIT, self.uuid) + verify_response = deposit_to_user_wallet_verify(settings.WALLET_IPG_CREDIT, self.uuid) if not verify_response: logger.error(f"[Deposit Verify] Failed to get response from wallet service | payment_id={self.pk}") @@ -209,47 +205,6 @@ class PaymentRequest(models.Model): return to_pay_success - def deposit_income_submit(self): - data = { - "uuid": str(self.income_uuid), - "payee": str(self.application_id), - "payee_type": TypeChoices.APPLICATION.value, - "payee_wallet": settings.WALLET_IPG_CREDIT, - "amount": self.commission, - "details": { - 'description': str(_("ipg commission income")), - 'reference_id': str(self.uuid), - 'application_details_url': '' - }, - } - submit_response = deposit_to_user_wallet_submit(settings.WALLET_IPG_CREDIT, data) - - if not submit_response or not submit_response.uuid: - raise Exception('Failed to submit income in wallet') - - return submit_response - - def deposit_income_verify(self): - verify_response = deposit_to_user_wallet_verify(settings.WALLET_IPG_CREDIT, self.income_uuid) - - if not verify_response or not verify_response.uuid: - raise Exception('Failed to verify income in wallet') - - if verify_response.state != 5: - raise Exception('Failed to verify income in wallet') - - return True - - def charge_wallet_income(self): - if not self.application_id or not self.commission: - return - try: - self.deposit_income_submit() - self.deposit_income_verify() - logger.info(f"[Charge Wallet] Income charged successfully | payment_id={self.pk}") - except Exception: - logger.exception(f"[Charge Wallet] Failed to charge income | payment_id={self.pk}") - def charge_wallet_balance(self): logger.info(f"[Charge Wallet] Starting wallet charge process | payment_id={self.pk}") if self.state in [StateChoices.IPG_SUCCESS]: @@ -266,7 +221,6 @@ class PaymentRequest(models.Model): to_pay_success = self.deposit_verify() if to_pay_success: logger.info(f"[Charge Wallet] Wallet charged successfully | payment_id={self.pk}") - self.charge_wallet_income() else: logger.warning(f"[Charge Wallet] Wallet charge verification failed | payment_id={self.pk}") return bool(to_pay_success)