HEX
Server: Apache
System: Linux web5.visualcom.es 4.18.0-477.21.1.lve.1.el8.x86_64 #1 SMP Tue Sep 5 23:08:35 UTC 2023 x86_64
User: ensaco.es (10019)
PHP: 8.3.32
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/ensaco.es/httpdocs/wp-content/plugins/redsyspur/pages/templates/paymentmodal.html
<input type="button" value="Realizar pago" id="openModal" class="form">
<script>
    $ = jQuery;
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "{url_modal}";
    document.getElementsByTagName("head")[0].appendChild(script);

    function openModal(){
        var requestParams = {
            FormData: {
                Ds_SignatureVersion: "{Ds_SignatureVersion}",
                Ds_MerchantParameters: "{Ds_MerchantParameters}",
                Ds_Signature: "{Ds_Signature}"
            },
            Environment : "{environment_modal}"
        };
        initPayment(requestParams);

        //Al presionar el boton Abandonar, se refresca la pagina
        jQuery('.popup_btn_leave').live('click', function(e){
            location.reload();
            return;
        });
    }

    function onPlaceOrder(){
        var payment_method = jQuery( 'form.checkout input[name=payment_method]:checked' ).val();
		if(!payment_method){
			payment_method = jQuery( 'input[name=radio-control-wc-payment-method-options]:checked' ).val();
		}
        if ( payment_method == 'redsys') {
            openModal();
            checkout_place_order_success = true;
            return false;
        }        
        return true;
    }

    window.addEventListener("message", function(event) {
        parsePaymentResponse(event);
    });

    var checkout_place_order_success = false;
    jQuery( 'form.checkout' ).on( 'checkout_place_order_success', onPlaceOrder);
    jQuery('.wc-block-components-checkout-place-order-button').click(onPlaceOrder);

    jQuery('#openModal').click(onPlaceOrder);

    document.body.checkout_error = function(e){
        var payment_method = jQuery( 'form.checkout input[name=payment_method]:checked' ).val();
		if(!payment_method){
			payment_method = jQuery( 'input[name=radio-control-wc-payment-method-options]:checked' ).val();
		}
        if ( payment_method == 'redsys' && checkout_place_order_success) {
            jQuery( '.woocommerce-error' ).remove();
        }
        return true;
    }

	function getPlaceOrderButton(){
		if($("#place_order").length){
			return $("#place_order");
		}else{
			return $('.wc-block-components-checkout-place-order-button');
		}
	}

	function updatePaymentMethod(){
        var payment_method = jQuery( 'form.checkout input[name=payment_method]:checked' ).val();
		if(!payment_method){
			payment_method = jQuery( 'input[name=radio-control-wc-payment-method-options]:checked' ).val();
		}
        if ( payment_method == 'redsys') {
            getPlaceOrderButton().hide();
        }else{
			getPlaceOrderButton().show();
		}
	}

	$('form.checkout').on('change', 'input[name="payment_method"]', function(){
		updatePaymentMethod();
	});
	$('input[name="radio-control-wc-payment-method-options"]').change(function(){
		updatePaymentMethod();
	});
	updatePaymentMethod();
</script>