Cómo integrar (más o menos) iZettle en el TPV de EinesTIC

En otro momento escribiré algo sobre este juguetito (el iZettle chip&pin) para cobrar con tarjeta, pero ahora me voy a centrar en la integración con el Openbravo POS de EinesTIC de forma que en el ticket de compra aparezca el recibo del pago y no haya que enviarlo por correo electrónico, comprarse una impresora de tickets por bluetooth para esto o hacerlo a mano tal y como propone el fabricante. La prisa es más que nada porque después se me olvida lo que he hecho.

En el caso de Openbravo POS se nos permite hacer pequeñas modificaciones sin tener demasiada idea de programación JAVA y XML, además de no necesitar ningún programa externo para descompliar el archivo JAR, sino que se hace directamente en el apartado de Mantenimiento. En otro momento explicaré los pasos y las razones para hasta llegar ahí, pero en general es poner la información que indica iZettle para los recibos físicos. Aunque de todos modos espero que en algún momento iZettle permita el acceso a la información a través de internet, libere los SDK, haga alguna API, que la aplicación del móvil mande información con el resultado de la operación a un ordenador conectado a la misma red wifi, que permita la conexión por bluetooth del izettle chip&pin al ordenador directamente o lo que sea…


¿Cómo se usa?

Bueno, pues básicamente la operativa sería la siguiente:

1. Se añaden los productos. Y ahora antes de pulsar el botón igual se informa al cliente el importe a cobrar.

uso1

2. Se realiza el cobro con iZettle y se toma nota mental de los 4 últimos número de la tarjeta y se busca en el historial de la aplicación la Referencia del cobro.

 

 

Step_2 hostorial

3. Se pulsa el botón de iZettle que aparece en la parte superior derecha y saltará un cuadro de diálogo pidiendo primero la referencia y después los cuatro últimos números de la tarjeta. Se introducen y se pulsa sobre aceptar en ambos casos.

uso2

4. Se pulsa el botón igual para que salte la ventana de cobro, se elige el cobro por tarjeta y se pulsa el botón aceptar apra confirmar la operación e imprimir el ticket.

 

uso3 uso4

 


 ¿Y cómo se instala?

Aunque parezca evidente, lo digo, lo primero es entrar en el programa y elegir como usuario Supervisor, si no no podremos hacer nada.

Y los pasos para implementarla son los siguientes:

  • Vamos al apartado Mantenimiento en la parte izquierda del programa. Y pulsamos el botón “Recursos”.

Mantenimiento

 

  • Editamos el recurso “Printer.Ticket”, cambiando el texto que hay entre #if ($paymentline.name == “magcard”) y #end por lo siguiente (y sustituyendo los datos de mi empresa por los vuestros, claro):

Recursos

 


#if ($paymentline.name == "magcard")
<line></line>
<line>
<text>------------------------------------------</text>
</line>
<line></line>
<line>
<text bold="true">Pagado con tarjeta</text>
</line>
<line></line>
<line>
<text bold="true">Masala Bcn, SCP</text>
</line>
<line>
<text>C./Marià Aguiló, 59</text>
</line>
<line>
<text>08005 – Barcelona</text>
</line>
<line></line>
<line>
<text align ="left" length="22">Cantidad:</text>
<text>${paymentline.printTotal()}</text>
</line>
<line>
<text align ="left" length="22">Moneda:</text>
<text align ="right" lenght="4">EUR</text>
</line>
<line>
<text align ="left" length="22">Fecha:</text>
<text>${ticket.printDate()}</text>
</line>
<line>
<text align ="left" length="22">Referencia:</text>
<text>#foreach ($ticketline in $ticket.getLines())${ticketline.getProperty("Prompt1", "")}#end</text>
</line>
<line>
<text align ="left" length="22">Tipo de transacción:</text>
<text>compra</text>
</line>
<line>
<text align ="left" length="22">Número de tarjeta:</text>
<text>XXXX-XXXX-XXXX-#foreach ($ticketline in $ticket.getLines())${ticketline.getProperty("Prompt2", "")}#end</text>
</line>
<line>
<text align ="left" length="22">Medio de pago:</text>
<text>lector ChipandPin</text>
</line>
<line>
<text>------------------------------------------</text>
</line>
#end

 

  • Editamos el recurso “Ticket.Buttons” añadiendo la siguiente línea debajo de <configuration> y el resto de botones:

buttons

 

<button key="button.izettle" image="img.izettle" code="payment.izettle"/>

  • Creamos un nuevo recurso llamado “payment.izettle” de tipo texto pulsando sobre el botón con la estrellita amarilla de la parte superior derecha y añadimos el siguiente código:

payment

 


line = ticket.getLine(0);

value = javax.swing.JOptionPane.showInputDialog("Escribe el código de referencia", line.getProperty("Prompt1"));

if (value != null) {

// the user pressed OK

line.setProperty("Prompt1", value);

}

value = javax.swing.JOptionPane.showInputDialog("Escribe los 4 últimos números de la tarjeta", line.getProperty("Prompt2"));

if (value != null) {

// the user pressed OK

line.setProperty("Prompt2", value);

}

  • Ahora añadimos un nuevo recurso de tipo imagen con el nombre “img.izettle” y añadimos la siguiente imagen:

img.izettle

bot

  • Y ya por último se añaden los permisos del uso del botón a los usuarios, otra vez en el apartado Mantenimiento de la parte izquierda y haciendo clic sobre Roles. Se edita el rol del supervisor, bajando al final del todo y debajo del resto de botones se añade lo siguiente:

perm

 

<class name="button.izettle"/>

  • Espero que en cada paso hayáis estado haciendo clic en el botón de guardar, que es el botón con un disco en la parte superior derecha…

 


iZettle | Acepta pagos con tarjetas con tu iPhone, iPad o Android – https://www.izettle.com/es

izettle_es

Una respuesta a “Cómo integrar (más o menos) iZettle en el TPV de EinesTIC”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *