WooCommerce: pago después de confirmar el pedido

2 minutos de lectura

Estoy creando una tienda de Woocommerce. El cliente desea utilizar el complemento de pago “Mollie” para aceptar pagos de iDeal (holandés).

Cuando las personas piden artículos en la tienda web, deberían poder pedir todo lo que quieran sin pagar. Después de eso, el propietario de la tienda debe recibir un correo electrónico y verificar el pedido.

El dueño de la tienda revisa el pedido comprobando el stock de los productos solicitados. A partir de este punto, debería haber escenarios:

  1. Todo está en stock. Se pesa el paquete. Se añaden los gastos de envío. El cliente recibirá un enlace de pago.

  2. No hay nada en stock. Se debe enviar un mensaje al cliente con un mensaje de agotado.

  3. Solo una parte del pedido está en stock. El pedido debe cambiarse en el panel de pedidos de Woocommerce. El resto del pedido se pesa y embala. El cliente recibirá un enlace de pago.

Cuando se acepta el pedido, el cliente debe recibir un enlace de pago con los métodos de pago normales (incluidos los pagos “Mollie”).

¿Hay una manera de hacer que esto suceda? ¡Gracias por adelantado!

  • Mollie te permite crear pagos y/o enlaces de pago fácilmente a través de su API. Sin embargo, pagar después de que se haya completado el pedido no está incluido en el paquete Mollie Woocommerce. Entonces: claro, pero requiere una codificación personalizada.

    – Vernon

    2 de mayo de 2017 a las 7:37


Sé que esto es un año después, pero eso podría ayudar a alguien más :-).
A mi cliente le gustaría un proceso similar, los clientes de la tienda no podrían pagar en línea hasta que el propietario de la tienda confirme el pedido.

Solución:

  1. Nosotros usamos Contrareembolso para el pago fuera de línea, renombrado como “Registrar pedido”.
  2. Nosotros usamos Raya para pago con tarjeta de crédito para pago en línea.
  3. Mostramos Contrareembolso por verificar página (punto final de pago) y Raya por ordenar-pagar página (punto final de mis cuentas), más información sobre los puntos finales en documentos de woocommerce.
  4. Y voilá.

Usamos este filtro para cambiar las pasarelas de pago entre los 2 puntos finales.

function my_switch_gateways_by_context($available_gateways) {
  global $woocommerce;

  $endpoint = $woocommerce->query->get_current_endpoint();

  if ($endpoint == 'order-pay') {
    unset($available_gateways['cod']);
  } else {
    unset($available_gateways['stripe']);
  }

  return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'my_switch_gateways_by_context');

Espero que esto ayude.

  • ¡Genial! Tan simple y tan barato ;p

    – usuario3459805

    11 de septiembre de 2019 a las 17:46

Por lo que yo sé, no hay una manera fácil de hacer esto. El flujo de pago normal sería dejar que el consumidor pague inmediatamente cuando realiza el pedido. Si algunos productos están agotados, simplemente puede crear un reembolso (parcial). Esto se apoya en Complemento WooCommerce de Mollie.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad