Hola, estoy teniendo un problema desde hace poco, vendo productos virtuales y los últimos pedidos que he recibido y se han pagado con Stripe se han quedado en Pendiente de pago, a pesar de que el pago se ha procesado y de que aparece como completo en las notas del pedido. Adjunto capturas de pantalla de un pedido que he hecho yo mismo para probarlo. He probado también con PayPal pero ahí no me ha dado problemas.
Contenido solo visible a usuarios registrados
Hola Antonio.
Veo que tienes unos valores en los parámetros de PHP muy bajos.
.- Accede a tu cuenta de WePanel -> Otras herramientas -> Parámetros de PHP
.- Modifica los valores como los que tienes en esta captura:
Una vez tengas:
.- Accede a Fragmentos de Código -> Añadir nuevo
.- Añade un titulo para tenerlo identifica y añade lo siguiente:
add_action('woocommerce_thankyou', 'we_autocomplete_virtual_orders', 10, 1);
function we_autocomplete_virtual_orders($order_id) {
if (!$order_id) return;
$order = wc_get_order($order_id);
$items = $order->get_items();
$only_virtual = true;
foreach ($items as $item) {
$product = wc_get_product($item['product_id']);
if (!$product->is_virtual() && !$product->is_downloadable()) {
$only_virtual = false;
break;
}
}
if ($only_virtual) {
$order->update_status('completed');
}
}
Este código marca automáticamente como completado cualquier pedido donde todos los productos sean virtuales o descargables después de finalizar la compra.
Revisa si con eso se soluciona y nos comentas.
Un saludo