diff --git a/www/web/warppay/urls.py b/www/web/warppay/urls.py
index 20cb31b82c5ac1cab92b35c2292ced4c14a9ddc5..15e284c5e2cfd4a98e4e2f5bd93b7a893102b9f5 100644
--- a/www/web/warppay/urls.py
+++ b/www/web/warppay/urls.py
@@ -8,7 +8,7 @@ urlpatterns = [
     url(r'^api/products/$', views.product_list),
     url(r'^api/categories/$', views.category_list),
     # url(r'^api/gen_token/$', views.gen_token),
-    url(r'^api/transaction/(?P<user_id>\w+)/$', views.transaction),
+    url(r'^api/transactions/(?P<user_id>\w+)/$', views.multiple_transaction),
     url(r'^api/products/(?P<prod_id>\w+)/barcode/$', views.addBarcode),
 
 ]
diff --git a/www/web/warppay/views.py b/www/web/warppay/views.py
index 50ded6866f8f6c169d564d1c05d7b3d6f5d83411..886fcb0c0bace26218048298bd4b4ddbef5383b0 100644
--- a/www/web/warppay/views.py
+++ b/www/web/warppay/views.py
@@ -115,13 +115,12 @@ def user_list(request, user_id = 0):
         return Response(serializer.data, status=state)
     return Response()
 
-
 @api_view(['PUT'])
 @authentication_classes((TokenAuthentication,))
 @permission_classes((IsAuthenticated,))
-def transaction(request, user_id=None):
+def multiple_transaction(request, user_id=None):
     if request.method == 'PUT':
-        if 'trans_type' not in request.data or not user_id:
+        if not user_id:
             return Response(status=status.HTTP_406_NOT_ACCEPTABLE)
 
         try:
@@ -129,38 +128,54 @@ def transaction(request, user_id=None):
         except ObjectDoesNotExist:
             return Response(status=status.HTTP_404_NOT_FOUND)
 
+    transactions = []
+    products = []
+    for transact in request.data:
+        if 'trans_type' not in transact:
+            return Response(status=status.HTTP_406_NOT_ACCEPTABLE)
+
         t = Transaction()
-        t.type = int(request.data['trans_type'])
+        t.type = int(transact['trans_type'])
 
         if t.type == 1:
-            if 'amount' not in request.data or ('amount' in request.data and float(request.data['amount'] < 0)):
+            if 'amount' not in transact or ('amount' in transact and float(transact['amount'] < 0)):
                 return Response(status=status.HTTP_406_NOT_ACCEPTABLE)
-            if 'cash_paid' in request.data:
-                t.cash_paid = bool(request.data['cash_paid'])
+            if 'cash_paid' in transact:
+                t.cash_paid = bool(transact['cash_paid'])
             else:
                 t.cash_paid = True
-            t.amount = float(request.data['amount'])
-            u.credit +=t.amount
+            t.amount = float(transact['amount'])
+            u.credit += t.amount
         elif t.type == 2:
             try:
-                product = Product.objects.get(id=request.data['product']['id'])
+                product = Product.objects.get(id=transact['product']['id'])
                 t.product = product
-                if 'cash_paid' in request.data:
-                    t.cash_paid = bool(request.data['cash_paid'])
+                if 'cash_paid' in transact:
+                    t.cash_paid = bool(transact['cash_paid'])
                 t.amount = product.price_vk
                 if not t.cash_paid:
                     u.credit -= t.amount
                 product.stock_count -= 1
-                product.save()
+                products.append(product)
 
             except:
                 return Response(status=status.HTTP_406_NOT_ACCEPTABLE)
         else:
             return Response(status=status.HTTP_406_NOT_ACCEPTABLE)
 
+        transactions.append(t)
+
+    for t in transactions:
         t.save()
-        u.save()
-        return Response()
+        print(t)
+    for p in products:
+        p.save()
+        print(p)
+
+    u.save()
+    print(u)
+    return Response()
+
 
 def sync_users():
     for ldapuser in LdapUser.objects.all():