Cómo cambiar el estado por defecto de los pedidos con las pasarelas de pago

Como vimos hace poco, hay diversos estados de pedido en WooCommerce, y también aprendimos que, por defecto, las pasarelas de pago suelen asignar un estado de pedido por defecto a los pedidos realizados por los clientes.

Estos estados de pedido por defecto asignados por las pasarelas de pago más populares son los siguientes:

  • Transferencia bancaria – En espera
  • Cheque – En espera
  • Contra reembolso – En espera
  • Stripe – Procesando
  • PayPal – Procesando
  • RedSys – Procesando

Pero ¿y si tú prefieres cambiar esos estados de pedido por defecto de las distintas pasarelas?

Podrías por ejemplo, cambiarlas a:

  • Transferencia bancaria – Pendiente
  • Cheque – Pendiente
  • Contra reembolso – Pendiente
  • Stripe – Completado
  • PayPal – Completado
  • RedSys – Completado

Y simplificarías procesos a la hora de gestionar los pedidos de WooCommerce.

Cómo cambiar el estado de pedido de las pasarelas de pago

Si estás decidido, solo necesitarás añadir unas líneas de código a tu instalación de WooCommerce, como explicaba en esta sencilla guía de cómo y dónde copiar y pegar códigos en WordPress.

El código sería como este:

/* Cambiar estado de pedido de transferencias bancarias */
add_filter( 'woocommerce_bacs_process_payment_order_status', 'ayudawp_cambiar_estado_pedido_transferencias', 9999, 2 );
function ayudawp_cambiar_estado_pedido_transferencias( $status, $order ) {
return 'pending';
}

Este código en concreto cambiará el estado de pedido por defecto de los pagos mediante transferencia bancaria (woocommerce_bacs_process_payment_order_status) al estado de pendiente (pending).

Cómo adaptar el código de ejemplo

En el código de ejemplo anterior, además del nombre de la función personalizada que hace referencia a la utilidad del código (ayudawp_cambiar_estado_pedido_transferencias), que deberías cambiar de nombre según el uso que vaya a tener, lo importante son estos 2 elementos:

  1. El filtro  woocommerce_ID-DE-LA-PASARELA-DE-PAGO_process_payment_order_status, en el que deberás cambiar el ID de la pasarela de ejemplo (bacs, para las transferencias bancarias, por el ID adecuado de cada pasarela.
  2. La acción de retorno, que será el nuevo estado (en el ejemplo pending)

Los IDs de las pasarelas de pago más habituales, y el filtro para cada una, que puedes adivinar en la URL cuando la estás gestionando, son estos:

  • Transferencia bancaria (bacs) – woocommerce_bacs_process_payment_order_status
  • Contra reembolso (cod) – woocommerce_cod_process_payment_order_status
  • Cheque (cheque) – woocommerce_cheque_process_payment_order_status
  • PayPal (paypal) – woocommerce_paypal_process_payment_order_status
  • Stripe (stripe) – woocommerce_stripe_process_payment_order_status
  • RedSys (redsys) – woocommerce_redsys_process_payment_order_status
  • Bizum (bizumredsys) – woocommerce_bizumredsys_process_payment_order_status

Y los códigos de estados de pedido a los que puedes cambiar son estos:

  • En espera – on-hold
  • Pendiente – pending
  • Procesando – processing
  • Completado – completed
  • Cancelado – cancelled
  • Reembolsado – refunded
  • Falló – failed

Y aquí tienes unas capturas de dónde puedes verlos:

Otro ejemplo de cambio de estado de pedido de pasarela de pago

Para que veas cómo aplicar el código para cambiar el estado de otra pasarela de pago, aquí tienes cómo haríamos para que los pedidos realizados con Stripe, en vez de quedar en estado de procesando, su estado por defecto después del pedido sea el de completado.

/* Cambiar estado de pedido de Stripe */
add_filter( 'woocommerce_stripe_process_payment_order_status', 'ayudawp_cambiar_estado_pedido_stripe', 9999, 2 );
function ayudawp_cambiar_estado_pedido_stripe( $status, $order ) {
return 'completed';
}

Espero haberlo explicado bien y de manera sencilla, y que con esta sencilla guía seas capaz de decidir tú el estado de pedido por defecto para la distintas pasarelas de pago activas en tu tienda online con WooCommerce.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 4

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba
Ir al contenido