diff --git a/apps/pg/urls.py b/apps/pg/urls.py index f3d08d0..4d3320d 100644 --- a/apps/pg/urls.py +++ b/apps/pg/urls.py @@ -8,5 +8,5 @@ urlpatterns = [ path('page/charge//', PaymentRequestView.as_view(), name='payment-request-view'), path('page/pna_callback//', 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/', ApplicationPaymentRequestCreateApiView.as_view(), name='application-user-charge-request-create-api-view'), ] diff --git a/apps/pg/views.py b/apps/pg/views.py index 064b0fc..4816098 100644 --- a/apps/pg/views.py +++ b/apps/pg/views.py @@ -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)