application request create

This commit is contained in:
Sayyid Hamid Mahdavi 2025-06-05 21:48:41 +03:30
parent d57d40ffa7
commit 11154086fd
2 changed files with 4 additions and 4 deletions

View file

@ -8,5 +8,5 @@ urlpatterns = [
path('page/charge/<uuid>/', PaymentRequestView.as_view(), name='payment-request-view'),
path('page/pna_callback/<uuid>/', PaymentConfirmView.as_view(), name='payment-confirm-view'),
path('api/charge_create/', PaymentRequestCreateApiView.as_view(), name='charge-request-create-api-view'),
path('api/application/charge_create/', ApplicationPaymentRequestCreateApiView.as_view(), name='application-user-charge-request-create-api-view'),
path('api/application/charge_create/<uuid>', ApplicationPaymentRequestCreateApiView.as_view(), name='application-user-charge-request-create-api-view'),
]

View file

@ -34,13 +34,13 @@ class PaymentRequestCreateApiView(generics.CreateAPIView):
class ApplicationPaymentRequestCreateApiView(generics.CreateAPIView):
permission_classes = [IsAuthenticatedOrTokenHasScope]
serializer_class = ApplicationPaymentRequestSerializer
serializer_class = PaymentRequestSerializer
required_scopes = ['ipg.application:request_user_charge'] # TODO: is it good scope?
model = PaymentRequest
def perform_create(self, serializer):
user_id = serializer.validated_data['user']
user, created = User.objects.get_or_create(id=user_id)
user_uuid = self.kwargs.get('uuid')
user, created = User.objects.get_or_create(uuid=user_uuid)
application = get_application(self.request)
charge_request: PaymentRequest = serializer.save(user=user, application=application)