diff --git a/apps/pg/models.py b/apps/pg/models.py index d0ab3e1..01358df 100644 --- a/apps/pg/models.py +++ b/apps/pg/models.py @@ -14,8 +14,8 @@ from apps.core.models import BaseModel, BasePGModel from apps.pg.constans import StateChoices import uuid -from utils.wallet_client import deposit_to_user_wallet_submit, \ - deposit_to_user_wallet_verify +from utils.wallet_client import deposit_to_user_wallet_submit, deposit_to_user_wallet_verify +from main import settings from utils.pna import PNAClient from django.utils.translation import gettext_lazy as _ @@ -70,11 +70,11 @@ class PaymentRequest(models.Model): return to_jalali(self.created_at) def calculate_commission(self): - self.commission = 1200 - if 6000000 <= self.amount <= 400000000: - self.commission = 0.0002 * self.amount - elif 400000000 < self.amount: - self.commission = 80000 + self.commission = settings.COMMISSION_LEVEL1 + if settings.COMMISSION_LEVEL2_MIN_AMOUNT <= self.amount <= settings.COMMISSION_LEVEL2_MAX_AMOUNT: + self.commission = settings.COMMISSION_LEVEL2_RATE * self.amount + elif settings.COMMISSION_LEVEL2_MAX_AMOUNT < self.amount: + self.commission = settings.COMMISSION_LEVEL3 self.save(update_fields=['commission']) diff --git a/main/settings.py b/main/settings.py index 1dfd128..602da3a 100644 --- a/main/settings.py +++ b/main/settings.py @@ -257,3 +257,8 @@ PNA_CORPORATION_PIN = config('PNA_CORPORATION_PIN') WALLET_BASE_PUBLIC_URL = config('WALLET_BASE_PUBLIC_URL') WALLET_RIAL = config('WALLET_RIAL') IPG_BASE_PUBLIC_URL = config('IPG_BASE_PUBLIC_URL') +COMMISSION_LEVEL1 = config('COMMISSION_LEVEL1', cast=int) +COMMISSION_LEVEL2_MIN_AMOUNT = config('COMMISSION_LEVEL2_MIN_AMOUNT', cast=int) +COMMISSION_LEVEL2_MAX_AMOUNT = config('COMMISSION_LEVEL2_MAX_AMOUNT', cast=int) +COMMISSION_LEVEL2_RATE = config('COMMISSION_LEVEL2_RATE', cast=float) +COMMISSION_LEVEL3 = config('COMMISSION_LEVEL3', cast=int)