usar stripe pasarelas pasarela pago mexico crear como colombia jquery wordpress woocommerce payment checkout

jquery - stripe - ¿Cómo evitar que WooCommerce seleccione el método de pago predeterminado en la página de pago?



stripe colombia (2)

OK, funcionó. Aquí es cómo:

  1. Copie el archivo javascript de:

/wp-content/plugins/woocommerce/assets/js/frontend/checkout.js

dentro:

/wp-content/themes/Your-Theme/woocommerce/js/checkout.js

  1. Abra el archivo recién creado y busque el siguiente código:

    if ($(''.woocommerce-checkout'').find(''input[name=payment_method]:checked'').size() === 0) { $(''.woocommerce-checkout'').find(''input[name=payment_method]:eq(0)'').attr(''checked'', ''checked''); }

Debe estar alrededor de la línea 298. Adelante y coméntelo.

  1. Agregue esto a su archivo functions.php:

    function wpchris_override_woo_checkout_scripts() { wp_deregister_script(''wc-checkout''); wp_enqueue_script(''wc-checkout'', get_stylesheet_directory_uri() . ''/woocommerce/js/checkout.js'', array(''jquery'', ''woocommerce'', ''wc-country-select'', ''wc-address-i18n''), null, true); } add_action(''wp_enqueue_scripts'', ''wpchris_override_woo_checkout_scripts''); function wpchris_unselect_payment_method() { echo "<script>jQuery( ''.payment_methods input.input-radio'' ).removeProp(''checked'');</script>"; } add_action(''woocommerce_review_order_before_submit'',''wpchris_unselect_payment_method'' ); function wpchris_filter_gateways( $gateways ){ global $woocommerce; foreach ($gateways as $gateway) { $gateway->chosen = 0; } return $gateways; } add_filter( ''woocommerce_available_payment_gateways'', ''wpchris_filter_gateways'', 1);

Ahora, el método de pago predeterminado no debería marcarse cuando actualiza la página de pago.

En la página de pago se presentan los métodos de pago y el primero se selecciona de forma predeterminada y de forma automática. Necesito evitar la selección, por lo que WC no selecciona ningún método de pago inicialmente.

Intenté 2 cosas hasta ahora:

  1. jQuery desde la consola de Chrome:

    jQuery (''.payment_methods input.input-radio'') .prop (''verificado'', falso);

resultado:

[<input id=​"payment_method_paypal" type=​"radio" class=​"input-radio" name=​"payment_method" value=​"paypal" data-order_button_text=​"Proceed to PayPal" checked=​"checked">​, <input id=​"payment_method_accountfunds" type=​"radio" class=​"input-radio" name=​"payment_method" value=​"accountfunds" data-order_button_text>​]

  1. Elimine el código del archivo de plantilla de pago WoolComp.php WooCommerce:

    marcado ($ gateway-> elegido, falso);

Ninguno de los dos funciona ¿Cómo hacerlo? ¿Algún fragmento o sugerencia para eso, por favor?

EDITAR:

También intenté esto:

function wpchris_filter_gateways( $gateways ){ global $woocommerce; foreach ($gateways as $gateway) { $gateway->chosen = 0; } return $gateways; } add_filter( ''woocommerce_available_payment_gateways'', ''wpchris_filter_gateways'', 1);


Tengo el mismo problema y lo he resuelto de esta manera:

  1. Reemplazar el archivo checkout-js con mi hijo tema checkout-override-js.

  2. Luego comentado el siguiente código:

línea: 48: this.init_payment_methods();
línea: 58:

init_payment_methods: function() { var $payment_methods = $( ''.woocommerce-checkout'' ).find( ''input[name="payment_method"]'' ); // If there is one method, we can hide the radio input if ( 1 === $payment_methods.size() ) { $payment_methods.eq(0).hide(); } // If there are none selected, select the first. if ( 0 === $payment_methods.filter( '':checked'' ).size() ) { $payment_methods.eq(0).attr( ''checked'', ''checked'' ); } // Trigger click event for selected method $payment_methods.filter( '':checked'' ).eq(0).trigger( ''click'' ); },

línea: 113: wc_checkout_form.init_payment_methods();

Esto eliminará la selección del método de pago predeterminado. Puede jugar con estos códigos para que se adapte a sus necesidades.