From 179677756aad1e72554d0bd7ee825d98c3b8a87b Mon Sep 17 00:00:00 2001 From: Haydar Ghasemi Date: Sat, 15 Nov 2025 14:52:32 +0330 Subject: [PATCH 1/2] FEAT(pg): ipg commission calculation ipg commission calculation api/calculate_commission/?amount=300000 --- apps/pg/views.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/apps/pg/views.py b/apps/pg/views.py index 50759bf..c58ce1e 100644 --- a/apps/pg/views.py +++ b/apps/pg/views.py @@ -8,6 +8,7 @@ from oauth2_provider.contrib.rest_framework import IsAuthenticatedOrTokenHasScop from rest_framework import generics from rest_framework.response import Response from rest_framework.views import APIView +from drf_spectacular.utils import extend_schema, OpenApiParameter from utils.commons import calculate_pna_commission from .constans import StateChoices @@ -19,6 +20,18 @@ from ..users.models import User class CalculateCommissionView(APIView): + @extend_schema( + parameters=[ + OpenApiParameter( + name='amount', + required=True, + type=float, + location=OpenApiParameter.QUERY, + description='مبلغ' + ) + ], + responses=CommissionSerializer + ) def get(self, request): serializer = CommissionSerializer(data=request.query_params) serializer.is_valid(raise_exception=True) From d0e8b24321fb19ab2208be8de8c5738921df9fdb Mon Sep 17 00:00:00 2001 From: Haydar Ghasemi Date: Sat, 15 Nov 2025 14:59:15 +0330 Subject: [PATCH 2/2] FEAT(pg): ipg commission calculation ipg commission calculation api/calculate_commission/?amount=300000 --- apps/pg/views.py | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/apps/pg/views.py b/apps/pg/views.py index c58ce1e..5022bc1 100644 --- a/apps/pg/views.py +++ b/apps/pg/views.py @@ -8,7 +8,7 @@ from oauth2_provider.contrib.rest_framework import IsAuthenticatedOrTokenHasScop from rest_framework import generics from rest_framework.response import Response from rest_framework.views import APIView -from drf_spectacular.utils import extend_schema, OpenApiParameter +from drf_spectacular.utils import extend_schema from utils.commons import calculate_pna_commission from .constans import StateChoices @@ -21,19 +21,11 @@ from ..users.models import User class CalculateCommissionView(APIView): @extend_schema( - parameters=[ - OpenApiParameter( - name='amount', - required=True, - type=float, - location=OpenApiParameter.QUERY, - description='مبلغ' - ) - ], + request=CommissionSerializer, responses=CommissionSerializer ) - def get(self, request): - serializer = CommissionSerializer(data=request.query_params) + def post(self, request): + serializer = CommissionSerializer(data=request.data) serializer.is_valid(raise_exception=True) amount = serializer.validated_data['amount'] commission = calculate_pna_commission(amount)