Index: inc/class-camptix-payment-methods.php
===================================================================
--- inc/class-camptix-payment-methods.php	(revision 1752431)
+++ inc/class-camptix-payment-methods.php	(working copy)
@@ -86,7 +86,7 @@
 		?>
 		<tr class="tix-row-phone">
 			<td class="tix-required tix-left">
-				<?php _e( 'Phone Number', 'campt-indian-payment-gateway' ); ?>
+				<?php esc_html_e( 'Phone Number', 'campt-indian-payment-gateway' ); ?>
 				<span class="tix-required-star">*</span>
 			</td>
 			<?php $value = isset( $form_data['tix_attendee_info'][ $current_count ]['phone'] ) ? $form_data['tix_attendee_info'][ $current_count ]['phone'] : ''; ?>
@@ -176,7 +176,7 @@
 		?>
 		<tr>
 			<td class="tix-required tix-left">
-				<?php _e( 'Phone Number', 'campt-indian-payment-gateway' ); ?>
+				<?php esc_html_e( 'Phone Number', 'campt-indian-payment-gateway' ); ?>
 				<span class="tix-required-star">*</span></td>
 			<td class="tix-right">
 				<input name="tix_ticket_info[phone]" type="text" value="<?php echo esc_attr( get_post_meta( $attendee->ID, 'tix_phone', true ) ); ?>"/>
Index: inc/razorpay/class-camptix-payment-method-razorpay.php
===================================================================
--- inc/razorpay/class-camptix-payment-method-razorpay.php	(revision 1752431)
+++ inc/razorpay/class-camptix-payment-method-razorpay.php	(working copy)
@@ -104,6 +104,26 @@
 	 * @access public
 	 */
 	public function enqueue() {
+
+		if ( ! isset( $_GET['tix_action'] ) || ( 'attendee_info' !== $_GET['tix_action'] ) ) {
+			return;
+		}
+
+		wp_register_script( 'camptix-indian-payments-main-razorpayjs', CAMPTIX_MULTI_URL . 'assets/js/camptix-multi-popup-razorpay.js', array( 'jquery' ), false, CAMPTIX_INDIAN_PAYMENTS_VERSION );
+		wp_enqueue_script( 'camptix-indian-payments-main-razorpayjs' );
+
+		$data = apply_filters(
+			'camptix_indian_payments_localize_vars',
+			array(
+				'errors' => array(
+					'phone' => __( 'Please fill in all required fields.', 'campt-indian-payment-gateway' ),
+				),
+			)
+		);
+
+		wp_localize_script( 'camptix-indian-payments-main-razorpayjs', 'camptix_inr_vars', $data );
+
+
 		wp_register_script( 'razorpay-js', 'https://checkout.razorpay.com/v1/checkout-new.js' );
 		wp_enqueue_script( 'razorpay-js' );
 	}
@@ -513,4 +533,4 @@
 
 		return $order_info;
 	}
-}
\ No newline at end of file
+}
Index: readme.txt
===================================================================
--- readme.txt	(revision 1752431)
+++ readme.txt	(working copy)
@@ -3,7 +3,7 @@
 Tags:              camptix, camptix payment, event ticketing, razorpay, instamojo, Indian payment, camptix Indian gateway, camptix payment gateway
 Requires at least: 3.5
 Tested up to:      4.8
-Stable tag:        1.4
+Stable tag:        1.6
 License:           GPLv2 or later
 License URI:       http://www.gnu.org/licenses/gpl-2.0.html
 
@@ -46,6 +46,9 @@
 2. Razorpay Enable
 
 == Changelog ==
+=1.5=
+JavaScript breaks registration flow for Instamojo #41 Fixed
+
 =1.4=
 Fixed Text domain and Language Translation Bug Fixed
 
Index: assets/js/camptix-multi-popup.js
===================================================================
--- assets/js/camptix-multi-popup.js	(revision 1752431)
+++ assets/js/camptix-multi-popup.js	(working copy)
@@ -1,218 +1,118 @@
-/**
- * Give - Razorpay Popup Checkout JS
- */
-var camptix_l10n, camptix_inr_vars;
-
-/**
- * On document ready setup Razorpay events.
- */
-jQuery(document).ready(function ($) {
-	// Cache donation button title early to reset it if razorpay checkout popup close.
-	var razorpay_handler = [],
-		$container       = $('#tix'),
-		$form            = $('form', $container),
-		ticket_quantity  = $('.tix_tickets_table td.tix-column-quantity', $container).text(),
-		order_id         = $('input[name="razorpay_order_id"]', $form).val(),
-		receipt_id       = $('input[name="razorpay_receipt_id"]', $form).val();
-
-	/**
-	 * Validate extra attendee information fields.
-	 *
-	 * @returns {boolean}
-	 */
-	var validate_fields = function () {
-		for (var i = 1; i <= ticket_quantity; i++) {
-			if (!$('input[name="tix_attendee_info[' + i + '][phone]"]', $form).val()) {
-				return false;
-			}
-		}
-		return true;
-	};
-
-	/**
-	 * Show errors.
-	 *
-	 * @param error_html
-	 */
-	var show_errors = function (error_html) {
-		var $errors = '';
-
-		// Remove old errors html.
-		$('#tix-errors', $container).remove();
-
-		// Set new error html.
-		$errors = $('<div id="tix-errors"></div>').html(error_html);
-		$container.prepend($errors);
-
-		// Scroll to error div.
-		$('html,body').animate({
-				scrollTop: $container.offset().top
-			},
-			'slow'
-		);
-	};
-
-	/**
-	 * Show/ Hide extra attendee fields.
-	 *
-	 * @param show
-	 */
-	var show_custom_attendee_fields = function (show) {
-		var $field_container;
-
-		for (var i = 1; i <= 2; i++) {
-			$field_container = $('input[name="tix_attendee_info[' + i + '][phone]"]', $form).closest('tr');
-
-			if (show) {
-				$field_container.show();
-			} else {
-				$field_container.hide();
-			}
-		}
-	};
-
-	/**
-	 * Show extra attendee fields only if razorpay selected
-	 */
-	$('select[name="tix_payment_method"]', $form).on('change', function () {
-		
-	}).change();
-
-	/**
-	 * Increase razorpay's z-index to appear above of all content.
-	 */
-	$('.razorpay-container').css('z-index', '2147483543');
-
-	/**
-	 * On form submit prevent submission for Razorpay only.
-	 */
-	$form.on('submit', function (e) {
-	    
-	    var phone = $('.mobile').val();
-        console.log(phone);
-        phone = phone.replace(/[^0-9]/g,'');
-
-        if(!($.isNumeric(phone))){
-        	console.log('test');
-            $('.message').text('Please Enter Only Numbers');
-            $('.message').css('color','red');
-            $('.mobile').val('');
-            $('.mobile').focus();
-            e.preventDefault();
-		return false;
-        }else
-        if (phone.length < 10 )
-        {
-        	console.log('test');
-            //alert('Phone number must be 10 digits.');
-            $('.message').text('Please Enter correct Mobile Number Or Number with STD Code');
-            $('.message').css('color','red');
-            $('.mobile').val('');
-            $('.mobile').focus();
-            //alert();
-            e.preventDefault();
-
-		return false;
-
-        } 
-     
-		// Bailout.
-		if (camptix_inr_vars.gateway_id !== $('select[name="tix_payment_method"]', $form).val()) {
-			return true;
-		}
-
-		e.preventDefault();
-
-		return false;
-	});
-
-	/**
-	 * When the submit button is clicked.
-	 */
-	$form.on('click touchend', 'input[type="submit"]', function (e) {
-		// Bailout.
-		if (camptix_inr_vars.gateway_id !== $('select[name="tix_payment_method"]', $form).val()) {
-			return true;
-		}
-
-		e.preventDefault();
-
-		// Validate custom attendee information fields.
-		if (!validate_fields()) {
-			show_errors('<div class="tix-error">' + camptix_inr_vars.errors.phone + '</div>');
-
-			return false;
-		}
-
-		var $submit_button = $(this),
-			$response;
-
-		$.post($form.attr('action'), $form.serialize())
-			.done(function (response) {
-				// Bailout.
-				if (!response.success) {
-					var $el = $('<div></div>').html(response);
-
-					show_errors($('#tix-errors', $el).html());
-
-					return false;
-				}
-
-				// Cache response for internal use in Razorpay.
-				$response = response;
-
-				razorpay_handler = new Razorpay({
-					'key'     : camptix_inr_vars.merchant_key_id,
-					'order_id': order_id,
-					'name'    : $response.data.popup_title,
-					'image'   : camptix_inr_vars.popup.image,
-					// 'description' : '',
-					'handler' : function (response) {
-						// Remove loading animations.
-						// $form.find('.give-loading-animation').hide();
-						// Disable form submit button.
-						$submit_button.prop('disabled', true);
-
-						// Submit form after charge token brought back from Razorpay.
-						// Redirect to success page.
-						window.location.assign($response.data.return_url + '&transaction_id=' + order_id + '&receipt_id=' + receipt_id);
-					},
-
-					// You can add custom data here and fields limited to 15.
-					// 'notes': {
-					// 'extra_information' : $response.data
-					// },
-					'prefill': {
-						'name'   : $response.data.fullname,
-						'email'  : $response.data.email,
-						'contact': $response.data.phone
-					},
-
-					'modal': {
-						'ondismiss': function () {
-							// Remove loading animations.
-							$form.find('.give-loading-animation').hide();
-
-							// Re-enable submit button and add back text.
-							$submit_button.prop('disabled', false);
-						}
-					},
-
-					'theme': {
-						'color'        : camptix_inr_vars.popup.color,
-						'image_padding': false
-					}
-				});
-
-				razorpay_handler.open();
-			})
-			.fail(function () {
-			})
-			.always(function () {
-				// Enable form submit button.
-				$submit_button.prop('disabled', false);
-			});
-
-		return false;
-	});
-});
+/**
+ * Give - Razorpay Popup Checkout JS
+ */
+var camptix_l10n, camptix_inr_vars;
+
+/**
+ * On document ready setup Razorpay events.
+ */
+jQuery(document).ready(function ($) {
+	// Cache donation button title early to reset it if razorpay checkout popup close.
+	var razorpay_handler = [],
+		$container       = $('#tix'),
+		$form            = $('form', $container),
+		ticket_quantity  = $('.tix_tickets_table td.tix-column-quantity', $container).text(),
+		order_id         = $('input[name="razorpay_order_id"]', $form).val(),
+		receipt_id       = $('input[name="razorpay_receipt_id"]', $form).val();
+
+	/**
+	 * Validate extra attendee information fields.
+	 *
+	 * @returns {boolean}
+	 */
+	var validate_fields = function () {
+		for (var i = 1; i <= ticket_quantity; i++) {
+			if (!$('input[name="tix_attendee_info[' + i + '][phone]"]', $form).val()) {
+				return false;
+			}
+		}
+		return true;
+	};
+
+	/**
+	 * Show errors.
+	 *
+	 * @param error_html
+	 */
+	var show_errors = function (error_html) {
+		var $errors = '';
+
+		// Remove old errors html.
+		$('#tix-errors', $container).remove();
+
+		// Set new error html.
+		$errors = $('<div id="tix-errors"></div>').html(error_html);
+		$container.prepend($errors);
+
+		// Scroll to error div.
+		$('html,body').animate({
+				scrollTop: $container.offset().top
+			},
+			'slow'
+		);
+	};
+
+	/**
+	 * Show/ Hide extra attendee fields.
+	 *
+	 * @param show
+	 */
+	var show_custom_attendee_fields = function (show) {
+		var $field_container;
+
+		for (var i = 1; i <= 2; i++) {
+			$field_container = $('input[name="tix_attendee_info[' + i + '][phone]"]', $form).closest('tr');
+
+			if (show) {
+				$field_container.show();
+			} else {
+				$field_container.hide();
+			}
+		}
+	};
+
+	/**
+	 * Show extra attendee fields only if razorpay selected
+	 */
+	$('select[name="tix_payment_method"]', $form).on('change', function () {
+		
+	}).change();
+
+	/**
+	 * Increase razorpay's z-index to appear above of all content.
+	 */
+	$('.razorpay-container').css('z-index', '2147483543');
+
+	/**
+	 * On form submit prevent submission for Razorpay only.
+	 */
+	$form.on('submit', function (e) {
+	    
+	    var phone = $('.mobile').val();
+        phone = phone.replace(/[^0-9]/g,'');
+
+        if(!($.isNumeric(phone))){
+            $('.message').text('Please Enter Only Numbers');
+            $('.message').css('color','red');
+            $('.mobile').val('');
+            $('.mobile').focus();
+            e.preventDefault();
+		return false;
+        }else
+        if (phone.length < 10 )
+        {
+            //alert('Phone number must be 10 digits.');
+            $('.message').text('Please Enter correct Mobile Number Or Number with STD Code');
+            $('.message').css('color','red');
+            $('.mobile').val('');
+            $('.mobile').focus();
+            //alert();
+            e.preventDefault();
+
+		return false;
+
+        } 
+     	return true;
+		// Bailout.
+	});
+});
Index: inc/instamojo/class-camptix-payment-method-instamojo.php
===================================================================
--- inc/instamojo/class-camptix-payment-method-instamojo.php	(revision 1752431)
+++ inc/instamojo/class-camptix-payment-method-instamojo.php	(working copy)
@@ -299,13 +299,13 @@
 			$json_decode = json_decode( $response['body']);
 			$long_url = $json_decode->payment_request->longurl;
 			header( 'Location:' . $long_url );
-		}else{
-		echo 'Invalid Insatmojo Access Key & Token';
-		return;
+		} else {
+			echo __( 'Invalid Insatmojo Access Key & Token', 'campt-indian-payment-gateway' );
+			return;
 		}
-      	
-      	return;
 
+		return;
+
 	}
 
 	/**
@@ -320,8 +320,8 @@
 
 		$payment_token = ( isset( $_REQUEST['tix_payment_token'] ) ) ? trim( $_REQUEST['tix_payment_token'] ) : '';
 
-		if ( ! $payment_token ) {
-			die( 'empty token' );
+		if ( !$payment_token ) {
+			die( __( 'Empty Token', 'campt-indian-payment-gateway' ) );
 		}
 		// Set the associated attendees to cancelled.
 		return $this->payment_result( $payment_token, CampTix_Plugin::PAYMENT_STATUS_CANCELLED );
Index: campt-indian-payment-gateway.php
===================================================================
--- campt-indian-payment-gateway.php	(revision 1752431)
+++ campt-indian-payment-gateway.php	(working copy)
@@ -5,7 +5,7 @@
  * Description: Simple and Flexible payment ticketing for Camptix using Indian Payment Platforms
  * Author: India WordPress Community
  * Author URI: https://github.com/wpindiaorg/
- * Version: 1.4
+ * Version: 1.6
  * License: GPLv2 or later
  * Text Domain: campt-indian-payment-gateway
  * Domain Path: /languages
@@ -92,7 +92,7 @@
 	 */
 	private function setup_contants() {
 		// Definitions
-		define( 'CAMPTIX_INDIAN_PAYMENTS_VERSION', '1.0' );
+		define( 'CAMPTIX_INDIAN_PAYMENTS_VERSION', '1.5' );
 		define( 'CAMPTIX_MULTI_DIR', plugin_dir_path( __FILE__ ) );
 		define( 'CAMPTIX_MULTI_URL', plugin_dir_url( __FILE__ ) );
 	}
