Hola Damian,
Actualmente estoy usando CURL + XML.
Fijate en el Manual de Comandos de Hasar en el capítulo: "Conectividad y Protocolos". Especialmente los apartados: "Protocolo HTTP" y "Las herramientas 2G".
Ojo, no soy un especialista en el tema, de hecho recién hace poco tuve que programar para una Hasar 2g. Igual te cuento un poco mi experiencia.
Al principio comencé usando el OCX, como hacía con la Hasar de vieja tecnología. Pude hacer casi todo con el OCX de la Hasar 2g, salvo imprimir textos en la factura (con el comando "ConfigurarZona()"). El tema es que NECESITO imprimir textos.
El problema es que desde VFP no se puede usar el comando "ConfigurarZona()" del OCX porque requiere un parámetro con una estructura que nuestro querido zorro no maneja (se trata del parámetro "estilo" que tiene una estructura tipo lista).
Buscando en este y otros foros encontré un par de propuestas de solución. Te paso un resumen:
1) Empaquetar el OCX de Hasar en otro OCX de VB (ú otro lenguaje que soporte datos estructurados) y hacer la conversión de datos en esa capa. La verdad parece medio chino, pero he visto algunos que usan esa opción. Quizá pueda servir para alguien que ya está utilizando algún spool o proxy para conectarse a la impresora.
2) Usar un mix de OCX Hasar 2g para casi todo y complementar con CURL + XML para ConfigurarZona (y los pocos comandos que requieran parámetros con datos estructurados). Esta es la solución que propone Mario Beitía en este mismo foro. Yo lo contacte y muy amablemente me pasó código de ejemplo. Funciona y es una opción válida.
3) Usar solo CURL + XML. En el foro participa Ariel D'Alfeo que desarrollo una biblioteca que implementa esta solución. Tiene un costo, si estás interesado te tendrías que poner en contacto con el. Yo le compre la biblioteca y funciona bien, también es una opción válida.
Yo use un tiempo las funciones de Ariel D`Alfeo y luego me armé una biblioteca propia con CURL + XML porque necesitaba algunas implementaciones específicas.
Saludos!
Román