diff --git a/commerce_payu.module b/commerce_payu.module
index 5c54b8f..74d3354 100644
--- a/commerce_payu.module
+++ b/commerce_payu.module
@@ -210,16 +210,16 @@ function commerce_payu_redirect_form($form, &$form_state, $order, $payment_metho
       empty($payment_method['settings']['md5']) ||
       empty($payment_method['settings']['md5_2'])) {
     drupal_set_message(t('PayU is not configured for use.'), 'error');
-	drupal_goto('checkout');
-	return '';
+    commerce_payment_redirect_pane_previous_page($order);
+    return '';
   }
 
   $wrapper = entity_metadata_wrapper('commerce_order', $order);
 
   if(!isset($wrapper->commerce_customer_billing->commerce_customer_address)) {
-	drupal_set_message(t('Please enable Billing information in CHECKOUT PANE.'), 'error');
-	drupal_goto('checkout');
-	return '';
+    drupal_set_message(t('Please enable Billing information in CHECKOUT PANE.'), 'error');
+    commerce_payment_redirect_pane_previous_page($order);
+    return '';
   }
   
   $currency_code = $wrapper->commerce_order_total->currency_code->value();
diff --git a/includes/commerce_payu.inc b/includes/commerce_payu.inc
index 30b1cfc..0b703f9 100644
--- a/includes/commerce_payu.inc
+++ b/includes/commerce_payu.inc
@@ -29,8 +29,8 @@ function commerce_payu_close_transaction() {
 
   if ($error_id) {
     drupal_set_message(t('Transaction unsuccessful') . ': ' . _commerce_payu_get_error_description($error_id), 'error');
-    drupal_goto($url_error);
 
+    drupal_goto($url_error);
   }
   else {
     drupal_goto($url_ok);
@@ -213,6 +213,18 @@ function commerce_payu_online() {
       }
       //print '<strong>transaction</strong><pre>'.print_r($transaction, 1).'</pre>';
       commerce_payment_transaction_save($transaction);
+      
+      //change status of the order 
+      switch($transaction->status) {
+        case COMMERCE_PAYMENT_STATUS_FAILURE:
+          commerce_payment_redirect_pane_previous_page($order);
+          break;
+        case COMMERCE_PAYMENT_STATUS_SUCCESS:
+          commerce_payment_redirect_pane_next_page($order);
+          break;
+        //default and PENDING - do nothing
+      }
+
       echo "OK";
       exit;
     }
