diff --git a/www/web/warppay/admin.py b/www/web/warppay/admin.py
index 5f28e7452a7174e0e4d975ec1d5ca8ed9c177a12..2350d9e0f8c50368be8d2e5174c34ccd07d6d2f1 100644
--- a/www/web/warppay/admin.py
+++ b/www/web/warppay/admin.py
@@ -13,4 +13,8 @@ class ProductAdmin(admin.ModelAdmin):
 
 @admin.register(UserCredit)
 class UserCreditAdmin(admin.ModelAdmin):
+        pass
+
+@admin.register(Transaction)
+class TransactionAdmin(admin.ModelAdmin):
         pass
\ No newline at end of file
diff --git a/www/web/warppay/models.py b/www/web/warppay/models.py
index 7fcb1dae5eb45266913469f2233ac37c2a1c2c6b..4f75293b767b54e8f94f91e0787ce9dd57b12af7 100644
--- a/www/web/warppay/models.py
+++ b/www/web/warppay/models.py
@@ -26,7 +26,7 @@ class ProductSerializer(serializers.ModelSerializer):
     category = serializers.StringRelatedField()
     class Meta:
         model = Product
-        fields = ['id', 'name', 'price', 'category', 'count']
+        fields = ['id', 'name', 'price_vk', 'category', 'stock_count']
 
 
 class Transaction(models.Model):
@@ -36,6 +36,9 @@ class Transaction(models.Model):
     amount = models.FloatField()
     cash_paid = models.BooleanField(default=False)
 
+    def __str__(self):
+        return str(self.amount) #self.product.name+" - "+self.amount
+
 
 class TransactionLog(models.Model):
     uid = models.CharField(max_length=100)
diff --git a/www/web/warppay/urls.py b/www/web/warppay/urls.py
index bd60d9d84af78ba051e82eb2f896bd72a9e6b9dd..f576626ffa577a2c650aada5d0a97d5cb0e16683 100644
--- a/www/web/warppay/urls.py
+++ b/www/web/warppay/urls.py
@@ -7,6 +7,6 @@ urlpatterns = [
     url(r'^api/users/(?P<user_id>\w+)/$', views.user_list),
     url(r'^api/products/$', views.product_list),
     url(r'^api/gen_token/$', views.gen_token),
-    url(r'^api/transaction/$', views.transaction),
+    url(r'^api/transaction/(?P<user_id>\w+)/$', views.transaction),
 
 ]
diff --git a/www/web/warppay/views.py b/www/web/warppay/views.py
index 34cf088baf12d7f17d5d34490c3f90c4db3a9618..e3365b2c5dd29a9128c249718f87d91dbdccf945 100644
--- a/www/web/warppay/views.py
+++ b/www/web/warppay/views.py
@@ -50,6 +50,7 @@ def user_list(request, user_id = 0):
         if not user_id:
             return Response(status=status.HTTP_406_NOT_ACCEPTABLE)
         try:
+            print(request.data)
             user = UserCredit.objects.get(uid=user_id)
             if "card_id" in request.data:
                 try:
@@ -90,27 +91,38 @@ def user_list(request, user_id = 0):
 @api_view(['PUT'])
 #@authentication_classes((TokenAuthentication,))
 #@permission_classes((IsAuthenticated,))
-def transaction(request):
+def transaction(request, user_id=None):
     if request.method == 'PUT':
-        if 'type' not in request.data or 'amount' not in request.data or 'uid' not in request.data or ('amount' in request.data and int(request.data['amount'] < 0)):
+        if 'trans_type' not in request.data or not user_id:
             return Response(status=status.HTTP_406_NOT_ACCEPTABLE)
 
         try:
-            u = UserCredit.objects.get(uid=str(request.data['uid']))
+            u = UserCredit.objects.get(uid=str(user_id))
         except ObjectDoesNotExist:
             return Response(status=status.HTTP_404_NOT_FOUND)
 
         t = Transaction()
-        t.type = request.data['type']
-        t.amount = float(request.data['amount'])
+        t.type = int(request.data['trans_type'])
 
-        if request.data['type'] == 1:
-            u.credit +=t.amount
-        elif request.data['type'] == 2:
-            #product = models.ForeignKey(Product, on_delete=models.CASCADE, null=True)
+        if t.type == 1:
+            if 'amount' not in request.data or ('amount' in request.data and float(request.data['amount'] < 0)):
+                return Response(status=status.HTTP_406_NOT_ACCEPTABLE)
             if 'cash_paid' in request.data:
                 t.cash_paid = bool(request.data['cash_paid'])
-            u.credit -=t.amount
+            else:
+                t.cash_paid = True
+            t.amount = float(request.data['amount'])
+            u.credit +=t.amount
+        elif t.type == 2:
+            try:
+                product = Product.objects.get(id=request.data['product']['id'])
+                t.product = product
+                if 'cash_paid' in request.data:
+                    t.cash_paid = bool(request.data['cash_paid'])
+                t.amount = product.price_vk
+                u.credit -= t.amount
+            except:
+                return Response(status=status.HTTP_406_NOT_ACCEPTABLE)
         else:
             return Response(status=status.HTTP_406_NOT_ACCEPTABLE)