diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java
index 8e1a517f684ff979726ca1c9532339f50702645e..0a83eac03f4e7431ffd671edd44de4ddcd609adc 100644
--- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java
+++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java
@@ -174,8 +174,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
             return true;
         }
 
-
-
         if(this.manager.getCurrentUser() != null) {
             if (event.getAction() == KeyEvent.ACTION_UP) {
                 if (KeyEvent.KEYCODE_ENTER == event.getKeyCode()) {
diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/data/RestService.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/data/RestService.java
index 83b2b4d2f16bbcb96037eaf7606310c53dd6ff67..6be68a836070aa98f103aa1061e396c721307240 100644
--- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/data/RestService.java
+++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/data/RestService.java
@@ -1,6 +1,7 @@
 package ms.warpzone.warppay.data;
 
 
+import java.util.ArrayList;
 import java.util.List;
 
 import ms.warpzone.warppay.data.models.rest.RestCategory;
@@ -34,8 +35,8 @@ public interface RestService {
     @GET("categories/")
     Call<List<RestCategory>> getAllCategories();
 
-    @PUT("transaction/{userid}/")
-    Call<Void> saveTransaction(@Path("userid") String uid, @Body RestTransaction transaction);
+    @PUT("transactions/{userid}/")
+    Call<Void> saveTransaction(@Path("userid") String uid, @Body ArrayList<RestTransaction> transaction);
 
     @PUT("products/{productid}/barcode/")
     Call<Void> saveBarcode(@Path("productid") int pid, @Body RestProduct product);
diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/DataManager.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/DataManager.java
index 1f40632fbb3e7d71ffa19b814ed17a5494afa2aa..b4f8e2fce969a97ce6b622fdb93fd09090b03543 100644
--- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/DataManager.java
+++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/DataManager.java
@@ -4,6 +4,7 @@ import android.util.Log;
 import android.widget.Toast;
 
 import java.util.ArrayList;
+import java.util.List;
 
 import ms.warpzone.warppay.data.models.local.User;
 import ms.warpzone.warppay.data.models.rest.RestProduct;
@@ -15,12 +16,13 @@ import retrofit.Response;
 import retrofit.Retrofit;
 
 public class DataManager {
+    private static DataManager ourInstance = new DataManager();
+
     private User currentUser;
 
     private Boolean is_guest=false;
     private double totalAmount;
     private ArrayList<Order> orderList;
-    private static DataManager ourInstance = new DataManager();
     private String lastCardId;
 
     public static DataManager getInstance() {
@@ -32,7 +34,6 @@ public class DataManager {
     }
 
     public void saveCurrentUser() {
-
         RestUser rest_user = RestUser.fromLocalUser(this.currentUser);
         MainManager.getInstance().getRestService().saveUser(rest_user.getUserid(), rest_user).enqueue(new Callback<RestUser>() {
             @Override
@@ -49,7 +50,6 @@ public class DataManager {
                 Log.d("REST", t.getMessage());
             }
         });
-
     }
 
     public Boolean getIs_guest() {
@@ -61,24 +61,28 @@ public class DataManager {
     }
 
     public void performPayment(Boolean cash) {
+        ArrayList transactions = new ArrayList<>();
+
         for (Order order:this.orderList) {
             RestTransaction transaction = new RestTransaction();
             transaction.setProduct(RestProduct.fromLocalProduct(order.getProduct()));
             transaction.setTrans_type(2);
-            if(this.is_guest || cash)
+            if (this.is_guest || cash)
                 transaction.setCash_paid(true);
-            MainManager.getInstance().getRestService().saveTransaction(this.currentUser.getUserid(), transaction).enqueue(new Callback<Void>() {
-                @Override
-                public void onResponse(Response<Void> response, Retrofit retrofit) {
+            transactions.add(transaction);
+        }
+        MainManager.getInstance().getRestService().saveTransaction(this.currentUser.getUserid(), transactions).enqueue(new Callback<Void>() {
+            @Override
+            public void onResponse(Response<Void> response, Retrofit retrofit) {
+                Log.d("REST",String.valueOf(response.code()));
+            }
 
-                }
+            @Override
+            public void onFailure(Throwable t) {
+                Log.d("REST", t.getMessage());
+            }
+        });
 
-                @Override
-                public void onFailure(Throwable t) {
-                    Log.d("REST", t.getMessage());
-                }
-            });
-        }
         if(!this.is_guest && !cash) {
             this.currentUser.setCredit(this.currentUser.getCredit() - this.totalAmount);
             this.currentUser.save();
@@ -113,10 +117,6 @@ public class DataManager {
         this.orderList.remove(order);
         this.totalAmount -= order.getProduct().getPrice();
     }
-    public void setTotalAmount(double totalAmount) {
-        this.totalAmount = totalAmount;
-    }
-
     public void setLastCardId(String lastCardId) {
         this.lastCardId = lastCardId;
     }
diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java
index e6532170f8147c023fcd9cd35068403676973d0a..7e3effe1cc40da46e8343df2f4c2ee4326769a43 100644
--- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java
+++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java
@@ -22,6 +22,7 @@ import java.security.KeyStoreException;
 import java.security.NoSuchAlgorithmException;
 import java.security.cert.CertificateException;
 import java.security.cert.CertificateFactory;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Timer;
 import java.util.TimerTask;
@@ -49,6 +50,7 @@ import retrofit.Response;
 import retrofit.Retrofit;
 
 public class MainManager {
+    private static MainManager instance = new MainManager();
 
     private RestService restService;
     private MainActivity mainActivity;
@@ -57,9 +59,8 @@ public class MainManager {
     private DataManager dataManager;
     private boolean barcodeLearning=false;
     private Timer timer;
-    private static MainManager instance = new MainManager();
     private Timer screenSaverTimer;
-
+    public AlertDialog alertAmount;
     public static MainManager getInstance() {
         return instance;
     }
@@ -70,8 +71,9 @@ public class MainManager {
     private RestService createRestService() {
 
         Retrofit.Builder builder = new Retrofit.Builder()
+                // .baseUrl("http://infra.warpzone:8000/api/")
                 .baseUrl("https://infra.warpzone/api/")
-        .addConverterFactory(GsonConverterFactory.create());
+                .addConverterFactory(GsonConverterFactory.create());
 
 
         OkHttpClient okHttp = new OkHttpClient();
@@ -84,7 +86,7 @@ public class MainManager {
                     Request newRequest;
 
                     newRequest = request.newBuilder()
-                            .addHeader("Authorization", "Token 7b6ca8ade59a32cef9b516e91f3bc9545b6c75a7")
+                            .addHeader("Authorization", "Token 29e87bab51b9634504b9aee58c1360668e4afd0a")
                             .build();
 
                     return chain.proceed(newRequest);
@@ -95,14 +97,12 @@ public class MainManager {
         }
 
         Retrofit retrofit = builder.client(okHttp).build();
-
         return retrofit.create(RestService.class);
     }
 
     private static SSLContext getSSLConfig(Context context) throws CertificateException, IOException,
             KeyStoreException, NoSuchAlgorithmException, KeyManagementException {
 
-        CertificateFactory cf = null;
         String password = "e44r4dv9z1d0vwr9erotafxe66114v31jwhjlvttc8qkoa3nrskcj4ml0pwrh8aw";
         KeyStore keyStore   = KeyStore.getInstance("BKS");
         keyStore.load(context.getResources().openRawResource(R.raw.keystore), password.toCharArray());
@@ -116,6 +116,7 @@ public class MainManager {
 
         return sslContext;
     }
+
     public void init(MainActivity mainActivity) {
         this.mainActivity = mainActivity;
         this.sqLiteService = SQLiteService.getInstance();
@@ -283,7 +284,10 @@ public class MainManager {
         t.setAmount(amount);
         t.setTrans_type(1);
         t.setCash_paid(true);
-        MainManager.getInstance().getRestService().saveTransaction(currentUser.getUserid(), t).enqueue(new Callback<Void>() {
+        ArrayList transactions = new ArrayList<>();
+        transactions.add(t);
+
+        MainManager.getInstance().getRestService().saveTransaction(currentUser.getUserid(), transactions).enqueue(new Callback<Void>() {
             @Override
             public void onResponse(Response<Void> response, Retrofit retrofit) {
             }
@@ -316,8 +320,33 @@ public class MainManager {
         if (totalAmount > 0.0 && user != null){
             if (DataManager.getInstance().getCurrentUser().getCredit()>=totalAmount || cash){
                 DataManager.getInstance().performPayment(cash);
+                if(!cash) {
+                    AlertDialog.Builder builder = new AlertDialog.Builder(this.mainActivity);
+                    builder.setMessage("Neues Guthaben: " + this.getCurrentUser().getCredit() + " Euro");
+                    alertAmount = builder.create();
+                    alertAmount.show();
+                    final Handler handler = new Handler();
+                    final Runnable runnable = new Runnable() {
+                        @Override
+                        public void run() {
+                            if (MainManager.getInstance().alertAmount.isShowing()) {
+                                alertAmount.dismiss();
+                            }
+                        }
+                    };
+
+                    alertAmount.setOnDismissListener(new DialogInterface.OnDismissListener() {
+                        @Override
+                        public void onDismiss(DialogInterface dialog) {
+                            handler.removeCallbacks(runnable);
+                        }
+                    });
+
+                    handler.postDelayed(runnable, 2500);
+                }
                 MainManager.getInstance().clearCurrentUser();
 
+
             } else {
                 Toast.makeText(mainActivity, mainActivity.getResources().getString(R.string.please_charge), Toast.LENGTH_LONG).show();
             }