Ya hemos visto como crear en WooCommerce productos simples y variables, así que hoy aprenderemos a crear otro tipo de productos especiales, muy sencillos de añadir a cualquier tienda online, para los que no necesitas tener inventario, ni siquiera hacer facturas, pero que igualmente te pueden generar ingresos.
Estoy hablando de productos descargables, como música, documentos o aplicaciones de software, que también puedes gestionarlos en tu tienda online con WooCommerce de manera sencilla.
Las diferencias con respecto a un producto simple o variable son las siguientes:
Tipo de producto
Debes activar la casilla Descargable, de este modo cambia la pantalla de información general del producto para incluir las características de este tipo de artículo.
- Archivos descargables: Podemos incluir más de un fichero, y para cada uno deberemos incluir el nombre y la URL del archivo, ya sea externa o alojada en nuestro propio servidor, en cuyo caso podremos subirlo en el momento a través del botón «Elegir archivo«. Después de añadir un archivo podemos incluir más mediante el botón «Añadir archivo«.
- Límite de descargas: Es importante especificar si el cliente que compre el producto descargable lo tendrá disponible en su cuenta para descargarlo cuantas veces quiera (dejando esta casilla en blanco) o si queremos poner un límite de descargas, especificando el número.
- Caducidad de la descarga: Igualmente podemos definir después de cuantos días ya no estará el producto disponible para su descarga. De nuevo, si dejamos en blanco este campo no habrá límite de tiempo.
- Tipo de descarga: Este campo no afecta a la funcionalidad de la descarga sino que es un campo en el que describimos, de cara al posicionamiento en buscadores, el tipo, pudiendo elegir entre:
- Producto estándar (cualquier archivo a descargar)
- Aplicación/Software (archivos ejecutables/instalables)
- Música
El resto de campos se cumplimentan igual que en cualquier otro tipo de producto, y el resultado será el esperado.
Y, una vez adquirido, tu cliente podrá descargarlo desde su cuenta, desde la confirmación del pedido, o incluso desde el correo electrónico que le llega de su pedido.
Nota importante: Los productos descargables son del tipo «virtuales» y WooCommerce no los autocompleta aunque se haga el pago normalmente, sino que se quedan en estado «Procesando» hasta que los completas manualmente desde la administración.
Para que tus clientes puedan descargar los productos descargables debes ir a tu escritorio a WooCommerce -> Ajustes -> Productos -> Productos descargables y activar la casilla «Permitir acceso a los productos descargables después del pago»
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Muchas gracias por toda la información y ayuda. Me gustaría saber, si mi producto es un descargable, que es un curso, y va teniendo lecciones que se van activando semana a semana, Eso lo podría hacer dentro de la zona privada de WooCommerce o me recomiendas alguna plugin extra integrado con WooCommerce? Muchas gracias. NOTA: También tengo quiero integrar a BBPress, porque tengo un foro para los del mismo curso. MUCHAS GRACIAS por toda la ayuda.
Empezando por el final, añadir un bbPress, un foro, es independiente de WooCommerce, lo instalas y punto.
Sobre los pagos recurrentes tienes que añadir un plugin más que permita esa opción, por defecto WooCommerce no lo contempla. Y por supuesto que tu plataforma de pago lo permita
Muchas gracias Fernando.
bbPress lo quería integrado con WooCommerce, para que si el cliente compra el producto curso 1, le de tambien acceso al foro 1.
por otra parte, si el producto1 que se paga una unica vez (al comprarlo), es un producto digital con entregas semanales en la web. estas entregas, ¿pueden estar dentro de la zona privada de WooCommerce o lo debo de hacer con algún plugin?
Muchísimas gracias Fernando.
Lo primero ni idea, no se de ningún plugin ni código que haga eso automáticamente.
Esas entregas pueden estar en zona privada claro, usa WooCommerce Subscriptions
Hola Fernando, tengo una duda para los productos descargables en woocommerce, resulta que cuando una persona compra un fotografía y se la descarga, la dirección url no esta encriptada entonces pueden descargar otras imágenes de la misma galeria ya que son imágenes correlativas. como podria solucionar esto?
Saludos y gracias.
Mal apaño sí. Me temo que no tendrás que ser tan obvio con los nombres de los archivos para que no los pillen los espabilados.
Hola Fernando. Me he leído varias entradas tuyas buscando una solución muy concreta a un tipo de producto específico, y creo que comentarlo aquí es donde más encaja.
Me refiero a vender plazas en un curso presencial, en concreto, pensaba en campus, campamentos, matrículas en jornadas… Hablo de montar una tienda solo para vender un artículo, que se renueva año tras año, pero que veo interesante implementar en Woocommerce porque algunas de esas jornadas pueden ser internacionales y recibir pagos desde todas partes.
El curso es presencial pero lo que reciba el participante a la hora de pagar debe ser algo descargable, intuyo, y por eso comento aquí.
Te he visto algo así en tu Curso de WordPress Profesional presencial en Madrid (2017), pero a mí se me escapa por ejemplo cómo recoger una ficha de datos completa de quien se suscribe. En fin, cómo emplear WC para este tipo de venta.
Es un producto normal, pero el marcas la casilla de descargable y le incluyes los documentos que quieras, que le llegarán por email cuando se complete el pedido.
Por ejemplo, un pdf con las normas, instrucciones del campamento, una ficha para rellenar, tú decides lo que le añades.
Por lo demás es un producto normal y corriente, virtual en tu caso al no conllevar envío.
Yo uso ese modelo para el alquiler de espacios en mi coworking: https://brainware.es donde al pagar tu plaza mensual (o lo que sea) aprovecho y te envío las normas del coworking, o si es un bono por días te mando un pdf para imprimir que tendrás que traer y te ponemos un sello cada día que vienes.
La imaginación al poder
Saludos, una duda, ya tengo todo configurado, y solo quiero que mi producto se compre una sola vez, pero mediante el recurso de STOCK no me esta funcionando, hay alguna solución para los productos descargables que se borren o se oculten de la galeria de productos una vez comprado?
Buenos días, uso woocomerce para descargas de pago, puedo adjuntar jpg pero no consigo que visualice pdf ¿me podéis ayudar? mil gracias
En los ajustes de WooCommerce > Productos > Productos descargables cambia el método de descarga de archivos, que no sea Forzar descargas
Buenos días, Fernando. Tengo una duda. ¿Es posible vender un producto virtual descargable «genérico» y que el archivo que se descarga sea distinto en cada compra?
Me explico mejor con el caso concreto. Quiero vender vales para realizar una actividad (en este caso, paseos a caballo). Pretendo que el vale se concrete en un pdf descargable. Hasta aquí todo fácil.
El problema es que, una vez descargado, para que el vale se haga efectivo, debe validarse en la web de la empresa introduciendo un código alfanumérico, que es único y personalizado para cada vale. Es decir, cada vez que un usuario compra un vale, se debe descargar un pdf que incluye un código diferente.
¿Hay alguna forma de configurar woocomerce o algún plugin para conseguir esta funcionalidad?
No sé si me he explicado correctamente. En cualquier caso, muchísimas gracias por tu atención.
Si no te entiendo mal sería algo parecido a los tickets para eventos o así ¿no?
En ese caso necesitas algo más específico, y te recomiendo el siguiente plugin, que es para eventos pero puedes personalizar hasta el infinito para lo que quieras (si tienes dudas tienen chat pre-venta y soporte en español) en la misma web
https://yithemes.com/themes/plugins/yith-woocommerce-event-tickets/?refer_id=1053629
Muchas gracias, lo voy a probar y te digo.
Hola Fernando:
En tu artículo al referirte a subir el archivo/s que se va a descargar, no dices nada sobre un requisito de WooCommerce sobre la URL del enlace del archivo: «Los enlaces introducidos aquí ya deberían estar codificados». Y claro, surge la pregunta: ¿Cómo se codifica la URL y qué debe hacer después el cliente para acceder al archivo codificado?
En cualquier caso gracias.
La URL puede ser normal, no necesitas codificar nada
Bien Fernando. Gracias por tu respuesta y por la rapidez. Aunque no entiendo por qué dice WC que «deberían». Por cierto, ¿se podría aplicar esta modalidad de URL en WC para el alquiler (sin descarga) de vídeos (como producto virtual) mediante streaming?
Si te entiendo bien no. Para eso necesitas habilitar una zona privada, un sistema de membresía integrado con WC
Gracias.
puede ser que wordpress impida la descarga de un archivo pesado, a pesar de haber seguido todas tus indicaciones? Un archivo de por ejemplo 2,05GB ?¿
Eso es más bien restricción del servidor. WordPress cumple las reglas de tu host.
Buenas tardes, tengo una consulta. Yo vendo agendas para descargar e imprimir. Específicamente una de ellas tiene una variable de color. Yo vendo por pack, 3 colores diferentes a $XX. Mi duda es: Como hago para que en un mismo producto con las variables (y los archivos de todos los colores) se puedan descargar 3 variables diferentes y no solo uno? La alternativa es vender de a 1 color, pero es mas engorroso para el cliente. Gracias!
Vendiendo el producto como pack completo, no como variaciones
tengo la siguiente duda, en producto simple (descarga de archivos digitales) puedo subir el archivo en por ejemplo google drive y sin tener que subir el archivo a mi servidor?
Sí claro, solo te pide un enlace, de donde sea. Fíjate en la primera captura 😉
Muchas gracias por la información. He seguido tu guía para configurar mi tienda donde vendo principalmente descargables. He guardado todos mis archivos en formato .rar en dropbox y para la URL del archivo pues he optado por la opción de «compartir con enlace» y ese enlace es el que he puesto en la caja de cada producto. Ahora todas mis clientes se quejan de cuando descargan el archivo se les parece dañado o vacio. Literalmente con todos mis productos…. ¿Qué he hecho mal? ¡Socorro!
No sabría decirte, igual es el propio RAR, que no se comprime bien. Yo optaría mejor por usar una plataforma de descargas tipo Drive, etc y entregarlos en ZIP, que lo abren todos los ordenadores
Buenas tardes,
Perfecta toda la configuración.
Un problema …..
Tenemos una serie de productos descargables. Por motivo de la información que contienen esos archivos descargables se precisa de una contraseña para abrirlos. Diferente en cada archivo o producto.
Una vez aprobada la descarga y envío del correo de que ya esta disponible la misma.
¿Existe alguna manera de hacerle llegar también la contraseña pertinente?
Saludos y gracias.
Editando los pedidos y añadiendo una nota a los clientes, eso sí, uno a uno, como es el caso que dices. Si fuese una clave para todos podrías meterla como otro adjunto en un txt
Gracias Fernando. Precisamente he estado mirando el tema de las notas como solución.
Y con tu confirmación la decisión esta tomada. Reitero el agradecimiento.
Hola Fernando, relativo a este post. Tengo varios cursos, cada curso tiene su página protegida con contraseña, al comprarlos le envío la clave pertinente pero sucede que el usuario tiene tu clave personal y después cuando ingresa a descargas debe poner una clave distinta para cada producto; quería saber si no puede hacerse que esas descargas solo tengan el control de clave de cliente en lugar de también poner la clave de la página (debería quedar con clave por si quieren acceder usuarios que no compraron dicho contenido).
Gracias y saludos
Buenos días,
Un problema nuevo después del tema de envío de las contraseñas..
Tenemos productos descargables y productos que son físicos, deben ser enviados.
Con todas las configuraciones realizadas cuando accedes al paso final de compra siempre aparecen todos los métodos de envío definidos para aquella zona, marca por defecto el señalado en el producto (sin envío) pero el que aparezcan los demás (Correos, mensajería, etc.) puede llevar a errores. Si recalculas el envío también aparecen, etc.
Además queda muy mal, lo primero que te viene a la cabeza es porque me mete el lio de tantas formas de envío si es para descargar :(.
Simplemente queremos que si el producto es descargable, no aparezca ninguna otra opción de envío de esa zona de envío, solo salga la opción de sin envío. Si el producto es físico si pueden aparecer los distintos medios de envío.
¿Es posible?. ¿Donde nos estamos equivocando?.
Gracias por la paciencia y el trabajo que haces Fernando.
Disculpas por el nombre que aparece, hice el registro con una cuenta Google que tengo sin nombre y aparecen todas esas «a», Alfonso seria mas correcto.
Prueba con este código en tu functions.php o plugin de personalizaciones:
add_filter( ‘woocommerce_checkout_fields’ , ‘woo_remove_billing_checkout_fields’ );
/**
* Quitar campos innecesarios en el pago
*
* @return $fields array
*/
function woo_remove_billing_checkout_fields( $fields ) {
if( woo_cart_has_virtual_product() == true ) {
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_city’]);
}
return $fields;
}
/**
* Comprobación de que haya productos virtuales en el carrito *
* @return bool
*/
function woo_cart_has_virtual_product() {
global $woocommerce;
// Por defecto, si no hay productos virtuales
$has_virtual_products = false;
// Por defecto, número de virtuales
$virtual_products = 0;
// Traemos todos los productos del carrito
$products = $woocommerce->cart->get_cart();
// Loop por cart products
foreach( $products as $product ) {
// Obtenemos ID del producto y post meta de ‘_virtual’ post meta
$product_id = $product[‘product_id’];
$is_virtual = get_post_meta( $product_id, ‘_virtual’, true );
// Actualizamos $has_virtual_product si el producto es virtual
if( $is_virtual == ‘yes’ )
$virtual_products += 1;
}
if( count($products) == $virtual_products )
$has_virtual_products = true;
return $has_virtual_products;
}
Gracias Fernando.
El código funciona.
Pero aun le estamos dando vueltas de tuerca creando configuraciones. No soy demasiado amante de andar tocando el código si encuentro alternativas. Ya sabes, el problema de siempre, empiezas a actualizar y todo ese código modificado desaparece.
Cuando no me queda mas remedio lo hago y tengo archivados los archivos originales, los modificados por versiones y que modificaciones llevan. Pero a menos lo toco mejor.
Aun andamos a vueltas con ello valorando opciones, la tuya entre ellas.
Ahora además estamos mirando el tema de cumplir la normativa europea en productos digitales y productos físicos, en el tema IVA aplicable. En unos es el 21 pero en otros es el vigente en cada país de destino. Que te voy a contar que no sepas.
Aprovechando dejo la pregunta …….. ¿alguien puede cumplir dicha normativa al 100%?, con alguien me refiero a los pequeños emprendedores no a las grandes corporaciones.
¿Como metemos productos físicos con el 21 para todos y otros descargables en este caso con IVA país destino? . Mas registro dos tipos, guardarlo 10 años, etc. Supongo que a ti ese problema también te ha salido.
Reitero las gracias por la solución y el interés y trabajo que pones, impresionante.
Saludos Alfonso.
No hay problema con usar códigos pero bien, en el functions.php del tema hijo o, mejor, en un plugin para tus personalizaciones: https://ayudawp.com/crea-un-plugin-para-liberar-el-fichero-functions-php/
Sobre lo del IVA, solo queda crear todos y cada uno de los impuestos que se deban aplicar y en cada producto indicar el impuesto a aplicar. Es solo configurar bien WooCommerce, y pegarse la pechada de dar de alta todas las variables de impuestos
Fernando, muy agradecido.
Ese hilo de crear un plugin para las personalizaciones no lo había visto. Solución muy elegante y evitando el engorro de que las actualizaciones modifiquen ficheros, francamente me he quedado muy sorprendido por la sencillez de la solución.
Si la «pechada» ya esta hecha. Pero aun así leyendo toda la normativa, registro doble, guardarlos durante 10 años, las declaraciones de esos impuestos en productos virtuales ya sea en país destino o ventanilla única, etc., son ganas de complicar la existencia a pequeñas empresas por los «excesos de Amazones y compañía».
Gracias y un saludo.
Ah amigo, esa es otra cuestión. Pero al menos tenemos la posibilidad de compensar una estructura y personal superlativo con nuestro WordPress, plugins gratis y «algo» de esfuerzo personal, sin tener que pedir un crédito, opción que hace años era la única 😉
Hola Fernando y gracias por toda tu información,
tengo una duda y no se si tu me podrías ayudar, tengo un woocommerce y vendo cursos en pdf, habría posibilidad de proteger el pdf y que solo se visualizara online mediante enlace de visualización enviado al correo al realizar la compra?
Muchas gracias por tu ayuda.
Eso se sale de lo que es WordPress, pero se me ocurre que lo alojes en un Google Drive
Hola tengo un problema y necesito ayuda. Al poner en woocomerce el enlace del producto descargable el enlace funciona perfectamente (enlace dropbox o de drive) pero cuando el cliente realiza la compra el enlace que le llega no funciona,da igual videos, pdf…..no funciona .Me pasa en todos los productos, Gracias espero que puedan ayudarme
Hola Tocayo, quería ver si me puedes ayudar, estoy creando una nueva e-commerce de mi empresa, en la cual producimos discos de música, así como libros, mi idea es poder vender los discos y libros por medio de la pagina, pero aquí es el detalle, me gustaría que los clientes, pudieran escoger en comprar los discos y/o libros y poderlos descargar, o que quieran el disco o el libro en físico, he estado investigando y veo que es por medio de atributos y variaciones, pero no logro dar con la configuración, tu me podrías ayudar?
El asunto que complica hacerlo como producto variable (https://ayudawp.com/como-crear-un-producto-variable-en-woocommerce/) es los gastos de envío, así que mi consejo en ese caso concreto serían 2 productos distintos. Ahora, poderse se puede:
Muchas gracias, dejame intentarlo, en verdad agradezco mucho tu ayuda, te aviso que paso
Saludos
Hola!! Tengo un dilema!
Tengo un producto descargable, pero una vez hacen la compra, yo tengo que poner que está completado para que les llegue un correo con la descarga… Pero no les llega nada. Sabrias porque pasa esto???
Me ayudarias muchooo
No sé por qué puede estar pasando, pueden ser muchas variables, pero sí que puedes enviarles una nota desde la edición del pedido, visto que se lo tienes que modificar tú, es solo un clic más.
De todos modos es un horror que se los tengas que aprobar tú, puedes cambiar el ajuste por defecto de Woocommerce para descargables para que no se envíe automáticamente la descarga, solo cuando esté pagada, y ya puedes automatizar que se completen los pedidos.
No me importa hacer manual lo de Completado, pero esque no les llega el correo con la descarga y si les escribo una nota tampoco. antes iba genial, no he tocado nada y se ha fastidiado…
Ahh tambien me ha pasado (pero eso hace meses) que no puedo poner varias fotos a los productos, antes me salia en la columna derecha un apartado para poner galeria de fotos, ahora solo me deja poner la foto del producto y listo
Gracias!
Pueden ser muchas cosas, para analizarlo en detalle sería conveniente que abras un debate en los foros https://es.wordpress.org/support/
Hola! Gran aporte, podrias tener en cuenta tambien WP File Downloads que tiene muy buenas funcionalidades como la de conectarse con Google Drive para ahorrar espacio en el servidor 🙂
Gracias por la aportación
Hola Fernando, un cliente desea vender como producto virtual, un link a un sitio con contenido multimedia premium, el problema radica en que aquella persona que reciba el enlace al realizar la compra la podría compartir y se perderían visitas pagas a dicho enlace, revise el plugin de Yith que mencionabas (EVENT TICKETS) pero no estoy seguro que se adapte a lo que necesito. Desde ya muchas gracias por tu ayuda y comentarios! Abrazo
Si el enlace tiene código de seguimiento no habría problema alguno, la atribución siempre sería para él
Fernando, no termino de entender a que te referís con añadirle código de seguimiento, lo que quiere evitar mi cliente es que el link de esa página que muestre su contenido, se pueda compartir por un usuario que realizo el pago a otro que no realizo pago correspondiente para poder visualizarlo. Gracias nuevamente!
Ah, no te entendí. O sea, un enlace de descarga que no se pueda compartir. Pues la manera más sencilla es que marques en los ajustes de WooCommerce que haya que conectarse a la cuenta de usuario para acceder a las descargas
Muchas gracias Fernando, voy a hacerlo de esa forma. Un fuerte abrazo
Fernando muchas gracias por la explicación como siempre muy sencilla y fácil de seguir. Estoy intentando montar una editorial a través de woocommerce, la idea es que el cliente pueda descargar el libro una vez realice el pago a través de paypal, de momento solo serán dos tipos de formatos epub o pdf, hay posibilidad de hacer que el usuario seleccione el tipo de formato en el que lo quiere, a la hora de descargar el libro y en este caso como es algo tan especifico, puedes recomendarme un plugin que mejore wc para la venta de libros.
Muchas gracias y saludos.
Hola Fernando, es posible que el cliente compre varios archivos descargables y se los descargue en un zip?
Gracias!
En un solo zip en principio no, cada producto descargable sería un zip (o lo que sea) por separado, pudiendo descargar todos tras la compra.
Muchas gracias Fernando. Seguiremos investigando otras formas de hacerlo
Hola Fernando,
Quiero vender un archivo descargable en PDF y que se personalice el pie de página del documento con el nombre de compra del cliente automáticamente al hacer el pago. ¿Esto es posible?
Muchas gracias por el trabajo.
Carlos.