Pregunta sobre WooCommerce de Wordpress:

Dominios obligatorios de WooCommerce

Un usuario preguntó 👇

Hola,

He leído algunos hilos que hablaban de esto, pero no ayudaron.

Estoy usando WooCommerce, que está integrado con Elavon como pasarela de pago (la mayoría de los hilos que he visto, la gente usa Paypal y otras pasarelas de pago).

He agregado los filtros correctos para desinstalar los campos y los campos se eliminan correctamente de mi página de pago. Sin embargo, cuando intento pagar el artículo, encuentro un error que dice:

Se produjo un error. Vuelva a intentarlo o pruebe con una forma de pago alternativa.

Esto es lo que agregué a mi archivo functions.php:


function custom_override_checkout_fields( $fields ) {
   if( woo_cart_has_virtual_product() == true ) {
        unset($fields['billing']['billing_first_name']);
        unset($fields['billing']['billing_last_name']);
        unset($fields['billing']['billing_company']);
        unset($fields['billing']['billing_address_1']);
        unset($fields['billing']['billing_address_2']);
        unset($fields['billing']['billing_city']);
        unset($fields['billing']['billing_postcode']);
        unset($fields['billing']['billing_country']);
        unset($fields['billing']['billing_state']);
        unset($fields['billing']['billing_phone']);
        unset($fields['order']['order_comments']);
        unset($fields['billing']['billing_address_2']);
        unset($fields['billing']['billing_postcode']);
        unset($fields['billing']['billing_company']);
        unset($fields['billing']['billing_last_name']);
        unset($fields['billing']['billing_email']);
        unset($fields['billing']['billing_city']);
        return $fields;
   }
}

Algunas notas: 1. Todos mis artículos son virtuales / descargables. Debo mencionar que antes de agregar el código anterior, mi producto ya estaba creado y noté que no se verificó que el producto fuera virtual / descargable. ¿Quizás esto tenga algo que jugar? No lo creo.

2. Cuando los campos de dirección están presentes e ingreso todo, puedo pagar los artículos no emitidos.

3. Integré WooCommerce Elavon con Pinpoint Booking System. En el fin de semana de wordpress, pensé que este error podría haber estado relacionado con los campos «obligatorios» para los arreglos de pago de mi calendario. En esa configuración, los desactivé todos, pero aún así, aparece el error

¿Alguna idea sobre cómo puedo solucionar esto?

(@riaanknoetze)

Hace 1 año, 4 meses

Hola,

Cuando los campos de dirección están presentes e ingreso todo, puedo pagar los artículos no emitidos.

Esto parece indicar que Elavon tiene un requisito absoluto de tener presentes estos campos de facturación para procesar el pago. Por ejemplo, PayPal Standard solo requiere el nombre y la dirección de correo electrónico (estos varían según la puerta de enlace).

En el futuro, ¿ha verificado con Elavon qué campos de facturación son un requisito completo para procesar pagos?

(@kentnerd)

Hace 1 año, 4 meses

Oye RK,

Muchas gracias por la rápida respuesta.

Realmente no tuve la oportunidad de consultar con Elavon personalmente, pero mi socio se puso en contacto con ellos e hicieron algo para eliminar la necesidad de los campos de facturación.

Hice una prueba y mi pedido se procesó. No recibí el error y el pedido apareció en los fines de semana de WooCommerce en «Pedidos».

Así que supongo que para referencia futura, en caso de que otros integren Elavon con WooCommerce y tengan problemas con esto, simplemente llame a Elavon.

Si obtengo más información al respecto específicamente sobre lo que hicieron Elavon (y mi socio), me aseguraré de regresar y actualizar a sus muchachos.

Probablemente también debería tener en cuenta que cuando mi socio Elavon tuvo el requisito de eliminar los campos de facturación, el siguiente código permaneció en nuestro archivo functions.php:


    add_filter('woocommerce_billing_fields', function($fields = array() ) {
      unset($fields['billing_company']);
      unset($fields['billing_address_1']);
      unset($fields['billing_address_2']);
      unset($fields['billing_city']);
      unset($fields['billing_state']);
      unset($fields['billing_country']);
      unset($fields['billing_postcode']);
      // unset($fields['billing_phone']);
      unset($fields['billing_email']);
      return $fields;
    });

    add_filter( 'woocommerce_get_country_locale', function($locale = array()) {
      $locale['US']['billing_address_1']['required'] = false;
      $locale['US']['billing_address_2']['required'] = false;
      $locale['US']['billing_city']['required'] = false;
      $locale['US']['billing_state']['required'] = false;
      $locale['US']['billing_country']['required'] = false;
      $locale['US']['billing_postcode']['required'] = false;

      return $locale;
    });

No estoy seguro de si alguno de los filtros hizo una diferencia (lo dudo).

¡Gracias!

Solo para su información para otros desarrolladores de wordpress: he preguntado al soporte de Elavon antes y fueron muy útiles, así que no dude en contactarlos. (Creo) que tienen soporte 24 horas al día, 7 días a la semana en el 1-800-725-1243. Buena suerte y feliz codificación 🙂

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *