Sh3ll
OdayForums


Server : LiteSpeed
System : Linux premium84.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User : claqxcrl ( 523)
PHP Version : 8.1.32
Disable Function : NONE
Directory :  /home/claqxcrl/confenda.com/wp-content/themes/beevent/assets/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/claqxcrl/confenda.com/wp-content/themes/beevent/assets/js/front-script.js
jQuery(document).ready(function() {
	"use strict";

	var stripecheck = ajax_admin.stripe;
	var paystackcheck = ajax_admin.paystack;
	var payfastcheck = ajax_admin.payfast;

	var stripeclass = '';
	var paystackclass = '';
	var payfastclass = '';
	var paymentOptionsclass = '';

	if ( stripecheck == 0 ) {
		stripeclass = 'hide-payment-option';
	}
	if ( paystackcheck == 0 ) {
		paystackclass = 'hide-payment-option';
	}
	if ( payfastcheck == 0 ) {
		payfastclass = 'hide-payment-option';
	}

	if ( stripecheck == 0 && paystackcheck == 0 && payfastcheck == 0 ) {
		paymentOptionsclass = 'hide-payment-option-panel';
	}

	var phtml = '<div class="other-payment-wrapper '+paymentOptionsclass+'">\
		<div class="form-group otherPayment_div" bis_skin_checked="1">\
			<div class="left-payment-options commom-fields">\
				<p style="font-weight: 500;font-size: 13px;margin-bottom: 0;line-height: 0;"> Other payment options for '+ajax_admin.eventname+', You can pay with ( Stripe, Paystack, Payfast ) also.</p>\
				<p style="font-weight: 500;font-size: 13px;"> Fill the below form to proceed with other payment options.</p>\
				<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-2 col-lg-2 col-form-label">First Name</label>\
					<div class="col-lg-10 col-xl-10">\
						<input class="form-control form-control-lg" name="payment_fname" id="payment_fname" type="text" style="width: 100%;">\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-2 col-lg-2 col-form-label">Last Name</label>\
					<div class="col-lg-10 col-xl-10">\
						<input class="form-control form-control-lg" name="payment_lname" id="payment_lname" type="text" style="width: 100%;">\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-2 col-lg-2 col-form-label">Email</label>\
					<div class="col-lg-10 col-xl-10">\
						<input class="form-control form-control-lg" name="payment_email" id="payment_email" type="text" style="width: 100%;">\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-2 col-lg-2 col-form-label">Phone</label>\
					<div class="col-lg-10 col-xl-10">\
						<input class="form-control form-control-lg" name="payment_phone" id="payment_phone" type="text" style="width: 100%;">\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-2 col-lg-2 col-form-label">Address</label>\
					<div class="col-lg-10 col-xl-10">\
						<textarea class="form-control form-control-lg" rows="4" name="payment_address" id="payment_address" style="width: 100%;"></textarea>\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<button class="btn btn-primary" id="proceed_to_payment" style="">Next</button>\
				</div>\
			</div>\
			<div class="left-payment-options stripe-payment-fields" style="display:none;">\
			 <form method="" action="" id="StripePaymentForm">\
			 	<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-3 col-lg-3 col-form-label">Card Holder Name</label>\
					<div class="col-lg-9 col-xl-9">\
						<input class="form-control form-control-lg" name="name" id="Stripename" type="text" style="width: 100%;">\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-3 col-lg-3 col-form-label">Email</label>\
					<div class="col-lg-9 col-xl-9">\
						<input class="form-control form-control-lg" name="email" id="Stripeemail" type="text" style="width: 100%;">\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-3 col-lg-3 col-form-label">Card Number</label>\
					<div class="col-lg-9 col-xl-9">\
						<input class="form-control form-control-lg" name="card-number" id="card-number" type="text" style="width: 100%;">\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-3 col-lg-3 col-form-label">Expiry Month/Year</label>\
					<div class="col-lg-4 col-xl-4">\
					<select name="month" id="month"class="demoSelectBox">\
		                <option value="01">01</option>\
		                <option value="02">02</option>\
		                <option value="03">03</option>\
		                <option value="04">04</option>\
		                <option value="05">05</option>\
		                <option value="06">06</option>\
		                <option value="07">07</option>\
		                <option value="08">08</option>\
		                <option value="09">09</option>\
		                <option value="10">10</option>\
		                <option value="11">11</option>\
		                <option value="12">12</option>\
		                <option value="13">13</option>\
		                <option value="14">14</option>\
		                <option value="15">15</option>\
		                <option value="16">16</option>\
		                <option value="17">17</option>\
		                <option value="18">18</option>\
		                <option value="19">19</option>\
		                <option value="20">20</option>\
		                <option value="21">21</option>\
		                <option value="22">22</option>\
		                <option value="23">23</option>\
		                <option value="24">24</option>\
		                <option value="25">25</option>\
		                <option value="26">26</option>\
		                <option value="27">27</option>\
		                <option value="28">28</option>\
		                <option value="29">29</option>\
		                <option value="30">30</option>\
		                <option value="31">31</option>\
		            </select>\
					</div>\
					<div class="col-lg-4 col-xl-4">\
						<input class="form-control form-control-lg" name="year" id="year" type="text" style="width: 100%;">\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<label class="col-xl-3 col-lg-3 col-form-label">CVV</label>\
					<div class="col-lg-9 col-xl-9">\
						<input class="form-control form-control-lg" name="cvv" id="cvv-info" type="text" style="width: 100%;">\
					</div>\
				</div>\
				<div class="form-group row fv-plugins-icon-container">\
					<button id="StripePaymentBtn" class="btn btn-primary">Submit</button>\
				</div>\
			 </form>\
			</div>\
			<div class="right-payment-options" style="display:none;">\
				<p style="font-weight: 500;">Select your payment method</p>\
				<div class="form-check other-payment-radio '+stripeclass+'" bis_skin_checked="1">\
					<label>\
						<div class="radio radio-danger" bis_skin_checked="1">\
							<input type="radio" name="extra_payment_method" id="rd2" value="stripe">\
						</div>\
						<div class="checkout-payment-img" bis_skin_checked="1">\
							<img src="'+ajax_admin.stripeimg+'">\
						</div>\
					</label>\
				</div>\
				<div class="form-check other-payment-radio '+paystackclass+'" bis_skin_checked="1">\
					<label>\
						<div class="radio radio-danger" bis_skin_checked="1">\
							<input type="radio" name="extra_payment_method" id="rd2" value="paystack">\
						</div>\
						<div class="checkout-payment-img" bis_skin_checked="1">\
							<img src="'+ajax_admin.paystackimg+'">\
						</div>\
					</label>\
				</div>\
				<div class="form-check other-payment-radio '+payfastclass+'" bis_skin_checked="1">\
					<label>\
						<div class="radio radio-danger" bis_skin_checked="1">\
							<input type="radio" name="extra_payment_method" id="rd2" value="payfast">\
						</div>\
						<div class="checkout-payment-img" bis_skin_checked="1">\
							<img src="'+ajax_admin.payfastimg+'">\
						</div>\
					</label>\
				</div>\
				<div class="form-group" bis_skin_checked="1" style="clear: both;">\
					<button class="btn btn-primary other-payment-base-btn" data-payment="" data-email="" id="OtherPaymentBtn">Proceed to payment</button>\
				</div>\
			</div>\
		</div>\
		<form action="'+ajax_admin.paystackbaseurl+'" method="post" id="payfast_payment_form" style="display: none;">\
		   	<input type="hidden" name="m_payment_id" value="'+ajax_admin.ord_num+'">\
			<input type="hidden" name="amount" id="planAmount" value="'+ajax_admin.tprice+'">\
			<input type="hidden" name="item_name" id="item_name" value="'+ajax_admin.name+'">\
			<input type="hidden" name="item_description" id="item_description" value="'+ajax_admin.name+' Event ticket">\
			<input type="hidden" name="custom_str1" value="'+ajax_admin.name+'">\
			<input type="hidden" name="custom_str2" value="'+ajax_admin.quantity+'">\
			<input type="hidden" name="custom_str3" value="'+ajax_admin.price+'">\
			<input type="hidden" name="custom_str4" id="custom_phone" value="">\
			<input type="hidden" name="custom_str5" id="custom_address" value="">\
		   	<input type="hidden" name="merchant_id" value="'+ajax_admin.merchantid+'">\
			<input type="hidden" name="merchant_key" value="'+ajax_admin.merchantkey+'">\
			<input type="hidden" name="name_first" id="name_first" value="">\
			<input type="hidden" name="name_last" id="name_last" value="">\
			<input type="hidden" name="email_address" id="email_address" value="">\
			<input type="hidden" name="cell_number" id="cell_number" value="">\
			<input type="hidden" name="email_confirmation" value="1">\
			<input type="hidden" name="confirmation_address" id="confirmation_address" value=""> \
			<input type="hidden" name="payment_method" value="cc"> \
			<input type="hidden" name="return_url" value="'+ajax_admin.returnurl+'">\
			<input type="hidden" name="cancel_url" value="'+ajax_admin.cancelurl+'">\
			<input type="hidden" name="notify_url" value="'+ajax_admin.notifyurl+'">\
		    <button type="submit" class="payment_step_next payfastBtnMain">PROCEED TO NEXT</button>\
		</form>\
		<script src="https://js.stripe.com/v2/"></script>\
		<script src="https://js.paystack.co/v1/inline.js"></script>\
	</div>';

	jQuery('.shopping_cart table').after(phtml);

	jQuery('input[name="extra_payment_method"]').click(function(){
		var value = jQuery(this).val();
		var email = jQuery('#payment_email').val();
		jQuery('#OtherPaymentBtn').attr( "data-payment", value );
		jQuery('#OtherPaymentBtn').attr( "data-email", email );

		if ( value != 'stripe' ) {
			jQuery('.left-payment-options.commom-fields').show();
	    	jQuery('.left-payment-options.stripe-payment-fields').hide();
	    	jQuery('#OtherPaymentBtn').show();
	    } else {
	    	jQuery('.left-payment-options.commom-fields').hide();
        	jQuery('.left-payment-options.stripe-payment-fields').show();
        	jQuery('#OtherPaymentBtn').hide();
	    }

    });

    jQuery(document).on( 'click', '#proceed_to_payment', function (e) {
    	var fname = jQuery('#payment_fname').val();
    	var lname = jQuery('#payment_lname').val();
    	var phone = jQuery('#payment_phone').val();
    	var address = jQuery('#payment_address').val();
    	var email = jQuery('#payment_email').val();

    	if ( fname.length == 0 ) {
    		alert('Please enter your first name');
    	} else if ( lname.length == 0 ) {
    		alert('Please enter your last name');
    	} else if ( email.length == 0 ) {
    		alert('Please enter your email');
    	} else if ( phone.length == 0 ) {
    		alert('Please enter your phone number');
    	} else if ( address.length == 0 ) {
    		alert('Please enter your address');
    	} else {
    		jQuery('.right-payment-options').show();
    		jQuery('#proceed_to_payment').hide();
    	}

    	jQuery('#payfast_payment_form #name_first').val(fname);
    	jQuery('#payfast_payment_form #name_last').val(lname);
    	jQuery('#payfast_payment_form #custom_phone').val(phone);
    	jQuery('#payfast_payment_form #custom_address').val(address);
    	jQuery('#payfast_payment_form #email_address').val(email);
    	jQuery('#payfast_payment_form #confirmation_address').val(email);
    	
    });

    function cardValidation () {
	    var valid      = true;
	    var name       = jQuery('#StripePaymentForm #Stripename').val();
	    var email      = jQuery('#StripePaymentForm #Stripeemail').val();
	    var cardNumber = jQuery('#StripePaymentForm #card-number').val();
	    var month      = jQuery('#StripePaymentForm #month').val();
	    var year       = jQuery('#StripePaymentForm #year').val();
	    var cvc        = jQuery('#StripePaymentForm #cvv-info').val();

	    if (name.length == 0) {
	        valid = false;
	    }
	    if (email.length == 0) {
	    	valid = false;
	    }
	    if (cardNumber.length == 0) {
	    	valid = false;
	    }

	    if (month.length == 0) {
	    	valid = false;
	    }
	    if (year.length == 0) {
	        valid = false;
	    }
	    if (cvc.length == 0) {
	        valid = false;
	    }

	    if(valid == false) {
	        alert("All Fields are required");
	    }

	    return valid;
	}

	//callback to handle the response from stripe
	function stripeResponseHandler(status, response) {
	    if (response.error) {
	        alert(response.error.message);
	    } else {
	        //get token id
	        var token   = response['id'];
	        var method  = jQuery(this).attr('data-payment');
	        var eemail  = jQuery(this).attr('data-email');
	        var fname   = jQuery('#payment_fname').val();
	        var lname   = jQuery('#payment_lname').val();
	        var phone   = jQuery('#payment_phone').val();
	        var uemail  = jQuery('#payment_email').val();
	        var address = jQuery('#payment_address').val();

		    var cardNumber = jQuery('#StripePaymentForm #card-number').val();
		    var month      = jQuery('#StripePaymentForm #month').val();
		    var year       = jQuery('#StripePaymentForm #year').val();
		    var cvc        = jQuery('#StripePaymentForm #cvv-info').val();

	        jQuery.ajax({					
				type: 'POST',
				dataType: 'json',
				url: ajax_admin.ajax_url,
				data: { 
					action: 'beevent_save_paystack',
					nonce: ajax_admin.bpexfront_nonce, 
					token: token, 
					uemail: uemail, 
					fname: fname,
					lname: lname,
					phone: phone,
					address: address,
					iname: ajax_admin.name, 
					quantity: ajax_admin.quantity,
					itemno: ajax_admin.itemno,
					price: ajax_admin.price,	
					tprice: ajax_admin.tprice,
					method: method,
					ename: ajax_admin.eventname,
					cardno: cardNumber,
					month: month,
					year: year,
					cvc: cvc,
				},
				success: function(res){
					if(res.status=="success"){
						window.location.replace( res.returnurl );
					}
					if(res.status=="fail"){
						alert(res.redirect);
					}
				},
				error: function(errorThrown){
					alert(errorThrown);
				} 
			});
	    }
	}

    jQuery(document).on( 'click', '#StripePaymentBtn', function (e) {
        e.preventDefault();

        //set your publishable key
		Stripe.setPublishableKey( ajax_admin.stripepkey );

		var valid = cardValidation();

	    if(valid == true) {
	        Stripe.createToken({
	            number: jQuery('#StripePaymentForm #card-number').val(),
	            cvc: jQuery('#StripePaymentForm #cvv-info').val(),
	            exp_month: jQuery('#StripePaymentForm #month').val(),
	            exp_year: jQuery('#StripePaymentForm #year').val()
	        }, stripeResponseHandler);

	        //submit from callback
	        return false;
	    }

    });

	jQuery(document).on( 'click', '#OtherPaymentBtn', function (e) {
        e.preventDefault();
        var method  = jQuery(this).attr('data-payment');
        var eemail  = jQuery(this).attr('data-email');
        var fname   = jQuery('#payment_fname').val();
        var lname   = jQuery('#payment_lname').val();
        var phone   = jQuery('#payment_phone').val();
        var uemail  = jQuery('#payment_email').val();
        var address = jQuery('#payment_address').val();

        if ( method == 'stripe' ) {
        	e.preventDefault();
        	jQuery('.left-payment-options.commom-fields').hide();
        	jQuery('.left-payment-options.stripe-payment-fields').show();
        	jQuery('#OtherPaymentBtn').hide();
        	jQuery('#StripePaymentForm #Stripename').val(fname+' '+lname);
        	jQuery('#StripePaymentForm #Stripeemail').val(eemail);
		    
        } else if( method == 'paystack' ) {
        	jQuery('.left-payment-options.commom-fields').show();
        	jQuery('.left-payment-options.stripe-payment-fields').hide();
        	jQuery('#OtherPaymentBtn').show();
			var plan_amount = ajax_admin.tprice;
			plan_amount = plan_amount * 100;
		    var handler = PaystackPop.setup({
		      key: ajax_admin.paystackpkey,
		      email: eemail,
		      amount: plan_amount,
		      callback: function(response){
		          jQuery.ajax({		
					type: 'POST',
					dataType: 'json',
					url: ajax_admin.ajax_url,
					data: { 
						action: 'beevent_save_paystack',
						nonce: ajax_admin.bpexfront_nonce, 
						token: response.reference, 
						fname: fname,
						lname: lname,
						phone: phone,
						address: address,
						uemail: eemail,
						iname: ajax_admin.name, 
						quantity: ajax_admin.quantity,
						itemno: ajax_admin.itemno,
						price: ajax_admin.price,	
						tprice: ajax_admin.tprice,
						method: method,
						ename: ajax_admin.eventname
					},   
					success: function(res){
						if(res.status=="success"){
							window.location.replace( res.returnurl );
						}
						if(res.status=="fail"){
							alert(res.redirect);
						}
					},
					error: function(errorThrown){
						alert(errorThrown);
					} 
				});
		      },
		      onClose: function(){
		          alert("window closed");
		      }
		    });
		    handler.openIframe();
		  
        } else {
        	jQuery('.left-payment-options.commom-fields').show();
        	jQuery('.left-payment-options.stripe-payment-fields').hide();
        	jQuery('#OtherPaymentBtn').show();
        	jQuery('#payfast_payment_form').submit();
        }
    });


});

ZeroDay Forums Mini